2018-07-19 18:43:13 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-12-21 13:51:53 +00:00
|
|
|
class BuildArtifactEntity < Grape::Entity
|
2016-11-10 14:32:23 +00:00
|
|
|
include RequestAwareEntity
|
2019-12-25 18:07:46 +00:00
|
|
|
include GitlabRoutingHelper
|
2016-11-10 14:32:23 +00:00
|
|
|
|
2020-06-04 12:08:21 +00:00
|
|
|
alias_method :artifact, :object
|
2017-05-29 07:58:20 +00:00
|
|
|
|
2020-06-04 12:08:21 +00:00
|
|
|
expose :name do |artifact|
|
|
|
|
"#{artifact.job.name}:#{artifact.file_type}"
|
2016-11-10 14:32:23 +00:00
|
|
|
end
|
2017-05-29 07:58:20 +00:00
|
|
|
|
2020-06-04 12:08:21 +00:00
|
|
|
expose :expire_at
|
|
|
|
expose :expired?, as: :expired
|
2017-05-29 07:58:20 +00:00
|
|
|
|
2020-06-04 12:08:21 +00:00
|
|
|
expose :path do |artifact|
|
|
|
|
fast_download_project_job_artifacts_path(
|
|
|
|
artifact.project,
|
|
|
|
artifact.job,
|
|
|
|
file_type: artifact.file_type
|
|
|
|
)
|
2017-05-29 07:58:20 +00:00
|
|
|
end
|
|
|
|
|
2020-06-04 12:08:21 +00:00
|
|
|
expose :keep_path, if: -> (*) { artifact.expiring? } do |artifact|
|
|
|
|
fast_keep_project_job_artifacts_path(artifact.project, artifact.job)
|
|
|
|
end
|
2017-05-29 07:58:20 +00:00
|
|
|
|
2020-06-04 12:08:21 +00:00
|
|
|
expose :browse_path do |artifact|
|
|
|
|
fast_browse_project_job_artifacts_path(artifact.project, artifact.job)
|
2017-05-29 07:58:20 +00:00
|
|
|
end
|
2016-11-10 14:32:23 +00:00
|
|
|
end
|