summaryrefslogtreecommitdiff
path: root/app/serializers/build_entity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/build_entity.rb')
-rw-r--r--app/serializers/build_entity.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/serializers/build_entity.rb b/app/serializers/build_entity.rb
index fadd6c5c597..e2276808b90 100644
--- a/app/serializers/build_entity.rb
+++ b/app/serializers/build_entity.rb
@@ -12,10 +12,11 @@ class BuildEntity < Grape::Entity
path_to(:retry_namespace_project_build, build)
end
- expose :play_path, if: ->(build, _) { build.playable? } do |build|
+ expose :play_path, if: -> (*) { playable? } do |build|
path_to(:play_namespace_project_build, build)
end
+ expose :playable?, as: :playable
expose :created_at
expose :updated_at
expose :detailed_status, as: :status, with: StatusEntity
@@ -24,11 +25,15 @@ class BuildEntity < Grape::Entity
alias_method :build, :object
- def path_to(route, build)
- send("#{route}_path", build.project.namespace, build.project, build)
+ def playable?
+ build.playable? && can?(request.current_user, :update_build, build)
end
def detailed_status
- build.detailed_status(request.user)
+ build.detailed_status(request.current_user)
+ end
+
+ def path_to(route, build)
+ send("#{route}_path", build.project.namespace, build.project, build)
end
end