summaryrefslogtreecommitdiff
path: root/app/services/discussions/unresolve_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/discussions/unresolve_service.rb')
-rw-r--r--app/services/discussions/unresolve_service.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/services/discussions/unresolve_service.rb b/app/services/discussions/unresolve_service.rb
index fbd96ceafe7..f6685b79a33 100644
--- a/app/services/discussions/unresolve_service.rb
+++ b/app/services/discussions/unresolve_service.rb
@@ -12,10 +12,27 @@ module Discussions
end
def execute
+ @all_discussions_resolved_before = merge_request ? @discussion.noteable.discussions_resolved? : false
+
@discussion.unresolve!
+ send_graphql_triggers
+
Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter
.track_unresolve_thread_action(user: @user)
end
+
+ private
+
+ def merge_request
+ @discussion.noteable if @discussion.for_merge_request?
+ end
+ strong_memoize_attr :merge_request
+
+ def send_graphql_triggers
+ return unless merge_request && @all_discussions_resolved_before
+
+ GraphqlTriggers.merge_request_merge_status_updated(merge_request)
+ end
end
end