diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-20 18:38:24 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-20 18:38:24 +0000 |
commit | 983a0bba5d2a042c4a3bbb22432ec192c7501d82 (patch) | |
tree | b153cd387c14ba23bd5a07514c7c01fddf6a78a0 /app/serializers | |
parent | a2bddee2cdb38673df0e004d5b32d9f77797de64 (diff) | |
download | gitlab-ce-983a0bba5d2a042c4a3bbb22432ec192c7501d82.tar.gz |
Add latest changes from gitlab-org/gitlab@12-10-stable-ee
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/analytics_summary_entity.rb | 8 | ||||
-rw-r--r-- | app/serializers/cluster_application_entity.rb | 3 | ||||
-rw-r--r-- | app/serializers/discussion_entity.rb | 15 | ||||
-rw-r--r-- | app/serializers/merge_request_basic_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/merge_request_poll_cached_widget_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/merge_request_serializer.rb | 4 | ||||
-rw-r--r-- | app/serializers/route_entity.rb | 8 | ||||
-rw-r--r-- | app/serializers/route_serializer.rb | 5 |
8 files changed, 45 insertions, 2 deletions
diff --git a/app/serializers/analytics_summary_entity.rb b/app/serializers/analytics_summary_entity.rb index b9797bfb021..57e9225e2da 100644 --- a/app/serializers/analytics_summary_entity.rb +++ b/app/serializers/analytics_summary_entity.rb @@ -4,4 +4,12 @@ class AnalyticsSummaryEntity < Grape::Entity expose :value, safe: true expose :title expose :unit, if: { with_unit: true } + + private + + def value + return object.value if object.value.is_a? String + + object.value&.nonzero? ? object.value.to_s : '-' + end end diff --git a/app/serializers/cluster_application_entity.rb b/app/serializers/cluster_application_entity.rb index c08691c6bcf..85a40f1f5cb 100644 --- a/app/serializers/cluster_application_entity.rb +++ b/app/serializers/cluster_application_entity.rb @@ -16,4 +16,7 @@ class ClusterApplicationEntity < Grape::Entity expose :available_domains, using: Serverless::DomainEntity, if: -> (e, _) { e.respond_to?(:available_domains) } expose :pages_domain, using: Serverless::DomainEntity, if: -> (e, _) { e.respond_to?(:pages_domain) } expose :modsecurity_mode, if: -> (e, _) { e.respond_to?(:modsecurity_mode) } + expose :host, if: -> (e, _) { e.respond_to?(:host) } + expose :port, if: -> (e, _) { e.respond_to?(:port) } + expose :protocol, if: -> (e, _) { e.respond_to?(:protocol) } end 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 diff --git a/app/serializers/merge_request_basic_entity.rb b/app/serializers/merge_request_basic_entity.rb index 973e971b4c0..82baf4a4a78 100644 --- a/app/serializers/merge_request_basic_entity.rb +++ b/app/serializers/merge_request_basic_entity.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class MergeRequestBasicEntity < Grape::Entity - expose :merge_status + expose :public_merge_status, as: :merge_status expose :merge_error expose :state expose :source_branch_exists?, as: :source_branch_exists diff --git a/app/serializers/merge_request_poll_cached_widget_entity.rb b/app/serializers/merge_request_poll_cached_widget_entity.rb index 2f8eb6650e8..72f629b3507 100644 --- a/app/serializers/merge_request_poll_cached_widget_entity.rb +++ b/app/serializers/merge_request_poll_cached_widget_entity.rb @@ -6,7 +6,7 @@ class MergeRequestPollCachedWidgetEntity < IssuableEntity expose :merge_commit_sha expose :short_merge_commit_sha expose :merge_error - expose :merge_status + expose :public_merge_status, as: :merge_status expose :merge_user_id expose :source_branch expose :source_project_id diff --git a/app/serializers/merge_request_serializer.rb b/app/serializers/merge_request_serializer.rb index aa67cd1f39e..9fd50c8c51d 100644 --- a/app/serializers/merge_request_serializer.rb +++ b/app/serializers/merge_request_serializer.rb @@ -15,6 +15,10 @@ class MergeRequestSerializer < BaseSerializer MergeRequestBasicEntity when 'noteable' MergeRequestNoteableEntity + when 'poll_cached_widget' + MergeRequestPollCachedWidgetEntity + when 'poll_widget' + MergeRequestPollWidgetEntity else # fallback to widget for old poll requests without `serializer` set MergeRequestWidgetEntity diff --git a/app/serializers/route_entity.rb b/app/serializers/route_entity.rb new file mode 100644 index 00000000000..158fda5e00e --- /dev/null +++ b/app/serializers/route_entity.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class RouteEntity < Grape::Entity + expose :id + expose :source_id + expose :source_type + expose :path +end diff --git a/app/serializers/route_serializer.rb b/app/serializers/route_serializer.rb new file mode 100644 index 00000000000..0b187588301 --- /dev/null +++ b/app/serializers/route_serializer.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +class RouteSerializer < BaseSerializer + entity RouteEntity +end |