Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-15 06:14:24 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-15 06:14:24 +0300
commitd482517583173924ba7961a2b0e9e07d1b51bb78 (patch)
tree01ef6769846a451c4e3539caa1e32f54dd001157 /app
parent9b0b4d9b9484aaeb82de5f24942460c679ae909e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/models/issue.rb1
-rw-r--r--app/models/merge_request.rb1
-rw-r--r--app/models/resource_events/issue_assignment_event.rb14
-rw-r--r--app/models/resource_events/merge_request_assignment_event.rb14
-rw-r--r--app/models/user.rb2
5 files changed, 32 insertions, 0 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 77dcaf9336c..8ace5dfff57 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -118,6 +118,7 @@ class Issue < ApplicationRecord
has_many :issue_customer_relations_contacts, class_name: 'CustomerRelations::IssueContact', inverse_of: :issue
has_many :customer_relations_contacts, through: :issue_customer_relations_contacts, source: :contact, class_name: 'CustomerRelations::Contact', inverse_of: :issues
has_many :incident_management_timeline_events, class_name: 'IncidentManagement::TimelineEvent', foreign_key: :issue_id, inverse_of: :incident
+ has_many :assignment_events, class_name: 'ResourceEvents::IssueAssignmentEvent', inverse_of: :issue
alias_attribute :escalation_status, :incident_management_issuable_escalation_status
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index ab6c58498ad..1e7ff6e8f0e 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -122,6 +122,7 @@ class MergeRequest < ApplicationRecord
has_many :reviews, inverse_of: :merge_request
has_many :reviewed_by_users, -> { distinct }, through: :reviews, source: :author
has_many :created_environments, class_name: 'Environment', foreign_key: :merge_request_id, inverse_of: :merge_request
+ has_many :assignment_events, class_name: 'ResourceEvents::MergeRequestAssignmentEvent', inverse_of: :merge_request
KNOWN_MERGE_PARAMS = [
:auto_merge_strategy,
diff --git a/app/models/resource_events/issue_assignment_event.rb b/app/models/resource_events/issue_assignment_event.rb
new file mode 100644
index 00000000000..b24f181bc48
--- /dev/null
+++ b/app/models/resource_events/issue_assignment_event.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+module ResourceEvents
+ class IssueAssignmentEvent < ApplicationRecord
+ self.table_name = :issue_assignment_events
+
+ belongs_to :user, optional: true
+ belongs_to :issue
+
+ validates :issue, presence: true
+
+ enum action: { add: 1, remove: 2 }
+ end
+end
diff --git a/app/models/resource_events/merge_request_assignment_event.rb b/app/models/resource_events/merge_request_assignment_event.rb
new file mode 100644
index 00000000000..898594b7008
--- /dev/null
+++ b/app/models/resource_events/merge_request_assignment_event.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+module ResourceEvents
+ class MergeRequestAssignmentEvent < ApplicationRecord
+ self.table_name = :merge_request_assignment_events
+
+ belongs_to :user, optional: true
+ belongs_to :merge_request
+
+ validates :merge_request, presence: true
+
+ enum action: { add: 1, remove: 2 }
+ end
+end
diff --git a/app/models/user.rb b/app/models/user.rb
index 16b4e604a9e..52c80a7e579 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -266,6 +266,8 @@ class User < ApplicationRecord
has_many :resource_label_events, dependent: :nullify # rubocop:disable Cop/ActiveRecordDependent
has_many :resource_state_events, dependent: :nullify # rubocop:disable Cop/ActiveRecordDependent
+ has_many :issue_assignment_events, class_name: 'ResourceEvents::IssueAssignmentEvent', dependent: :nullify # rubocop:disable Cop/ActiveRecordDependent
+ has_many :merge_request_assignment_events, class_name: 'ResourceEvents::MergeRequestAssignmentEvent', dependent: :nullify # rubocop:disable Cop/ActiveRecordDependent
has_many :authored_events, class_name: 'Event', dependent: :destroy, foreign_key: :author_id # rubocop:disable Cop/ActiveRecordDependent
has_many :namespace_commit_emails, class_name: 'Users::NamespaceCommitEmail'
has_many :user_achievements, class_name: 'Achievements::UserAchievement', inverse_of: :user