debian-mirror-gitlab/app/serializers/container_repository_entity.rb

29 lines
754 B
Ruby
Raw Normal View History

2018-11-18 11:00:15 +05:30
# frozen_string_literal: true
2018-03-17 18:26:18 +05:30
class ContainerRepositoryEntity < Grape::Entity
include RequestAwareEntity
2020-06-23 00:09:42 +05:30
expose :id, :name, :path, :location, :created_at, :status, :tags_count
2021-01-03 14:25:43 +05:30
expose :expiration_policy_started_at, as: :cleanup_policy_started_at
2018-03-17 18:26:18 +05:30
expose :tags_path do |repository|
project_registry_repository_tags_path(project, repository, format: :json)
end
expose :destroy_path, if: -> (*) { can_destroy? } do |repository|
project_container_registry_path(project, repository, format: :json)
end
private
alias_method :repository, :object
def project
2019-12-21 20:55:43 +05:30
request.respond_to?(:project) ? request.project : object.project
2018-03-17 18:26:18 +05:30
end
def can_destroy?
can?(request.current_user, :update_container_image, project)
end
end