summaryrefslogtreecommitdiff
path: root/app/serializers/discussion_entity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/discussion_entity.rb')
-rw-r--r--app/serializers/discussion_entity.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/app/serializers/discussion_entity.rb b/app/serializers/discussion_entity.rb
index e302672042e..77881eaba0c 100644
--- a/app/serializers/discussion_entity.rb
+++ b/app/serializers/discussion_entity.rb
@@ -20,6 +20,14 @@ class DiscussionEntity < Grape::Entity
discussion_path(discussion)
end
+ expose :positions, if: -> (d, _) { display_merge_ref_discussions?(d) } do |discussion|
+ discussion.diff_note_positions.map(&:position)
+ end
+
+ expose :line_codes, if: -> (d, _) { display_merge_ref_discussions?(d) } do |discussion|
+ discussion.diff_note_positions.map(&:line_code)
+ end
+
expose :individual_note?, as: :individual_note
expose :resolvable do |discussion|
discussion.resolvable?
@@ -59,4 +67,11 @@ class DiscussionEntity < Grape::Entity
def current_user
request.current_user
end
+
+ def display_merge_ref_discussions?(discussion)
+ return unless discussion.diff_discussion?
+ return if discussion.legacy_diff_discussion?
+
+ Feature.enabled?(:merge_ref_head_comments, discussion.project)
+ end
end