diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-29 12:06:31 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-29 12:06:31 +0300 |
commit | 6b13a226ddfc49140d58e7e88f8703ae0ed90574 (patch) | |
tree | 9a92431e484354f43230fa87adc00a2edbf6f09c /app/serializers/deployment_entity.rb | |
parent | 2ac93cb80c4c0a57fde86de8262b569d1e9b9e51 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/serializers/deployment_entity.rb')
-rw-r--r-- | app/serializers/deployment_entity.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/serializers/deployment_entity.rb b/app/serializers/deployment_entity.rb index e6421315b34..94773eeebd0 100644 --- a/app/serializers/deployment_entity.rb +++ b/app/serializers/deployment_entity.rb @@ -37,6 +37,9 @@ 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| + JobEntity.represent(deployment.playable_build, options.merge(only: [:play_path, :retry_path])) + end expose :cluster, using: ClusterBasicEntity @@ -47,7 +50,7 @@ class DeploymentEntity < Grape::Entity end def can_create_deployment? - can?(request.current_user, :create_deployment, request.project) + can?(request.current_user, :create_deployment, project) end def can_read_deployables? @@ -56,6 +59,10 @@ class DeploymentEntity < Grape::Entity # because it triggers a policy evaluation that involves multiple # Gitaly calls that might not be cached. # - can?(request.current_user, :read_build, request.project) + can?(request.current_user, :read_build, project) + end + + def project + request.try(:project) || options[:project] end end |