diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-18 16:16:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-18 16:16:36 +0300 |
commit | 311b0269b4eb9839fa63f80c8d7a58f32b8138a0 (patch) | |
tree | 07e7870bca8aed6d61fdcc810731c50d2c40af47 /app/serializers | |
parent | 27909cef6c4170ed9205afa7426b8d3de47cbb0c (diff) |
Add latest changes from gitlab-org/gitlab@14-5-stable-eev14.5.0-rc42
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/alert_management/alert_entity.rb | 8 | ||||
-rw-r--r-- | app/serializers/alert_management/alert_serializer.rb | 7 | ||||
-rw-r--r-- | app/serializers/analytics_summary_entity.rb | 1 | ||||
-rw-r--r-- | app/serializers/merge_request_sidebar_extras_entity.rb | 4 | ||||
-rw-r--r-- | app/serializers/merge_request_user_entity.rb | 18 | ||||
-rw-r--r-- | app/serializers/merge_request_widget_entity.rb | 17 | ||||
-rw-r--r-- | app/serializers/note_entity.rb | 4 | ||||
-rw-r--r-- | app/serializers/service_field_entity.rb | 2 |
8 files changed, 45 insertions, 16 deletions
diff --git a/app/serializers/alert_management/alert_entity.rb b/app/serializers/alert_management/alert_entity.rb new file mode 100644 index 00000000000..6871da44887 --- /dev/null +++ b/app/serializers/alert_management/alert_entity.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module AlertManagement + class AlertEntity < Grape::Entity + expose :iid + expose :title + end +end diff --git a/app/serializers/alert_management/alert_serializer.rb b/app/serializers/alert_management/alert_serializer.rb new file mode 100644 index 00000000000..89815bf6510 --- /dev/null +++ b/app/serializers/alert_management/alert_serializer.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module AlertManagement + class AlertSerializer < BaseSerializer + entity AlertManagement::AlertEntity + end +end diff --git a/app/serializers/analytics_summary_entity.rb b/app/serializers/analytics_summary_entity.rb index 62828fc1428..dc42d7f52ad 100644 --- a/app/serializers/analytics_summary_entity.rb +++ b/app/serializers/analytics_summary_entity.rb @@ -4,6 +4,7 @@ class AnalyticsSummaryEntity < Grape::Entity expose :value, safe: true expose :title expose :unit, if: { with_unit: true } + expose :links private diff --git a/app/serializers/merge_request_sidebar_extras_entity.rb b/app/serializers/merge_request_sidebar_extras_entity.rb index 1a0111fe5d0..c211f9c1608 100644 --- a/app/serializers/merge_request_sidebar_extras_entity.rb +++ b/app/serializers/merge_request_sidebar_extras_entity.rb @@ -2,10 +2,10 @@ class MergeRequestSidebarExtrasEntity < IssuableSidebarExtrasEntity expose :assignees do |merge_request, options| - MergeRequestUserEntity.represent(merge_request.assignees, options.merge(merge_request: merge_request)) + MergeRequestUserEntity.represent(merge_request.assignees, options.merge(merge_request: merge_request, type: :assignees)) end expose :reviewers do |merge_request, options| - MergeRequestUserEntity.represent(merge_request.reviewers, options.merge(merge_request: merge_request)) + MergeRequestUserEntity.represent(merge_request.reviewers, options.merge(merge_request: merge_request, type: :reviewers)) end end diff --git a/app/serializers/merge_request_user_entity.rb b/app/serializers/merge_request_user_entity.rb index 66672494bd9..97912656bbb 100644 --- a/app/serializers/merge_request_user_entity.rb +++ b/app/serializers/merge_request_user_entity.rb @@ -16,10 +16,12 @@ class MergeRequestUserEntity < ::API::Entities::UserBasic request.current_user&.can?(:update_merge_request, options[:merge_request]) end - expose :reviewed, if: satisfies(:present?, :allows_reviewers?) do |reviewer, options| - reviewer = options[:merge_request].find_reviewer(reviewer) + expose :reviewed, if: satisfies(:present?, :allows_reviewers?) do |user, options| + find_reviewer_or_assignee(user, options)&.reviewed? + end - reviewer&.reviewed? + expose :attention_requested, if: satisfies(:present?, :allows_reviewers?, :attention_requested_enabled?) do |user, options| + find_reviewer_or_assignee(user, options)&.attention_requested? end expose :approved, if: satisfies(:present?) do |user, options| @@ -27,6 +29,16 @@ class MergeRequestUserEntity < ::API::Entities::UserBasic # makes one query per merge request, whereas #approved_by? makes one per user options[:merge_request].approvals.any? { |app| app.user_id == user.id } end + + private + + def find_reviewer_or_assignee(user, options) + if options[:type] == :reviewers + options[:merge_request].find_reviewer(user) + else + options[:merge_request].find_assignee(user) + end + end end MergeRequestUserEntity.prepend_mod_with('MergeRequestUserEntity') diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb index 1e4289ce774..bd60d60c8db 100644 --- a/app/serializers/merge_request_widget_entity.rb +++ b/app/serializers/merge_request_widget_entity.rb @@ -48,7 +48,7 @@ class MergeRequestWidgetEntity < Grape::Entity end expose :conflicts_docs_path do |merge_request| - help_page_path('user/project/merge_requests/resolve_conflicts.md') + help_page_path('user/project/merge_requests/conflicts.md') end expose :reviewing_and_managing_merge_requests_docs_path do |merge_request| @@ -64,14 +64,12 @@ class MergeRequestWidgetEntity < Grape::Entity end expose :merge_request_add_ci_config_path, if: ->(mr, _) { can_add_ci_config_path?(mr) } do |merge_request| - project_new_blob_path( - merge_request.source_project, - merge_request.source_branch, - file_name: '.gitlab-ci.yml', - commit_message: s_("CommitMessage|Add %{file_name}") % { file_name: Gitlab::FileDetector::PATTERNS[:gitlab_ci] }, - mr_path: merge_request_path(merge_request), - suggest_gitlab_ci_yml: true - ) + project = merge_request.source_project + params = { + branch_name: merge_request.source_branch, + add_new_config_file: true + } + project_ci_pipeline_editor_path(project, params) end expose :user_callouts_path do |_merge_request| @@ -177,7 +175,6 @@ class MergeRequestWidgetEntity < Grape::Entity def can_add_ci_config_path?(merge_request) merge_request.open? && merge_request.source_branch_exists? && - merge_request.source_project&.uses_default_ci_config? && !merge_request.source_project.has_ci? && merge_request.commits_count > 0 && can?(current_user, :read_build, merge_request.source_project) && diff --git a/app/serializers/note_entity.rb b/app/serializers/note_entity.rb index 8308e954c06..8f189f14dea 100644 --- a/app/serializers/note_entity.rb +++ b/app/serializers/note_entity.rb @@ -51,6 +51,10 @@ class NoteEntity < API::Entities::Note SystemNoteHelper.system_note_icon_name(note) end + expose :outdated_line_change_path, if: -> (note, _) { note.system? && note.change_position&.line_range && Feature.enabled?(:display_outdated_line_diff, note.project, default_enabled: :yaml) } do |note| + outdated_line_change_namespace_project_note_path(namespace_id: note.project.namespace, project_id: note.project, id: note) + end + expose :is_noteable_author do |note| note.noteable_author?(request.noteable) end diff --git a/app/serializers/service_field_entity.rb b/app/serializers/service_field_entity.rb index 960e216906e..aad9db5ffea 100644 --- a/app/serializers/service_field_entity.rb +++ b/app/serializers/service_field_entity.rb @@ -4,7 +4,7 @@ class ServiceFieldEntity < Grape::Entity include RequestAwareEntity include Gitlab::Utils::StrongMemoize - expose :type, :name, :placeholder, :required, :choices + expose :type, :name, :placeholder, :required, :choices, :checkbox_label expose :title do |field| non_empty_password?(field) ? field[:non_empty_password_title] : field[:title] |