summaryrefslogtreecommitdiff
path: root/lib/api/deploy_keys.rb
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2017-01-19 17:11:48 +0000
committerRobert Speicher <rspeicher@gmail.com>2017-01-22 11:09:31 -0500
commitec372f8debb7555ba78b61f9e10a0ec0ad48dba0 (patch)
tree4e049be1c35755af903ca059dcf53755c1a0a62d /lib/api/deploy_keys.rb
parentca1076ee810830135d7b278727f7c8457cd4a541 (diff)
downloadgitlab-ce-ec372f8debb7555ba78b61f9e10a0ec0ad48dba0.tar.gz
Merge branch 'fix-users-deleting-public-deployment-keys' into 'security'
Fix users being able to delete instance public deployment keys See merge request !2049
Diffstat (limited to 'lib/api/deploy_keys.rb')
-rw-r--r--lib/api/deploy_keys.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/api/deploy_keys.rb b/lib/api/deploy_keys.rb
index 85360730841..f6cb17bafd8 100644
--- a/lib/api/deploy_keys.rb
+++ b/lib/api/deploy_keys.rb
@@ -105,15 +105,19 @@ module API
present key.deploy_key, with: Entities::SSHKey
end
- desc 'Delete existing deploy key of currently authenticated user' do
+ desc 'Delete deploy key for a project' do
success Key
end
params do
requires :key_id, type: Integer, desc: 'The ID of the deploy key'
end
delete ":id/#{path}/:key_id" do
- key = user_project.deploy_keys.find(params[:key_id])
- key.destroy
+ key = user_project.deploy_keys_projects.find_by(deploy_key_id: params[:key_id])
+ if key
+ key.destroy
+ else
+ not_found!('Deploy Key')
+ end
end
end
end