summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-05-03 00:09:11 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-05-03 00:09:11 +0000
commita0754ad291e60e9411897ae4e05e01a600037ee9 (patch)
treed23b71bd0d4db9245aaa12d2fc81da20bcf0f105 /app/services
parent90693cc231ba6e1645dc57f2a9111a7b5a5ceae0 (diff)
downloadgitlab-ce-a0754ad291e60e9411897ae4e05e01a600037ee9.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services')
-rw-r--r--app/services/draft_notes/publish_service.rb3
-rw-r--r--app/services/notes/create_service.rb16
2 files changed, 15 insertions, 4 deletions
diff --git a/app/services/draft_notes/publish_service.rb b/app/services/draft_notes/publish_service.rb
index fab7a227e7d..9e1e381c568 100644
--- a/app/services/draft_notes/publish_service.rb
+++ b/app/services/draft_notes/publish_service.rb
@@ -59,7 +59,8 @@ module DraftNotes
note_params = draft.publish_params.merge(skip_keep_around_commits: skip_keep_around_commits)
note = Notes::CreateService.new(draft.project, draft.author, note_params).execute(
skip_capture_diff_note_position: skip_capture_diff_note_position,
- skip_merge_status_trigger: skip_merge_status_trigger
+ skip_merge_status_trigger: skip_merge_status_trigger,
+ skip_set_reviewed: true
)
set_discussion_resolve_status(note, draft)
diff --git a/app/services/notes/create_service.rb b/app/services/notes/create_service.rb
index 7ebeb45c925..7dd6cd9a87c 100644
--- a/app/services/notes/create_service.rb
+++ b/app/services/notes/create_service.rb
@@ -4,7 +4,7 @@ module Notes
class CreateService < ::Notes::BaseService
include IncidentManagement::UsageData
- def execute(skip_capture_diff_note_position: false, skip_merge_status_trigger: false)
+ def execute(skip_capture_diff_note_position: false, skip_merge_status_trigger: false, skip_set_reviewed: false)
note = Notes::BuildService.new(project, current_user, params.except(:merge_request_diff_head_sha)).execute
# n+1: https://gitlab.com/gitlab-org/gitlab-foss/issues/37440
@@ -38,7 +38,8 @@ module Notes
when_saved(
note,
skip_capture_diff_note_position: skip_capture_diff_note_position,
- skip_merge_status_trigger: skip_merge_status_trigger
+ skip_merge_status_trigger: skip_merge_status_trigger,
+ skip_set_reviewed: skip_set_reviewed
)
end
end
@@ -79,7 +80,9 @@ module Notes
end
end
- def when_saved(note, skip_capture_diff_note_position: false, skip_merge_status_trigger: false)
+ def when_saved(
+ note, skip_capture_diff_note_position: false, skip_merge_status_trigger: false,
+ skip_set_reviewed: false)
todo_service.new_note(note, current_user)
clear_noteable_diffs_cache(note)
Suggestions::CreateService.new(note).execute
@@ -87,6 +90,8 @@ module Notes
track_event(note, current_user)
if note.for_merge_request? && note.start_of_discussion?
+ set_reviewed(note) unless skip_set_reviewed
+
if !skip_capture_diff_note_position && note.diff_note?
Discussions::CaptureDiffNotePositionService.new(note.noteable, note.diff_file&.paths).execute(note.discussion)
end
@@ -210,6 +215,11 @@ module Notes
def track_note_creation_visual_review(note)
Gitlab::Tracking.event('Notes::CreateService', 'execute', **tracking_data_for(note))
end
+
+ def set_reviewed(note)
+ ::MergeRequests::MarkReviewerReviewedService.new(project: project, current_user: current_user)
+ .execute(note.noteable)
+ end
end
end