gitlab-org--gitlab-foss/app/controllers/admin/deploy_keys_controller.rb

64 lines
1.2 KiB
Ruby

# frozen_string_literal: true
class Admin::DeployKeysController < Admin::ApplicationController
before_action :deploy_keys, only: [:index]
before_action :deploy_key, only: [:destroy, :edit, :update]
feature_category :continuous_delivery
urgency :low
def index
end
def new
@deploy_key = deploy_keys.new
end
def create
@deploy_key = DeployKeys::CreateService.new(current_user, create_params.merge(public: true)).execute
if @deploy_key.persisted?
redirect_to admin_deploy_keys_path
else
render 'new'
end
end
def edit
end
def update
if deploy_key.update(update_params)
flash[:notice] = _('Deploy key was successfully updated.')
redirect_to admin_deploy_keys_path
else
render 'edit'
end
end
def destroy
deploy_key.destroy
respond_to do |format|
format.html { redirect_to admin_deploy_keys_path, status: :found }
format.json { head :ok }
end
end
protected
def deploy_key
@deploy_key ||= deploy_keys.find(params[:id])
end
def deploy_keys
@deploy_keys ||= DeployKey.are_public
end
def create_params
params.require(:deploy_key).permit(:key, :title)
end
def update_params
params.require(:deploy_key).permit(:title)
end
end