diff options
Diffstat (limited to 'app/serializers/base_discussion_entity.rb')
-rw-r--r-- | app/serializers/base_discussion_entity.rb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/app/serializers/base_discussion_entity.rb b/app/serializers/base_discussion_entity.rb index 7d3b9651b8b..0b006078343 100644 --- a/app/serializers/base_discussion_entity.rb +++ b/app/serializers/base_discussion_entity.rb @@ -15,7 +15,6 @@ class BaseDiscussionEntity < Grape::Entity expose :for_commit?, as: :for_commit expose :individual_note?, as: :individual_note expose :resolvable?, as: :resolvable - expose :resolved_by_push?, as: :resolved_by_push expose :truncated_diff_lines, using: DiffLineEntity, if: -> (d, _) { d.diff_discussion? && d.on_text? && (d.expanded? || render_truncated_diff_lines?) } @@ -34,18 +33,23 @@ class BaseDiscussionEntity < Grape::Entity discussion_path(discussion) end - with_options if: -> (d, _) { d.resolvable? } do + with_options if: -> (d, _) { d.noteable.supports_resolvable_notes? } do + expose :resolved?, as: :resolved + expose :resolved_by_push?, as: :resolved_by_push + expose :resolved_by, using: NoteUserEntity + expose :resolved_at + expose :resolve_path do |discussion| - resolve_project_merge_request_discussion_path(discussion.project, discussion.noteable, discussion.id) + resolve_project_discussion_path(discussion.project, discussion.noteable_collection_name, discussion.noteable, discussion.id) end - expose :resolve_with_issue_path do |discussion| + expose :resolve_with_issue_path, if: -> (d, _) { d.noteable.is_a?(MergeRequest) } do |discussion| new_project_issue_path(discussion.project, merge_request_to_resolve_discussions_of: discussion.noteable.iid, discussion_to_resolve: discussion.id) if discussion&.project&.issues_enabled? end end expose :truncated_diff_lines_path, if: -> (d, _) { !d.expanded? && !render_truncated_diff_lines? } do |discussion| - project_merge_request_discussion_path(discussion.project, discussion.noteable, discussion) + project_discussion_path(discussion.project, discussion.noteable_collection_name, discussion.noteable, discussion) end private |