Skip to content
Snippets Groups Projects
container_registry_controller.rb 842 B
Newer Older
  • Learn to ignore specific revisions
  • Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
    class Projects::ContainerRegistryController < Projects::ApplicationController
    
      before_action :verify_registry_enabled
    
      before_action :authorize_read_container_image!
      before_action :authorize_update_container_image!, only: [:destroy]
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
      layout 'project'
    
      def index
    
        @tags = container_registry_repository.tags
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
      end
    
      def destroy
    
    Kamil Trzcinski's avatar
    Kamil Trzcinski committed
        url = namespace_project_container_registry_index_path(project.namespace, project)
    
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
        if tag.delete
    
    Kamil Trzcinski's avatar
    Kamil Trzcinski committed
          redirect_to url
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
        else
    
    Kamil Trzcinski's avatar
    Kamil Trzcinski committed
          redirect_to url, alert: 'Failed to remove tag'
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
        end
      end
    
      private
    
    
      def verify_registry_enabled
        render_404 unless Gitlab.config.registry.enabled
      end
    
    
      def container_registry_repository
        @container_registry_repository ||= project.container_registry_repository
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
      end
    
      def tag
    
        @tag ||= container_registry_repository.tag(params[:id])
    
    Kamil Trzcinski's avatar
    WIP
    Kamil Trzcinski committed
      end
    end