diff options
author | Vlad Temian <vladtemian@gmail.com> | 2017-12-06 12:27:10 +0200 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2017-12-06 12:27:10 +0200 |
commit | 469ab99e9a4e31c1e95ab37f363c26b62b782542 (patch) | |
tree | 610c3848c07f2d0ca8854c6fb989f72e8a656b3b /routers/api/v1/user | |
parent | c7fb6e30870ea1abff13a8214107e0747d293320 (diff) | |
download | gitea-469ab99e9a4e31c1e95ab37f363c26b62b782542.tar.gz gitea-469ab99e9a4e31c1e95ab37f363c26b62b782542.zip |
Delete a user's public key via admin api (closes #3014) (#3059)
* Delete a user's public key via admin api
* Test admin ssh endpoint for creating a new ssh key
* Adapt public ssh key test to also test the delete operation
* Test that deleting a missing key will result in a 404
* Test that a normal user can't delete another user's ssh key
* Make DeletePublicKey return err
* Update swagger doc
Diffstat (limited to 'routers/api/v1/user')
-rw-r--r-- | routers/api/v1/user/key.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/routers/api/v1/user/key.go b/routers/api/v1/user/key.go index 3649dac9b9..c36ef763dd 100644 --- a/routers/api/v1/user/key.go +++ b/routers/api/v1/user/key.go @@ -178,8 +178,12 @@ func DeletePublicKey(ctx *context.APIContext) { // "$ref": "#/responses/empty" // "403": // "$ref": "#/responses/forbidden" + // "404": + // "$ref": "#/responses/notFound" if err := models.DeletePublicKey(ctx.User, ctx.ParamsInt64(":id")); err != nil { - if models.IsErrKeyAccessDenied(err) { + if models.IsErrKeyNotExist(err) { + ctx.Status(404) + } else if models.IsErrKeyAccessDenied(err) { ctx.Error(403, "", "You do not have access to this key") } else { ctx.Error(500, "DeletePublicKey", err) |