Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 18:44:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 18:44:42 +0300
commit4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch)
tree5423a1c7516cffe36384133ade12572cf709398d /app/serializers
parente570267f2f6b326480d284e0164a6464ba4081bc (diff)
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'app/serializers')
-rw-r--r--app/serializers/admin/user_entity.rb2
-rw-r--r--app/serializers/analytics/cycle_analytics/configuration_entity.rb22
-rw-r--r--app/serializers/analytics/cycle_analytics/event_entity.rb37
-rw-r--r--app/serializers/analytics/cycle_analytics/stage_entity.rb38
-rw-r--r--app/serializers/analytics/cycle_analytics/value_stream_entity.rb24
-rw-r--r--app/serializers/analytics/cycle_analytics/value_stream_serializer.rb9
-rw-r--r--app/serializers/blob_entity.rb2
-rw-r--r--app/serializers/board_simple_entity.rb2
-rw-r--r--app/serializers/build_details_entity.rb2
-rw-r--r--app/serializers/ci/downloadable_artifact_entity.rb17
-rw-r--r--app/serializers/ci/downloadable_artifact_serializer.rb7
-rw-r--r--app/serializers/ci/pipeline_entity.rb2
-rw-r--r--app/serializers/cluster_entity.rb2
-rw-r--r--app/serializers/context_commits_diff_entity.rb20
-rw-r--r--app/serializers/current_board_entity.rb2
-rw-r--r--app/serializers/deployment_entity.rb2
-rw-r--r--app/serializers/diffs_entity.rb9
-rw-r--r--app/serializers/discussion_serializer.rb2
-rw-r--r--app/serializers/environment_entity.rb4
-rw-r--r--app/serializers/environment_serializer.rb6
-rw-r--r--app/serializers/evidences/release_entity.rb2
-rw-r--r--app/serializers/fork_namespace_entity.rb2
-rw-r--r--app/serializers/group_child_entity.rb2
-rw-r--r--app/serializers/group_issuable_autocomplete_entity.rb9
-rw-r--r--app/serializers/group_issuable_autocomplete_serializer.rb5
-rw-r--r--app/serializers/issuable_sidebar_basic_entity.rb2
-rw-r--r--app/serializers/issue_board_entity.rb4
-rw-r--r--app/serializers/issue_entity.rb2
-rw-r--r--app/serializers/issue_sidebar_basic_entity.rb2
-rw-r--r--app/serializers/issue_sidebar_extras_entity.rb2
-rw-r--r--app/serializers/job_entity.rb1
-rw-r--r--app/serializers/member_entity.rb2
-rw-r--r--app/serializers/member_user_entity.rb2
-rw-r--r--app/serializers/merge_request_poll_cached_widget_entity.rb2
-rw-r--r--app/serializers/merge_request_poll_widget_entity.rb2
-rw-r--r--app/serializers/merge_request_serializer.rb2
-rw-r--r--app/serializers/merge_request_user_entity.rb2
-rw-r--r--app/serializers/merge_request_widget_entity.rb4
-rw-r--r--app/serializers/note_entity.rb2
-rw-r--r--app/serializers/note_user_entity.rb2
-rw-r--r--app/serializers/pipeline_details_entity.rb14
-rw-r--r--app/serializers/pipeline_serializer.rb6
-rw-r--r--app/serializers/project_mirror_entity.rb2
-rw-r--r--app/serializers/test_case_entity.rb2
-rw-r--r--app/serializers/user_entity.rb2
-rw-r--r--app/serializers/user_preference_entity.rb2
-rw-r--r--app/serializers/user_serializer.rb2
47 files changed, 243 insertions, 51 deletions
diff --git a/app/serializers/admin/user_entity.rb b/app/serializers/admin/user_entity.rb
index a5cf40a50b9..8fab1fa3a3e 100644
--- a/app/serializers/admin/user_entity.rb
+++ b/app/serializers/admin/user_entity.rb
@@ -31,4 +31,4 @@ module Admin
end
end
-Admin::UserEntity.prepend_if_ee('EE::Admin::UserEntity')
+Admin::UserEntity.prepend_mod_with('Admin::UserEntity')
diff --git a/app/serializers/analytics/cycle_analytics/configuration_entity.rb b/app/serializers/analytics/cycle_analytics/configuration_entity.rb
new file mode 100644
index 00000000000..45ea7c92758
--- /dev/null
+++ b/app/serializers/analytics/cycle_analytics/configuration_entity.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+module Analytics
+ module CycleAnalytics
+ class ConfigurationEntity < Grape::Entity
+ include RequestAwareEntity
+
+ expose :events, using: Analytics::CycleAnalytics::EventEntity
+ expose :stages, using: Analytics::CycleAnalytics::StageEntity
+
+ private
+
+ def events
+ (stage_events.events - stage_events.internal_events).sort_by(&:name)
+ end
+
+ def stage_events
+ Gitlab::Analytics::CycleAnalytics::StageEvents
+ end
+ end
+ end
+end
diff --git a/app/serializers/analytics/cycle_analytics/event_entity.rb b/app/serializers/analytics/cycle_analytics/event_entity.rb
new file mode 100644
index 00000000000..b9abf722c8d
--- /dev/null
+++ b/app/serializers/analytics/cycle_analytics/event_entity.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+module Analytics
+ module CycleAnalytics
+ class EventEntity < Grape::Entity
+ expose :name
+ expose :identifier
+ expose :type
+ expose :can_be_start_event?, as: :can_be_start_event
+ expose :allowed_end_events
+
+ private
+
+ def type
+ object.label_based? ? 'label' : 'simple'
+ end
+
+ def can_be_start_event?
+ pairing_rules.has_key?(object)
+ end
+
+ def allowed_end_events
+ pairing_rules.fetch(object, []).map do |event|
+ event.identifier unless stage_events.internal_events.include?(event)
+ end.compact
+ end
+
+ def pairing_rules
+ stage_events.pairing_rules
+ end
+
+ def stage_events
+ Gitlab::Analytics::CycleAnalytics::StageEvents
+ end
+ end
+ end
+end
diff --git a/app/serializers/analytics/cycle_analytics/stage_entity.rb b/app/serializers/analytics/cycle_analytics/stage_entity.rb
new file mode 100644
index 00000000000..b24148802d0
--- /dev/null
+++ b/app/serializers/analytics/cycle_analytics/stage_entity.rb
@@ -0,0 +1,38 @@
+# frozen_string_literal: true
+
+module Analytics
+ module CycleAnalytics
+ class StageEntity < Grape::Entity
+ expose :title
+ expose :hidden
+ expose :legend
+ expose :description
+ expose :id
+ expose :custom
+ expose :start_event_identifier, if: -> (s) { s.custom? }
+ expose :end_event_identifier, if: -> (s) { s.custom? }
+ expose :start_event_label, using: LabelEntity, if: -> (s) { s.start_event_label_based? }
+ expose :end_event_label, using: LabelEntity, if: -> (s) { s.end_event_label_based? }
+ expose :start_event_html_description
+ expose :end_event_html_description
+
+ def id
+ object.id || object.name
+ end
+
+ def start_event_html_description
+ html_description(object.start_event)
+ end
+
+ def end_event_html_description
+ html_description(object.end_event)
+ end
+
+ private
+
+ def html_description(event)
+ Banzai::Renderer.render(event.markdown_description, { group: object.group, project: nil })
+ end
+ end
+ end
+end
diff --git a/app/serializers/analytics/cycle_analytics/value_stream_entity.rb b/app/serializers/analytics/cycle_analytics/value_stream_entity.rb
new file mode 100644
index 00000000000..1943efcc63d
--- /dev/null
+++ b/app/serializers/analytics/cycle_analytics/value_stream_entity.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+module Analytics
+ module CycleAnalytics
+ class ValueStreamEntity < Grape::Entity
+ expose :name
+ expose :id
+ expose :is_custom do |object|
+ object.custom?
+ end
+ expose :stages, using: Analytics::CycleAnalytics::StageEntity
+
+ private
+
+ def id
+ object.id || object.name # use the name `default` if the record is not persisted
+ end
+
+ def stages
+ object.stages.map { |s| ::Analytics::CycleAnalytics::StagePresenter.new(s) } # rubocop: disable CodeReuse/Presenter
+ end
+ end
+ end
+end
diff --git a/app/serializers/analytics/cycle_analytics/value_stream_serializer.rb b/app/serializers/analytics/cycle_analytics/value_stream_serializer.rb
new file mode 100644
index 00000000000..ffd7aa882e4
--- /dev/null
+++ b/app/serializers/analytics/cycle_analytics/value_stream_serializer.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+module Analytics
+ module CycleAnalytics
+ class ValueStreamSerializer < BaseSerializer
+ entity ::Analytics::CycleAnalytics::ValueStreamEntity
+ end
+ end
+end
diff --git a/app/serializers/blob_entity.rb b/app/serializers/blob_entity.rb
index a54af899ba2..6dde35a9415 100644
--- a/app/serializers/blob_entity.rb
+++ b/app/serializers/blob_entity.rb
@@ -16,4 +16,4 @@ class BlobEntity < Grape::Entity
end
end
-BlobEntity.prepend_if_ee('EE::BlobEntity')
+BlobEntity.prepend_mod_with('BlobEntity')
diff --git a/app/serializers/board_simple_entity.rb b/app/serializers/board_simple_entity.rb
index a3c16a0b5c7..ab625490966 100644
--- a/app/serializers/board_simple_entity.rb
+++ b/app/serializers/board_simple_entity.rb
@@ -5,4 +5,4 @@ class BoardSimpleEntity < Grape::Entity
expose :name
end
-BoardSimpleEntity.prepend_if_ee('EE::BoardSimpleEntity')
+BoardSimpleEntity.prepend_mod_with('BoardSimpleEntity')
diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb
index 0ddcad4dcb9..6fbd14f523d 100644
--- a/app/serializers/build_details_entity.rb
+++ b/app/serializers/build_details_entity.rb
@@ -155,4 +155,4 @@ class BuildDetailsEntity < JobEntity
end
end
-BuildDetailsEntity.prepend_if_ee('::EE::BuildDetailEntity')
+BuildDetailsEntity.prepend_mod_with('BuildDetailEntity')
diff --git a/app/serializers/ci/downloadable_artifact_entity.rb b/app/serializers/ci/downloadable_artifact_entity.rb
new file mode 100644
index 00000000000..1f3885f0715
--- /dev/null
+++ b/app/serializers/ci/downloadable_artifact_entity.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Ci
+ class DownloadableArtifactEntity < Grape::Entity
+ include RequestAwareEntity
+
+ expose :artifacts do |pipeline, options|
+ artifacts = pipeline.downloadable_artifacts
+
+ if Feature.enabled?(:non_public_artifacts)
+ artifacts = artifacts.select { |artifact| can?(request.current_user, :read_job_artifacts, artifact.job) }
+ end
+
+ BuildArtifactEntity.represent(artifacts, options.merge(project: pipeline.project))
+ end
+ end
+end
diff --git a/app/serializers/ci/downloadable_artifact_serializer.rb b/app/serializers/ci/downloadable_artifact_serializer.rb
new file mode 100644
index 00000000000..fc4c9fa558e
--- /dev/null
+++ b/app/serializers/ci/downloadable_artifact_serializer.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+module Ci
+ class DownloadableArtifactSerializer < BaseSerializer
+ entity DownloadableArtifactEntity
+ end
+end
diff --git a/app/serializers/ci/pipeline_entity.rb b/app/serializers/ci/pipeline_entity.rb
index 743643a978f..fa0e904fbde 100644
--- a/app/serializers/ci/pipeline_entity.rb
+++ b/app/serializers/ci/pipeline_entity.rb
@@ -121,4 +121,4 @@ class Ci::PipelineEntity < Grape::Entity
end
end
-Ci::PipelineEntity.prepend_if_ee('EE::Ci::PipelineEntity')
+Ci::PipelineEntity.prepend_mod_with('Ci::PipelineEntity')
diff --git a/app/serializers/cluster_entity.rb b/app/serializers/cluster_entity.rb
index b904666971e..ba42e14be22 100644
--- a/app/serializers/cluster_entity.rb
+++ b/app/serializers/cluster_entity.rb
@@ -28,6 +28,6 @@ class ClusterEntity < Grape::Entity
end
expose :enable_advanced_logs_querying do |cluster|
- cluster.application_elastic_stack_available?
+ cluster.elastic_stack_available?
end
end
diff --git a/app/serializers/context_commits_diff_entity.rb b/app/serializers/context_commits_diff_entity.rb
new file mode 100644
index 00000000000..89ebf6a4815
--- /dev/null
+++ b/app/serializers/context_commits_diff_entity.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+class ContextCommitsDiffEntity < Grape::Entity
+ include Gitlab::Routing
+
+ expose :commits_count
+
+ expose :showing_context_commits_diff do |_, options|
+ options[:only_context_commits]
+ end
+
+ expose :diffs_path do |diff|
+ merge_request = diff.merge_request
+ project = merge_request.target_project
+
+ next unless project
+
+ diffs_project_merge_request_path(project, merge_request, only_context_commits: true)
+ end
+end
diff --git a/app/serializers/current_board_entity.rb b/app/serializers/current_board_entity.rb
index 08f31bc698f..530f7f5dea3 100644
--- a/app/serializers/current_board_entity.rb
+++ b/app/serializers/current_board_entity.rb
@@ -7,4 +7,4 @@ class CurrentBoardEntity < Grape::Entity
expose :hide_closed_list
end
-CurrentBoardEntity.prepend_if_ee('EE::CurrentBoardEntity')
+CurrentBoardEntity.prepend_mod_with('CurrentBoardEntity')
diff --git a/app/serializers/deployment_entity.rb b/app/serializers/deployment_entity.rb
index a37011d0100..08a939e86c5 100644
--- a/app/serializers/deployment_entity.rb
+++ b/app/serializers/deployment_entity.rb
@@ -38,7 +38,7 @@ class DeploymentEntity < Grape::Entity
expose :commit, using: CommitEntity, if: -> (*) { include_details? }
expose :manual_actions, using: JobEntity, if: -> (*) { include_details? && can_create_deployment? }
expose :scheduled_actions, using: JobEntity, if: -> (*) { include_details? && can_create_deployment? }
- expose :playable_build, expose_nil: false, if: -> (*) { include_details? && can_create_deployment? } do |deployment, options|
+ expose :playable_build, if: -> (deployment) { include_details? && can_create_deployment? && deployment.playable_build } do |deployment, options|
JobEntity.represent(deployment.playable_build, options.merge(only: [:play_path, :retry_path]))
end
diff --git a/app/serializers/diffs_entity.rb b/app/serializers/diffs_entity.rb
index 4bc6644a5cb..64f7f8bb5eb 100644
--- a/app/serializers/diffs_entity.rb
+++ b/app/serializers/diffs_entity.rb
@@ -84,6 +84,15 @@ class DiffsEntity < Grape::Entity
project_blob_path(merge_request.project, merge_request.diff_head_sha)
end
+ expose :context_commits_diff, if: -> (_) { merge_request&.project&.context_commits_enabled? } do |diffs, options|
+ next unless merge_request.context_commits_diff.commits_count > 0
+
+ ContextCommitsDiffEntity.represent(
+ merge_request.context_commits_diff,
+ options
+ )
+ end
+
def merge_request
options[:merge_request]
end
diff --git a/app/serializers/discussion_serializer.rb b/app/serializers/discussion_serializer.rb
index 7e7148b046e..8bae5687a64 100644
--- a/app/serializers/discussion_serializer.rb
+++ b/app/serializers/discussion_serializer.rb
@@ -18,4 +18,4 @@ class DiscussionSerializer < BaseSerializer
end
end
-DiscussionSerializer.prepend_if_ee('EE::DiscussionSerializer')
+DiscussionSerializer.prepend_mod_with('DiscussionSerializer')
diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb
index 66ca2382901..6105b52fbda 100644
--- a/app/serializers/environment_entity.rb
+++ b/app/serializers/environment_entity.rb
@@ -21,7 +21,7 @@ class EnvironmentEntity < Grape::Entity
expose :stop_action_available?, as: :has_stop_action
expose :rollout_status, if: -> (*) { can_read_deploy_board? }, using: RolloutStatusEntity
- expose :upcoming_deployment, expose_nil: false do |environment, ops|
+ expose :upcoming_deployment, if: -> (environment) { environment.upcoming_deployment } do |environment, ops|
DeploymentEntity.represent(environment.upcoming_deployment,
ops.merge(except: UNNECESSARY_ENTRIES_FOR_UPCOMING_DEPLOYMENT))
end
@@ -122,4 +122,4 @@ class EnvironmentEntity < Grape::Entity
end
end
-EnvironmentEntity.prepend_if_ee('::EE::EnvironmentEntity')
+EnvironmentEntity.prepend_mod_with('EnvironmentEntity')
diff --git a/app/serializers/environment_serializer.rb b/app/serializers/environment_serializer.rb
index 2bb9a7e7254..2fb1ad52135 100644
--- a/app/serializers/environment_serializer.rb
+++ b/app/serializers/environment_serializer.rb
@@ -23,6 +23,8 @@ class EnvironmentSerializer < BaseSerializer
latest: super(item.latest, opts) }
end
else
+ resource = @paginator.paginate(resource) if paginated?
+
super(batch_load(resource), opts)
end
end
@@ -52,7 +54,7 @@ class EnvironmentSerializer < BaseSerializer
def batch_load(resource)
resource = resource.preload(environment_associations)
- resource.all.tap do |environments|
+ resource.all.to_a.tap do |environments|
environments.each do |environment|
# Batch loading the commits of the deployments
environment.last_deployment&.commit&.try(:lazy_author)
@@ -96,4 +98,4 @@ class EnvironmentSerializer < BaseSerializer
# rubocop: enable CodeReuse/ActiveRecord
end
-EnvironmentSerializer.prepend_if_ee('EE::EnvironmentSerializer')
+EnvironmentSerializer.prepend_mod_with('EnvironmentSerializer')
diff --git a/app/serializers/evidences/release_entity.rb b/app/serializers/evidences/release_entity.rb
index dfc4f52de07..3b16347d7c0 100644
--- a/app/serializers/evidences/release_entity.rb
+++ b/app/serializers/evidences/release_entity.rb
@@ -12,4 +12,4 @@ module Evidences
end
end
-Evidences::ReleaseEntity.prepend_if_ee('EE::Evidences::ReleaseEntity')
+Evidences::ReleaseEntity.prepend_mod_with('Evidences::ReleaseEntity')
diff --git a/app/serializers/fork_namespace_entity.rb b/app/serializers/fork_namespace_entity.rb
index fc238fa3958..fbcdf91a1af 100644
--- a/app/serializers/fork_namespace_entity.rb
+++ b/app/serializers/fork_namespace_entity.rb
@@ -49,4 +49,4 @@ class ForkNamespaceEntity < Grape::Entity
end
end
-ForkNamespaceEntity.prepend_if_ee('EE::ForkNamespaceEntity')
+ForkNamespaceEntity.prepend_mod_with('ForkNamespaceEntity')
diff --git a/app/serializers/group_child_entity.rb b/app/serializers/group_child_entity.rb
index adbda790dee..619ca0b5f82 100644
--- a/app/serializers/group_child_entity.rb
+++ b/app/serializers/group_child_entity.rb
@@ -100,4 +100,4 @@ class GroupChildEntity < Grape::Entity
end
end
-GroupChildEntity.prepend_if_ee('EE::GroupChildEntity')
+GroupChildEntity.prepend_mod_with('GroupChildEntity')
diff --git a/app/serializers/group_issuable_autocomplete_entity.rb b/app/serializers/group_issuable_autocomplete_entity.rb
new file mode 100644
index 00000000000..f950a7db785
--- /dev/null
+++ b/app/serializers/group_issuable_autocomplete_entity.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class GroupIssuableAutocompleteEntity < Grape::Entity
+ expose :iid
+ expose :title
+ expose :reference do |issuable, options|
+ issuable.to_reference(options[:parent_group])
+ end
+end
diff --git a/app/serializers/group_issuable_autocomplete_serializer.rb b/app/serializers/group_issuable_autocomplete_serializer.rb
new file mode 100644
index 00000000000..59e9201d405
--- /dev/null
+++ b/app/serializers/group_issuable_autocomplete_serializer.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+class GroupIssuableAutocompleteSerializer < BaseSerializer
+ entity GroupIssuableAutocompleteEntity
+end
diff --git a/app/serializers/issuable_sidebar_basic_entity.rb b/app/serializers/issuable_sidebar_basic_entity.rb
index 4b3d6f21d6d..14e416fb71a 100644
--- a/app/serializers/issuable_sidebar_basic_entity.rb
+++ b/app/serializers/issuable_sidebar_basic_entity.rb
@@ -118,4 +118,4 @@ class IssuableSidebarBasicEntity < Grape::Entity
end
end
-IssuableSidebarBasicEntity.prepend_if_ee('EE::IssuableSidebarBasicEntity')
+IssuableSidebarBasicEntity.prepend_mod_with('IssuableSidebarBasicEntity')
diff --git a/app/serializers/issue_board_entity.rb b/app/serializers/issue_board_entity.rb
index ea629d9d774..17a36f5fb07 100644
--- a/app/serializers/issue_board_entity.rb
+++ b/app/serializers/issue_board_entity.rb
@@ -20,7 +20,7 @@ class IssueBoardEntity < Grape::Entity
API::Entities::Project.represent issue.project, only: [:id, :path]
end
- expose :milestone, expose_nil: false do |issue|
+ expose :milestone, if: -> (issue) { issue.milestone } do |issue|
API::Entities::Milestone.represent issue.milestone, only: [:id, :title]
end
@@ -53,4 +53,4 @@ class IssueBoardEntity < Grape::Entity
end
end
-IssueBoardEntity.prepend_if_ee('EE::IssueBoardEntity')
+IssueBoardEntity.prepend_mod_with('IssueBoardEntity')
diff --git a/app/serializers/issue_entity.rb b/app/serializers/issue_entity.rb
index 647a73495f8..773bbf268eb 100644
--- a/app/serializers/issue_entity.rb
+++ b/app/serializers/issue_entity.rb
@@ -77,4 +77,4 @@ class IssueEntity < IssuableEntity
end
end
-IssueEntity.prepend_if_ee('::EE::IssueEntity')
+IssueEntity.prepend_mod_with('IssueEntity')
diff --git a/app/serializers/issue_sidebar_basic_entity.rb b/app/serializers/issue_sidebar_basic_entity.rb
index e9e05718af9..f93a42e5f98 100644
--- a/app/serializers/issue_sidebar_basic_entity.rb
+++ b/app/serializers/issue_sidebar_basic_entity.rb
@@ -6,4 +6,4 @@ class IssueSidebarBasicEntity < IssuableSidebarBasicEntity
expose :severity
end
-IssueSidebarBasicEntity.prepend_if_ee('EE::IssueSidebarBasicEntity')
+IssueSidebarBasicEntity.prepend_mod_with('IssueSidebarBasicEntity')
diff --git a/app/serializers/issue_sidebar_extras_entity.rb b/app/serializers/issue_sidebar_extras_entity.rb
index ea2a49baa41..6fd1045882b 100644
--- a/app/serializers/issue_sidebar_extras_entity.rb
+++ b/app/serializers/issue_sidebar_extras_entity.rb
@@ -3,4 +3,4 @@
class IssueSidebarExtrasEntity < IssuableSidebarExtrasEntity
end
-IssueSidebarExtrasEntity.prepend_if_ee('EE::IssueSidebarExtrasEntity')
+IssueSidebarExtrasEntity.prepend_mod_with('IssueSidebarExtrasEntity')
diff --git a/app/serializers/job_entity.rb b/app/serializers/job_entity.rb
index d05b500b140..eb8622edb38 100644
--- a/app/serializers/job_entity.rb
+++ b/app/serializers/job_entity.rb
@@ -7,6 +7,7 @@ class JobEntity < Grape::Entity
expose :name
expose :started?, as: :started
+ expose :complete?, as: :complete
expose :archived?, as: :archived
# bridge jobs don't have build detail pages
diff --git a/app/serializers/member_entity.rb b/app/serializers/member_entity.rb
index 6cbdaeea5ea..7559a03bd3b 100644
--- a/app/serializers/member_entity.rb
+++ b/app/serializers/member_entity.rb
@@ -57,4 +57,4 @@ class MemberEntity < Grape::Entity
end
end
-MemberEntity.prepend_if_ee('EE::MemberEntity')
+MemberEntity.prepend_mod_with('MemberEntity')
diff --git a/app/serializers/member_user_entity.rb b/app/serializers/member_user_entity.rb
index a022966c041..01920fc95bb 100644
--- a/app/serializers/member_user_entity.rb
+++ b/app/serializers/member_user_entity.rb
@@ -25,4 +25,4 @@ class MemberUserEntity < UserEntity
end
end
-MemberUserEntity.prepend_if_ee('EE::MemberUserEntity')
+MemberUserEntity.prepend_mod_with('MemberUserEntity')
diff --git a/app/serializers/merge_request_poll_cached_widget_entity.rb b/app/serializers/merge_request_poll_cached_widget_entity.rb
index 52f5b975656..6ac43e02f3c 100644
--- a/app/serializers/merge_request_poll_cached_widget_entity.rb
+++ b/app/serializers/merge_request_poll_cached_widget_entity.rb
@@ -187,4 +187,4 @@ class MergeRequestPollCachedWidgetEntity < IssuableEntity
end
end
-MergeRequestPollCachedWidgetEntity.prepend_if_ee('EE::MergeRequestPollCachedWidgetEntity')
+MergeRequestPollCachedWidgetEntity.prepend_mod_with('MergeRequestPollCachedWidgetEntity')
diff --git a/app/serializers/merge_request_poll_widget_entity.rb b/app/serializers/merge_request_poll_widget_entity.rb
index 97a81d8170f..c00dceadf22 100644
--- a/app/serializers/merge_request_poll_widget_entity.rb
+++ b/app/serializers/merge_request_poll_widget_entity.rb
@@ -158,4 +158,4 @@ class MergeRequestPollWidgetEntity < Grape::Entity
end
end
-MergeRequestPollWidgetEntity.prepend_if_ee('EE::MergeRequestPollWidgetEntity')
+MergeRequestPollWidgetEntity.prepend_mod_with('MergeRequestPollWidgetEntity')
diff --git a/app/serializers/merge_request_serializer.rb b/app/serializers/merge_request_serializer.rb
index 508a2510dbd..e8fc18e6cf3 100644
--- a/app/serializers/merge_request_serializer.rb
+++ b/app/serializers/merge_request_serializer.rb
@@ -28,4 +28,4 @@ class MergeRequestSerializer < BaseSerializer
end
end
-MergeRequestSerializer.prepend_if_ee('EE::MergeRequestSerializer')
+MergeRequestSerializer.prepend_mod_with('MergeRequestSerializer')
diff --git a/app/serializers/merge_request_user_entity.rb b/app/serializers/merge_request_user_entity.rb
index a36c4da3e83..66672494bd9 100644
--- a/app/serializers/merge_request_user_entity.rb
+++ b/app/serializers/merge_request_user_entity.rb
@@ -29,4 +29,4 @@ class MergeRequestUserEntity < ::API::Entities::UserBasic
end
end
-MergeRequestUserEntity.prepend_if_ee('EE::MergeRequestUserEntity')
+MergeRequestUserEntity.prepend_mod_with('MergeRequestUserEntity')
diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb
index a168c7a8490..ac9970579ed 100644
--- a/app/serializers/merge_request_widget_entity.rb
+++ b/app/serializers/merge_request_widget_entity.rb
@@ -52,7 +52,7 @@ class MergeRequestWidgetEntity < Grape::Entity
end
expose :reviewing_and_managing_merge_requests_docs_path do |merge_request|
- help_page_path('user/project/merge_requests/reviewing_and_managing_merge_requests.md', anchor: "checkout-merge-requests-locally-through-the-head-ref")
+ help_page_path('user/project/merge_requests/reviews/index.md', anchor: "checkout-merge-requests-locally-through-the-head-ref")
end
expose :merge_request_pipelines_docs_path do |merge_request|
@@ -176,4 +176,4 @@ class MergeRequestWidgetEntity < Grape::Entity
end
end
-MergeRequestWidgetEntity.prepend_if_ee('EE::MergeRequestWidgetEntity')
+MergeRequestWidgetEntity.prepend_mod_with('MergeRequestWidgetEntity')
diff --git a/app/serializers/note_entity.rb b/app/serializers/note_entity.rb
index d44958bc0c4..8308e954c06 100644
--- a/app/serializers/note_entity.rb
+++ b/app/serializers/note_entity.rb
@@ -103,4 +103,4 @@ class NoteEntity < API::Entities::Note
end
end
-NoteEntity.prepend_if_ee('EE::NoteEntity')
+NoteEntity.prepend_mod_with('NoteEntity')
diff --git a/app/serializers/note_user_entity.rb b/app/serializers/note_user_entity.rb
index 38e71528f18..c3f14fb0f9e 100644
--- a/app/serializers/note_user_entity.rb
+++ b/app/serializers/note_user_entity.rb
@@ -4,4 +4,4 @@ class NoteUserEntity < UserEntity
unexpose :web_url
end
-NoteUserEntity.prepend_if_ee('EE::NoteUserEntity')
+NoteUserEntity.prepend_mod_with('NoteUserEntity')
diff --git a/app/serializers/pipeline_details_entity.rb b/app/serializers/pipeline_details_entity.rb
index bb6aa2f78ac..f459e700c03 100644
--- a/app/serializers/pipeline_details_entity.rb
+++ b/app/serializers/pipeline_details_entity.rb
@@ -8,17 +8,13 @@ class PipelineDetailsEntity < Ci::PipelineEntity
end
expose :details do
- expose :artifacts do |pipeline, options|
- rel = pipeline.downloadable_artifacts
-
- if Feature.enabled?(:non_public_artifacts, type: :development)
- rel = rel.select { |artifact| can?(request.current_user, :read_job_artifacts, artifact.job) }
- end
-
- BuildArtifactEntity.represent(rel, options.merge(project: pipeline.project))
- end
expose :manual_actions, using: BuildActionEntity
expose :scheduled_actions, using: BuildActionEntity
+ expose :code_quality_build_path, if: -> (_, options) { options[:code_quality_walkthrough] } do |pipeline|
+ next unless code_quality_build = pipeline.builds.finished.find_by_name('code_quality')
+
+ project_job_path(pipeline.project, code_quality_build, code_quality_walkthrough: true)
+ end
end
expose :triggered_by_pipeline, as: :triggered_by, with: TriggeredPipelineEntity
diff --git a/app/serializers/pipeline_serializer.rb b/app/serializers/pipeline_serializer.rb
index 9a2e29a6ee3..9cfc81e8705 100644
--- a/app/serializers/pipeline_serializer.rb
+++ b/app/serializers/pipeline_serializer.rb
@@ -49,10 +49,6 @@ class PipelineSerializer < BaseSerializer
{
manual_actions: :metadata,
scheduled_actions: :metadata,
- downloadable_artifacts: {
- project: [:route, { namespace: :route }],
- job: []
- },
failed_builds: %i(project metadata),
merge_request: {
source_project: [:route, { namespace: :route }],
@@ -74,4 +70,4 @@ class PipelineSerializer < BaseSerializer
end
end
-PipelineSerializer.prepend_if_ee('EE::PipelineSerializer')
+PipelineSerializer.prepend_mod_with('PipelineSerializer')
diff --git a/app/serializers/project_mirror_entity.rb b/app/serializers/project_mirror_entity.rb
index daea209deb4..215f659caba 100644
--- a/app/serializers/project_mirror_entity.rb
+++ b/app/serializers/project_mirror_entity.rb
@@ -8,4 +8,4 @@ class ProjectMirrorEntity < Grape::Entity
end
end
-ProjectMirrorEntity.prepend_if_ee('::EE::ProjectMirrorEntity')
+ProjectMirrorEntity.prepend_mod_with('ProjectMirrorEntity')
diff --git a/app/serializers/test_case_entity.rb b/app/serializers/test_case_entity.rb
index 299160cd1bf..0e64b843fd3 100644
--- a/app/serializers/test_case_entity.rb
+++ b/app/serializers/test_case_entity.rb
@@ -20,6 +20,6 @@ class TestCaseEntity < Grape::Entity
alias_method :test_case, :object
def can_read_screenshots?
- Feature.enabled?(:junit_pipeline_screenshots_view, options[:project]) && test_case.has_attachment?
+ test_case.has_attachment?
end
end
diff --git a/app/serializers/user_entity.rb b/app/serializers/user_entity.rb
index 9386c06b87a..1a2778cbf30 100644
--- a/app/serializers/user_entity.rb
+++ b/app/serializers/user_entity.rb
@@ -3,4 +3,4 @@
class UserEntity < API::Entities::UserPath
end
-UserEntity.prepend_if_ee('EE::UserEntity')
+UserEntity.prepend_mod_with('UserEntity')
diff --git a/app/serializers/user_preference_entity.rb b/app/serializers/user_preference_entity.rb
index 4a5dda1e364..24c5bccdeb9 100644
--- a/app/serializers/user_preference_entity.rb
+++ b/app/serializers/user_preference_entity.rb
@@ -13,4 +13,4 @@ class UserPreferenceEntity < Grape::Entity
end
end
-UserPreferenceEntity.prepend_if_ee('EE::UserPreferenceEntity')
+UserPreferenceEntity.prepend_mod_with('UserPreferenceEntity')
diff --git a/app/serializers/user_serializer.rb b/app/serializers/user_serializer.rb
index dfbd787298d..5e7dab31e8a 100644
--- a/app/serializers/user_serializer.rb
+++ b/app/serializers/user_serializer.rb
@@ -21,4 +21,4 @@ class UserSerializer < BaseSerializer
end
end
-UserSerializer.prepend_if_ee('EE::UserSerializer')
+UserSerializer.prepend_mod_with('UserSerializer')