Commit 0611c5c6120503b57237c2580fddf318cd6a552a
1 parent
50e8d6c0
Exists in
master
and in
4 other branches
Fix deploy key api 500 if key is empty
Showing
1 changed file
with
16 additions
and
14 deletions
Show diff stats
lib/api/projects.rb
| ... | ... | @@ -428,21 +428,23 @@ module API |
| 428 | 428 | post ":id/keys" do |
| 429 | 429 | attrs = attributes_for_keys [:title, :key] |
| 430 | 430 | |
| 431 | - attrs[:key].strip! | |
| 432 | - | |
| 433 | - # check if key already exist in project | |
| 434 | - key = user_project.deploy_keys.find_by_key(attrs[:key]) | |
| 435 | - if key | |
| 436 | - present key, with: Entities::SSHKey | |
| 437 | - return | |
| 438 | - end | |
| 431 | + if attrs[:key].present? | |
| 432 | + attrs[:key].strip! | |
| 433 | + | |
| 434 | + # check if key already exist in project | |
| 435 | + key = user_project.deploy_keys.find_by_key(attrs[:key]) | |
| 436 | + if key | |
| 437 | + present key, with: Entities::SSHKey | |
| 438 | + return | |
| 439 | + end | |
| 439 | 440 | |
| 440 | - # Check for available deploy keys in other projects | |
| 441 | - key = current_user.owned_deploy_keys.find_by_key(attrs[:key]) | |
| 442 | - if key | |
| 443 | - user_project.deploy_keys << key | |
| 444 | - present key, with: Entities::SSHKey | |
| 445 | - return | |
| 441 | + # Check for available deploy keys in other projects | |
| 442 | + key = current_user.owned_deploy_keys.find_by_key(attrs[:key]) | |
| 443 | + if key | |
| 444 | + user_project.deploy_keys << key | |
| 445 | + present key, with: Entities::SSHKey | |
| 446 | + return | |
| 447 | + end | |
| 446 | 448 | end |
| 447 | 449 | |
| 448 | 450 | key = DeployKey.new attrs | ... | ... |