diff options
Diffstat (limited to 'app/serializers/discussion_entity.rb')
-rw-r--r-- | app/serializers/discussion_entity.rb | 15 |
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 |