diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-14 03:08:14 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-14 03:08:14 +0300 |
commit | 427c549b6396885fb60a687326b6cd62878e4ca3 (patch) | |
tree | 145713e2f6fdaf7499b0cb44010503e16b6248b9 /lib | |
parent | 74a89b1221eaf780374bd1d4c5b2ee4a0f488908 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/entities.rb | 4 | ||||
-rw-r--r-- | lib/api/keys.rb | 11 |
2 files changed, 11 insertions, 4 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 3cb438baa80..e8ea4a9fac5 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -924,6 +924,10 @@ module API expose :user, using: Entities::UserPublic end + class DeployKeyWithUser < SSHKeyWithUser + expose :deploy_keys_projects + end + class DeployKeysProject < Grape::Entity expose :deploy_key, merge: true, using: Entities::SSHKey expose :can_push diff --git a/lib/api/keys.rb b/lib/api/keys.rb index 8f837107192..bec3dc9bd97 100644 --- a/lib/api/keys.rb +++ b/lib/api/keys.rb @@ -26,12 +26,15 @@ module API get do authenticated_with_can_read_all_resources! - finder_params = params.merge(key_type: 'ssh') - - key = KeysFinder.new(current_user, finder_params).execute + key = KeysFinder.new(current_user, params).execute not_found!('Key') unless key - present key, with: Entities::SSHKeyWithUser, current_user: current_user + + if key.type == "DeployKey" + present key, with: Entities::DeployKeyWithUser, current_user: current_user + else + present key, with: Entities::SSHKeyWithUser, current_user: current_user + end rescue KeysFinder::InvalidFingerprint render_api_error!('Failed to return the key', 400) end |