diff options
Diffstat (limited to 'app/services/notification_recipients')
-rw-r--r-- | app/services/notification_recipients/build_service.rb | 4 | ||||
-rw-r--r-- | app/services/notification_recipients/builder/request_review.rb | 21 |
2 files changed, 25 insertions, 0 deletions
diff --git a/app/services/notification_recipients/build_service.rb b/app/services/notification_recipients/build_service.rb index 040ecc29d3a..52070abbad7 100644 --- a/app/services/notification_recipients/build_service.rb +++ b/app/services/notification_recipients/build_service.rb @@ -36,5 +36,9 @@ module NotificationRecipients def self.build_new_review_recipients(*args) ::NotificationRecipients::Builder::NewReview.new(*args).notification_recipients end + + def self.build_requested_review_recipients(*args) + ::NotificationRecipients::Builder::RequestReview.new(*args).notification_recipients + end end end diff --git a/app/services/notification_recipients/builder/request_review.rb b/app/services/notification_recipients/builder/request_review.rb new file mode 100644 index 00000000000..911d89c6a8e --- /dev/null +++ b/app/services/notification_recipients/builder/request_review.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module NotificationRecipients + module Builder + class RequestReview < Base + attr_reader :merge_request, :current_user, :reviewer + + def initialize(merge_request, current_user, reviewer) + @merge_request, @current_user, @reviewer = merge_request, current_user, reviewer + end + + def target + merge_request + end + + def build! + add_recipients(reviewer, :mention, NotificationReason::REVIEW_REQUESTED) + end + end + end +end |