aboutsummaryrefslogtreecommitdiff
path: root/routes/api/v1/user/app.go
diff options
context:
space:
mode:
authorFrode Aannevik <frode.aa@gmail.com>2019-10-15 23:09:47 +0200
committerUnknwon <u@gogs.io>2019-10-15 14:09:47 -0700
commitffbb0f6a60a000e42f26fd1e08925de1f2ff90be (patch)
tree2da6d91b9cdc3410b718a40cf98eddb3a4e1ddad /routes/api/v1/user/app.go
parent1c82c42cb357b4d1c190a30346f52e11427e8470 (diff)
token: disallow multiple tokens with same name (#5820)
* api/v1: don't allow multiple tokens with same name Fail with 422 Unprocessable Entity if the token name already exist ref: https://github.com/gogs/gogs/issues/5587 * Move new token error type to models/errors/token * Remove "useless" ListAccessTokensByName function * Add an i18n entry for token_name_exists
Diffstat (limited to 'routes/api/v1/user/app.go')
-rw-r--r--routes/api/v1/user/app.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/routes/api/v1/user/app.go b/routes/api/v1/user/app.go
index 864ede54..dcc3fca5 100644
--- a/routes/api/v1/user/app.go
+++ b/routes/api/v1/user/app.go
@@ -10,6 +10,7 @@ import (
api "github.com/gogs/go-gogs-client"
"github.com/gogs/gogs/models"
+ "github.com/gogs/gogs/models/errors"
"github.com/gogs/gogs/pkg/context"
)
@@ -33,7 +34,11 @@ func CreateAccessToken(c *context.APIContext, form api.CreateAccessTokenOption)
Name: form.Name,
}
if err := models.NewAccessToken(t); err != nil {
- c.ServerError("NewAccessToken", err)
+ if errors.IsAccessTokenNameAlreadyExist(err) {
+ c.Error(http.StatusUnprocessableEntity, "", err)
+ } else {
+ c.ServerError("NewAccessToken", err)
+ }
return
}
c.JSON(http.StatusCreated, &api.AccessToken{t.Name, t.Sha1})