diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb index 78e09ef97e5ed28098cd9aa63937329509d5eb97..1fdf425b6eb6de546a3d5f44fe05a5a7e73ac8fe 100644 --- a/app/serializers/environment_entity.rb +++ b/app/serializers/environment_entity.rb @@ -2,7 +2,6 @@ class EnvironmentEntity < Grape::Entity include RequestAwareEntity - prepend ::EE::EnvironmentEntity # rubocop: disable Cop/InjectEnterpriseEditionModule expose :id expose :name @@ -12,7 +11,6 @@ class EnvironmentEntity < Grape::Entity expose :name_without_type expose :last_deployment, using: DeploymentEntity expose :stop_action_available?, as: :has_stop_action - expose :rollout_status, if: -> (*) { can_read_deploy_board? }, using: RolloutStatusEntity expose :metrics_path, if: -> (*) { environment.has_metrics? } do |environment| metrics_project_environment_path(environment.project, environment) @@ -52,10 +50,6 @@ def current_user request.current_user end - def can_read_deploy_board? - can?(current_user, :read_deploy_board, environment.project) - end - def can_access_terminal? can?(request.current_user, :create_environment_terminal, environment) end @@ -72,3 +66,5 @@ def cluster deployment_platform.cluster end end + +EnvironmentEntity.prepend(::EE::EnvironmentEntity) diff --git a/ee/app/serializers/ee/environment_entity.rb b/ee/app/serializers/ee/environment_entity.rb index 88f87e0f687063a6524c4716e28f6af7ab32e08c..4d9f392e7492373249188097458339b5e24be3b4 100644 --- a/ee/app/serializers/ee/environment_entity.rb +++ b/ee/app/serializers/ee/environment_entity.rb @@ -6,6 +6,8 @@ module EnvironmentEntity extend ::Gitlab::Utils::Override prepended do + expose :rollout_status, if: -> (*) { can_read_deploy_board? }, using: ::RolloutStatusEntity + expose :logs_path, if: -> (*) { can_read_pod_logs? } do |environment| logs_project_environment_path(environment.project, environment) end @@ -16,5 +18,9 @@ module EnvironmentEntity def can_read_pod_logs? can?(current_user, :read_pod_logs, environment.project) end + + def can_read_deploy_board? + can?(current_user, :read_deploy_board, environment.project) + end end end