Skip to content
Snippets Groups Projects

Model changes for code owner approval rules

Merged Bob Van Landuyt requested to merge reprazent/gitlab-ee:bvl-codeowner-rules-model into master
All threads resolved!
6 files
+ 100
6
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -7,6 +7,10 @@ class ApprovalMergeRequestRule < ApplicationRecord
scope :regular, -> { where(code_owner: false) }
scope :code_owner, -> { where(code_owner: true) } # special code owner rules, updated internally when code changes
scope :not_matching_pattern, -> (pattern) { code_owner.where.not(name: pattern) }
scope :matching_pattern, -> (pattern) { code_owner.where(name: pattern) }
validates :name, uniqueness: { scope: [:merge_request] }, if: :code_owner
belongs_to :merge_request
@@ -15,6 +19,13 @@ class ApprovalMergeRequestRule < ApplicationRecord
has_one :approval_merge_request_rule_source
has_one :approval_project_rule, through: :approval_merge_request_rule_source
def self.find_or_create_code_owner_rule(merge_request, pattern)
merge_request.approval_rules.safe_find_or_create_by(
code_owner: true,
name: pattern
)
end
def project
merge_request.target_project
end
Loading