diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-09-21 12:21:50 +0200 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-09-21 12:21:50 +0200 |
commit | 8ba9c2bd6d10c74529a0e2e6bb894c34614966f1 (patch) | |
tree | c80ff14075e4d4bfc96828b3f980c6fd51429398 /app/serializers/container_repository_entity.rb | |
parent | ee3cf5d6f3d5a3631fa7e94a242f2dfe9b38a935 (diff) | |
download | gitlab-ce-8ba9c2bd6d10c74529a0e2e6bb894c34614966f1.tar.gz |
Add ContainerTag and ContainerRepository frontend API
Diffstat (limited to 'app/serializers/container_repository_entity.rb')
-rw-r--r-- | app/serializers/container_repository_entity.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/serializers/container_repository_entity.rb b/app/serializers/container_repository_entity.rb new file mode 100644 index 00000000000..1103cf30a07 --- /dev/null +++ b/app/serializers/container_repository_entity.rb @@ -0,0 +1,25 @@ +class ContainerRepositoryEntity < Grape::Entity + include RequestAwareEntity + + expose :id, :path, :location + + 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 + request.project + end + + def can_destroy? + can?(request.current_user, :update_container_image, project) + end +end |