2018-07-16 16:31:01 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-02-27 17:12:52 +00:00
|
|
|
module Issues
|
|
|
|
module ResolveDiscussions
|
2017-11-17 12:27:16 +00:00
|
|
|
include Gitlab::Utils::StrongMemoize
|
|
|
|
|
2017-03-10 08:19:12 +00:00
|
|
|
attr_reader :merge_request_to_resolve_discussions_of_iid, :discussion_to_resolve_id
|
2017-02-27 17:12:52 +00:00
|
|
|
|
2017-11-22 07:50:36 +00:00
|
|
|
# rubocop:disable Gitlab/ModuleWithInstanceVariables
|
2017-02-27 17:12:52 +00:00
|
|
|
def filter_resolve_discussion_params
|
2017-03-10 08:19:12 +00:00
|
|
|
@merge_request_to_resolve_discussions_of_iid ||= params.delete(:merge_request_to_resolve_discussions_of)
|
2017-02-27 17:12:52 +00:00
|
|
|
@discussion_to_resolve_id ||= params.delete(:discussion_to_resolve)
|
|
|
|
end
|
2017-11-22 07:50:36 +00:00
|
|
|
# rubocop:enable Gitlab/ModuleWithInstanceVariables
|
2017-02-27 17:12:52 +00:00
|
|
|
|
2018-08-27 15:31:01 +00:00
|
|
|
# rubocop: disable CodeReuse/ActiveRecord
|
2017-03-10 08:19:12 +00:00
|
|
|
def merge_request_to_resolve_discussions_of
|
2017-11-17 12:27:16 +00:00
|
|
|
strong_memoize(:merge_request_to_resolve_discussions_of) do
|
|
|
|
MergeRequestsFinder.new(current_user, project_id: project.id)
|
|
|
|
.find_by(iid: merge_request_to_resolve_discussions_of_iid)
|
|
|
|
end
|
2017-02-27 17:12:52 +00:00
|
|
|
end
|
2018-08-27 15:31:01 +00:00
|
|
|
# rubocop: enable CodeReuse/ActiveRecord
|
2017-02-27 17:12:52 +00:00
|
|
|
|
|
|
|
def discussions_to_resolve
|
2017-03-10 08:19:12 +00:00
|
|
|
return [] unless merge_request_to_resolve_discussions_of
|
2017-02-27 17:12:52 +00:00
|
|
|
|
2017-11-22 07:50:36 +00:00
|
|
|
@discussions_to_resolve ||= # rubocop:disable Gitlab/ModuleWithInstanceVariables
|
2017-03-08 00:39:11 +00:00
|
|
|
if discussion_to_resolve_id
|
2017-03-10 08:19:12 +00:00
|
|
|
discussion_or_nil = merge_request_to_resolve_discussions_of
|
2017-03-17 19:25:52 +00:00
|
|
|
.find_discussion(discussion_to_resolve_id)
|
2017-03-08 00:39:11 +00:00
|
|
|
Array(discussion_or_nil)
|
|
|
|
else
|
2017-03-10 08:19:12 +00:00
|
|
|
merge_request_to_resolve_discussions_of
|
2017-03-10 01:29:11 +00:00
|
|
|
.discussions_to_be_resolved
|
2017-03-08 00:39:11 +00:00
|
|
|
end
|
2017-02-27 17:12:52 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|