diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-19 10:33:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-19 10:33:21 +0300 |
commit | 36a59d088eca61b834191dacea009677a96c052f (patch) | |
tree | e4f33972dab5d8ef79e3944a9f403035fceea43f /app/serializers | |
parent | a1761f15ec2cae7c7f7bbda39a75494add0dfd6f (diff) |
Add latest changes from gitlab-org/gitlab@15-0-stable-eev15.0.0-rc42
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/award_emoji_entity.rb | 1 | ||||
-rw-r--r-- | app/serializers/build_details_entity.rb | 8 | ||||
-rw-r--r-- | app/serializers/ci/job_entity.rb | 1 | ||||
-rw-r--r-- | app/serializers/cluster_entity.rb | 10 | ||||
-rw-r--r-- | app/serializers/environment_entity.rb | 3 | ||||
-rw-r--r-- | app/serializers/environment_serializer.rb | 5 | ||||
-rw-r--r-- | app/serializers/issue_board_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/issue_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/issue_sidebar_basic_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/linked_issue_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/merge_request_user_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/merge_request_widget_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/release_entity.rb | 9 |
13 files changed, 36 insertions, 13 deletions
diff --git a/app/serializers/award_emoji_entity.rb b/app/serializers/award_emoji_entity.rb index 212931a2fa9..6ca782d8203 100644 --- a/app/serializers/award_emoji_entity.rb +++ b/app/serializers/award_emoji_entity.rb @@ -3,4 +3,5 @@ class AwardEmojiEntity < Grape::Entity expose :name expose :user, using: API::Entities::UserSafe + expose :url end diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb index 9fd35faf0b7..5f72259f34a 100644 --- a/app/serializers/build_details_entity.rb +++ b/app/serializers/build_details_entity.rb @@ -148,12 +148,14 @@ class BuildDetailsEntity < Ci::JobEntity end def failure_message - _("This job depends on other jobs with expired/erased artifacts: %{invalid_dependencies}") % - { invalid_dependencies: invalid_dependencies } + # We do not return the invalid_dependencies for all scenarios see https://gitlab.com/gitlab-org/gitlab/-/issues/287772#note_914406387 + punctuation = invalid_dependencies.empty? ? '.' : ': ' + _("This job could not start because it could not retrieve the needed artifacts%{punctuation}%{invalid_dependencies}") % + { invalid_dependencies: invalid_dependencies, punctuation: punctuation } end def help_message(docs_url) - html_escape(_("Please refer to %{docs_url}")) % { docs_url: "<a href=\"#{docs_url}\">#{html_escape(docs_url)}</a>".html_safe } + html_escape(_("<a href=\"#{docs_url}\">Learn more.</a>".html_safe)) end end diff --git a/app/serializers/ci/job_entity.rb b/app/serializers/ci/job_entity.rb index fca3dec74d4..b6b11e54a16 100644 --- a/app/serializers/ci/job_entity.rb +++ b/app/serializers/ci/job_entity.rb @@ -8,6 +8,7 @@ module Ci expose :name expose :started?, as: :started + expose :started_at, if: -> (job) { job.started? } expose :complete?, as: :complete expose :archived?, as: :archived diff --git a/app/serializers/cluster_entity.rb b/app/serializers/cluster_entity.rb index e2d24e74b29..df72a994143 100644 --- a/app/serializers/cluster_entity.rb +++ b/app/serializers/cluster_entity.rb @@ -19,7 +19,7 @@ class ClusterEntity < Grape::Entity Clusters::ClusterPresenter.new(cluster).show_path # rubocop: disable CodeReuse/Presenter end - expose :gitlab_managed_apps_logs_path do |cluster| + expose :gitlab_managed_apps_logs_path, if: -> (*) { logging_enabled? } do |cluster| Clusters::ClusterPresenter.new(cluster, current_user: request.current_user).gitlab_managed_apps_logs_path # rubocop: disable CodeReuse/Presenter end @@ -27,7 +27,13 @@ class ClusterEntity < Grape::Entity Clusters::KubernetesErrorEntity.new(cluster) end - expose :enable_advanced_logs_querying do |cluster| + expose :enable_advanced_logs_querying, if: -> (*) { logging_enabled? } do |cluster| cluster.elastic_stack_available? end + + private + + def logging_enabled? + Feature.enabled?(:monitor_logging, object.project) + end end diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb index 634be365a9d..ac99463bd64 100644 --- a/app/serializers/environment_entity.rb +++ b/app/serializers/environment_entity.rb @@ -103,7 +103,8 @@ class EnvironmentEntity < Grape::Entity end def can_read_pod_logs? - can?(current_user, :read_pod_logs, environment.project) + Feature.enabled?(:monitor_logging, environment.project) && + can?(current_user, :read_pod_logs, environment.project) end def can_read_deploy_board? diff --git a/app/serializers/environment_serializer.rb b/app/serializers/environment_serializer.rb index a8645c8670d..b13140efea7 100644 --- a/app/serializers/environment_serializer.rb +++ b/app/serializers/environment_serializer.rb @@ -81,7 +81,10 @@ class EnvironmentSerializer < BaseSerializer { user: [], cluster: [], - project: [], + project: { + route: [], + namespace: :route + }, deployable: { user: [], metadata: [], diff --git a/app/serializers/issue_board_entity.rb b/app/serializers/issue_board_entity.rb index 4b9c48f3f7c..bcad28d6aad 100644 --- a/app/serializers/issue_board_entity.rb +++ b/app/serializers/issue_board_entity.rb @@ -37,7 +37,7 @@ class IssueBoardEntity < Grape::Entity end expose :real_path, if: -> (issue) { issue.project } do |issue| - project_issue_path(issue.project, issue) + Gitlab::UrlBuilder.build(issue, only_path: true) end expose :issue_sidebar_endpoint, if: -> (issue) { issue.project } do |issue| diff --git a/app/serializers/issue_entity.rb b/app/serializers/issue_entity.rb index fbcfcf84d9b..852a2e62b7d 100644 --- a/app/serializers/issue_entity.rb +++ b/app/serializers/issue_entity.rb @@ -31,7 +31,7 @@ class IssueEntity < IssuableEntity end expose :web_url do |issue| - project_issue_path(issue.project, issue) + Gitlab::UrlBuilder.build(issue, only_path: true) end expose :current_user do diff --git a/app/serializers/issue_sidebar_basic_entity.rb b/app/serializers/issue_sidebar_basic_entity.rb index 7222b5df425..2450c6a4d85 100644 --- a/app/serializers/issue_sidebar_basic_entity.rb +++ b/app/serializers/issue_sidebar_basic_entity.rb @@ -12,7 +12,7 @@ class IssueSidebarBasicEntity < IssuableSidebarBasicEntity end expose :show_crm_contacts do |issuable| - current_user&.can?(:read_crm_contact, issuable.project.root_ancestor) && + current_user&.can?(:read_crm_contacts, issuable) && CustomerRelations::Contact.exists_for_group?(issuable.project.root_ancestor) end end diff --git a/app/serializers/linked_issue_entity.rb b/app/serializers/linked_issue_entity.rb index 6ae3f4044db..769e3ed7310 100644 --- a/app/serializers/linked_issue_entity.rb +++ b/app/serializers/linked_issue_entity.rb @@ -18,7 +18,7 @@ class LinkedIssueEntity < Grape::Entity end expose :path do |link| - project_issue_path(link.project, link.iid) + Gitlab::UrlBuilder.build(link, only_path: true) end expose :relation_path diff --git a/app/serializers/merge_request_user_entity.rb b/app/serializers/merge_request_user_entity.rb index 97912656bbb..12c573d1a13 100644 --- a/app/serializers/merge_request_user_entity.rb +++ b/app/serializers/merge_request_user_entity.rb @@ -20,7 +20,7 @@ class MergeRequestUserEntity < ::API::Entities::UserBasic find_reviewer_or_assignee(user, options)&.reviewed? end - expose :attention_requested, if: satisfies(:present?, :allows_reviewers?, :attention_requested_enabled?) do |user, options| + expose :attention_requested, if: ->(_, options) { options[:merge_request].present? && options[:merge_request].allows_reviewers? && request.current_user&.mr_attention_requests_enabled? } do |user, options| find_reviewer_or_assignee(user, options)&.attention_requested? end diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb index 21ab20747d0..5bf91ed0a51 100644 --- a/app/serializers/merge_request_widget_entity.rb +++ b/app/serializers/merge_request_widget_entity.rb @@ -143,7 +143,7 @@ class MergeRequestWidgetEntity < Grape::Entity end expose :security_reports_docs_path do |merge_request| - help_page_path('user/application_security/index.md', anchor: 'viewing-security-scan-information-in-merge-requests') + help_page_path('user/application_security/index.md', anchor: 'view-security-scan-information-in-merge-requests') end expose :enabled_reports do |merge_request| diff --git a/app/serializers/release_entity.rb b/app/serializers/release_entity.rb index 6777b0f9780..5c3d06b82d3 100644 --- a/app/serializers/release_entity.rb +++ b/app/serializers/release_entity.rb @@ -1,6 +1,15 @@ # frozen_string_literal: true +# TODO: consider removing this entity after https://gitlab.com/gitlab-org/gitlab/-/issues/360631 class ReleaseEntity < Grape::Entity expose :id expose :tag # see https://gitlab.com/gitlab-org/gitlab/-/issues/36338 + expose :name + expose :description + expose :project_id + expose :author_id + + expose :created_at + expose :updated_at + expose :released_at end |