Class: MergeRequests::SetReviewerReviewedWorker

Inherits:
Object
  • Object
show all
Includes:
Gitlab::EventStore::Subscriber
Defined in:
app/workers/merge_requests/set_reviewer_reviewed_worker.rb

Instance Method Summary collapse

Methods included from Gitlab::EventStore::Subscriber

#perform

Instance Method Details

#handle_event(event) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/workers/merge_requests/set_reviewer_reviewed_worker.rb', line 12

def handle_event(event)
  current_user_id = event.data[:current_user_id]
  merge_request_id = event.data[:merge_request_id]
  current_user = User.find_by_id(current_user_id)
  merge_request = MergeRequest.find_by_id(merge_request_id)

  if !current_user
    logger.info(structured_payload(message: 'Current user not found.', current_user_id: current_user_id))
  elsif !merge_request
    logger.info(structured_payload(message: 'Merge request not found.', merge_request_id: merge_request_id))
  else
    project = merge_request.source_project

    ::MergeRequests::MarkReviewerReviewedService.new(project: project, current_user: current_user)
      .execute(merge_request)
  end
end