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
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/notification_recipients/builder/new_review.rb')
-rw-r--r--app/services/notification_recipients/builder/new_review.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/app/services/notification_recipients/builder/new_review.rb b/app/services/notification_recipients/builder/new_review.rb
new file mode 100644
index 00000000000..3b1296f6967
--- /dev/null
+++ b/app/services/notification_recipients/builder/new_review.rb
@@ -0,0 +1,43 @@
+# frozen_string_literal: true
+
+module NotificationRecipients
+ module Builder
+ class NewReview < Base
+ attr_reader :review
+ def initialize(review)
+ @review = review
+ end
+
+ def target
+ review.merge_request
+ end
+
+ def project
+ review.project
+ end
+
+ def group
+ project.group
+ end
+
+ def build!
+ add_participants(review.author)
+ add_mentions(review.author, target: review)
+ add_project_watchers
+ add_custom_notifications
+ add_subscribed_users
+ end
+
+ # A new review is a batch of new notes
+ # therefore new_note subscribers should also
+ # receive incoming new reviews
+ def custom_action
+ :new_note
+ end
+
+ def acting_user
+ review.author
+ end
+ end
+ end
+end