diff options
Diffstat (limited to 'app/services/discussions/unresolve_service.rb')
-rw-r--r-- | app/services/discussions/unresolve_service.rb | 17 |
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 |