summaryrefslogtreecommitdiff
path: root/app/serializers
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers')
-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/cluster_basic_entity.rb10
-rw-r--r--app/serializers/current_board_entity.rb2
-rw-r--r--app/serializers/deployment_entity.rb2
-rw-r--r--app/serializers/discussion_serializer.rb2
-rw-r--r--app/serializers/environment_entity.rb2
-rw-r--r--app/serializers/issuable_sidebar_basic_entity.rb2
-rw-r--r--app/serializers/issue_board_entity.rb2
-rw-r--r--app/serializers/issue_entity.rb9
-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/merge_request_poll_widget_entity.rb2
-rw-r--r--app/serializers/merge_request_widget_entity.rb2
-rw-r--r--app/serializers/pipeline_details_entity.rb2
-rw-r--r--app/serializers/pipeline_serializer.rb2
-rw-r--r--app/serializers/project_mirror_entity.rb2
-rw-r--r--app/serializers/user_preference_entity.rb2
19 files changed, 52 insertions, 1 deletions
diff --git a/app/serializers/blob_entity.rb b/app/serializers/blob_entity.rb
index 3ac61481dea..a54af899ba2 100644
--- a/app/serializers/blob_entity.rb
+++ b/app/serializers/blob_entity.rb
@@ -15,3 +15,5 @@ class BlobEntity < Grape::Entity
project_blob_path(request.project, File.join(request.ref, blob.path))
end
end
+
+BlobEntity.prepend_if_ee('EE::BlobEntity')
diff --git a/app/serializers/board_simple_entity.rb b/app/serializers/board_simple_entity.rb
index 029d3808e75..a3c16a0b5c7 100644
--- a/app/serializers/board_simple_entity.rb
+++ b/app/serializers/board_simple_entity.rb
@@ -4,3 +4,5 @@ class BoardSimpleEntity < Grape::Entity
expose :id
expose :name
end
+
+BoardSimpleEntity.prepend_if_ee('EE::BoardSimpleEntity')
diff --git a/app/serializers/build_details_entity.rb b/app/serializers/build_details_entity.rb
index 67e44ee9d10..0c754157267 100644
--- a/app/serializers/build_details_entity.rb
+++ b/app/serializers/build_details_entity.rb
@@ -1,6 +1,8 @@
# frozen_string_literal: true
class BuildDetailsEntity < JobEntity
+ prepend_if_ee('::EE::BuildDetailEntity') # rubocop: disable Cop/InjectEnterpriseEditionModule
+
expose :coverage, :erased_at, :duration
expose :tag_list, as: :tags
expose :has_trace?, as: :has_trace
diff --git a/app/serializers/cluster_basic_entity.rb b/app/serializers/cluster_basic_entity.rb
new file mode 100644
index 00000000000..d104f2c8bbd
--- /dev/null
+++ b/app/serializers/cluster_basic_entity.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+class ClusterBasicEntity < Grape::Entity
+ include RequestAwareEntity
+
+ expose :name
+ expose :path, if: -> (cluster) { can?(request.current_user, :read_cluster, cluster) } do |cluster|
+ cluster.present(current_user: request.current_user).show_path
+ end
+end
diff --git a/app/serializers/current_board_entity.rb b/app/serializers/current_board_entity.rb
index 371151532f8..f9d6691dc84 100644
--- a/app/serializers/current_board_entity.rb
+++ b/app/serializers/current_board_entity.rb
@@ -4,3 +4,5 @@ class CurrentBoardEntity < Grape::Entity
expose :id
expose :name
end
+
+CurrentBoardEntity.prepend_if_ee('EE::CurrentBoardEntity')
diff --git a/app/serializers/deployment_entity.rb b/app/serializers/deployment_entity.rb
index 94a827658f0..e6421315b34 100644
--- a/app/serializers/deployment_entity.rb
+++ b/app/serializers/deployment_entity.rb
@@ -38,6 +38,8 @@ class DeploymentEntity < Grape::Entity
expose :manual_actions, using: JobEntity, if: -> (*) { include_details? && can_create_deployment? }
expose :scheduled_actions, using: JobEntity, if: -> (*) { include_details? && can_create_deployment? }
+ expose :cluster, using: ClusterBasicEntity
+
private
def include_details?
diff --git a/app/serializers/discussion_serializer.rb b/app/serializers/discussion_serializer.rb
index 8bb7e93c033..7e7148b046e 100644
--- a/app/serializers/discussion_serializer.rb
+++ b/app/serializers/discussion_serializer.rb
@@ -17,3 +17,5 @@ class DiscussionSerializer < BaseSerializer
opts.merge(additional_opts)
end
end
+
+DiscussionSerializer.prepend_if_ee('EE::DiscussionSerializer')
diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb
index 8258135da4e..bffd9de4978 100644
--- a/app/serializers/environment_entity.rb
+++ b/app/serializers/environment_entity.rb
@@ -66,3 +66,5 @@ class EnvironmentEntity < Grape::Entity
deployment_platform.cluster
end
end
+
+EnvironmentEntity.prepend_if_ee('::EE::EnvironmentEntity')
diff --git a/app/serializers/issuable_sidebar_basic_entity.rb b/app/serializers/issuable_sidebar_basic_entity.rb
index 058c707ef9d..498cfe5930d 100644
--- a/app/serializers/issuable_sidebar_basic_entity.rb
+++ b/app/serializers/issuable_sidebar_basic_entity.rb
@@ -109,3 +109,5 @@ class IssuableSidebarBasicEntity < Grape::Entity
request.current_user
end
end
+
+IssuableSidebarBasicEntity.prepend_if_ee('EE::IssuableSidebarBasicEntity')
diff --git a/app/serializers/issue_board_entity.rb b/app/serializers/issue_board_entity.rb
index 2e1d7fb3f87..b8f799a7456 100644
--- a/app/serializers/issue_board_entity.rb
+++ b/app/serializers/issue_board_entity.rb
@@ -50,3 +50,5 @@ class IssueBoardEntity < Grape::Entity
project_labels_path(issue.project, format: :json, include_ancestor_groups: true)
end
end
+
+IssueBoardEntity.prepend_if_ee('EE::IssueBoardEntity')
diff --git a/app/serializers/issue_entity.rb b/app/serializers/issue_entity.rb
index 82139855760..a3d0298a495 100644
--- a/app/serializers/issue_entity.rb
+++ b/app/serializers/issue_entity.rb
@@ -2,6 +2,7 @@
class IssueEntity < IssuableEntity
include TimeTrackableEntity
+ prepend_if_ee('::EE::IssueEntity') # rubocop: disable Cop/InjectEnterpriseEditionModule
expose :state
expose :milestone_id
@@ -19,11 +20,17 @@ class IssueEntity < IssuableEntity
expose :project_id
expose :moved_to_id do |issue|
- if issue.moved_to_id.present? && can?(request.current_user, :read_issue, issue.moved_to)
+ if issue.moved? && can?(request.current_user, :read_issue, issue.moved_to)
issue.moved_to_id
end
end
+ expose :duplicated_to_id do |issue|
+ if issue.duplicated? && can?(request.current_user, :read_issue, issue.duplicated_to)
+ issue.duplicated_to_id
+ end
+ end
+
expose :web_url do |issue|
project_issue_path(issue.project, issue)
end
diff --git a/app/serializers/issue_sidebar_basic_entity.rb b/app/serializers/issue_sidebar_basic_entity.rb
index 723875809ec..165dc462cfe 100644
--- a/app/serializers/issue_sidebar_basic_entity.rb
+++ b/app/serializers/issue_sidebar_basic_entity.rb
@@ -4,3 +4,5 @@ class IssueSidebarBasicEntity < IssuableSidebarBasicEntity
expose :due_date
expose :confidential
end
+
+IssueSidebarBasicEntity.prepend_if_ee('EE::IssueSidebarBasicEntity')
diff --git a/app/serializers/issue_sidebar_extras_entity.rb b/app/serializers/issue_sidebar_extras_entity.rb
index dee891a50b7..ea2a49baa41 100644
--- a/app/serializers/issue_sidebar_extras_entity.rb
+++ b/app/serializers/issue_sidebar_extras_entity.rb
@@ -2,3 +2,5 @@
class IssueSidebarExtrasEntity < IssuableSidebarExtrasEntity
end
+
+IssueSidebarExtrasEntity.prepend_if_ee('EE::IssueSidebarExtrasEntity')
diff --git a/app/serializers/merge_request_poll_widget_entity.rb b/app/serializers/merge_request_poll_widget_entity.rb
index cd33ffa702a..854349e8507 100644
--- a/app/serializers/merge_request_poll_widget_entity.rb
+++ b/app/serializers/merge_request_poll_widget_entity.rb
@@ -130,3 +130,5 @@ class MergeRequestPollWidgetEntity < IssuableEntity
@presenters[merge_request] ||= MergeRequestPresenter.new(merge_request, current_user: current_user) # rubocop: disable CodeReuse/Presenter
end
end
+
+MergeRequestPollWidgetEntity.prepend_if_ee('EE::MergeRequestPollWidgetEntity')
diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb
index 2f2c42a7387..eda7a36c2ee 100644
--- a/app/serializers/merge_request_widget_entity.rb
+++ b/app/serializers/merge_request_widget_entity.rb
@@ -79,3 +79,5 @@ class MergeRequestWidgetEntity < Grape::Entity
@presenters[merge_request] ||= MergeRequestPresenter.new(merge_request, current_user: current_user) # rubocop: disable CodeReuse/Presenter
end
end
+
+MergeRequestWidgetEntity.prepend_if_ee('EE::MergeRequestWidgetEntity')
diff --git a/app/serializers/pipeline_details_entity.rb b/app/serializers/pipeline_details_entity.rb
index dfef4364965..808e87c3fcf 100644
--- a/app/serializers/pipeline_details_entity.rb
+++ b/app/serializers/pipeline_details_entity.rb
@@ -11,3 +11,5 @@ class PipelineDetailsEntity < PipelineEntity
expose :scheduled_actions, using: BuildActionEntity
end
end
+
+PipelineDetailsEntity.prepend_if_ee('EE::PipelineDetailsEntity')
diff --git a/app/serializers/pipeline_serializer.rb b/app/serializers/pipeline_serializer.rb
index 95d73c6422d..eaaeaf040a2 100644
--- a/app/serializers/pipeline_serializer.rb
+++ b/app/serializers/pipeline_serializer.rb
@@ -58,3 +58,5 @@ class PipelineSerializer < BaseSerializer
]
end
end
+
+PipelineSerializer.prepend_if_ee('EE::PipelineSerializer')
diff --git a/app/serializers/project_mirror_entity.rb b/app/serializers/project_mirror_entity.rb
index c13cc3276a7..2efd820d893 100644
--- a/app/serializers/project_mirror_entity.rb
+++ b/app/serializers/project_mirror_entity.rb
@@ -1,6 +1,8 @@
# frozen_string_literal: true
class ProjectMirrorEntity < Grape::Entity
+ prepend_if_ee('::EE::ProjectMirrorEntity') # rubocop: disable Cop/InjectEnterpriseEditionModule
+
expose :id
expose :remote_mirrors_attributes, using: RemoteMirrorEntity do |project|
diff --git a/app/serializers/user_preference_entity.rb b/app/serializers/user_preference_entity.rb
index b99f80424db..4a5dda1e364 100644
--- a/app/serializers/user_preference_entity.rb
+++ b/app/serializers/user_preference_entity.rb
@@ -12,3 +12,5 @@ class UserPreferenceEntity < Grape::Entity
UserPreference::NOTES_FILTERS[:all_notes]
end
end
+
+UserPreferenceEntity.prepend_if_ee('EE::UserPreferenceEntity')