17447: make changes requested during review

- use dialect.IsUniqueContraintViolation
- change if statement to match others
- return error properly
This commit is contained in:
Anthony Templeton 2019-07-08 15:29:55 -04:00
parent da6df0ee07
commit a4a674ea83
3 changed files with 6 additions and 3 deletions

View File

@ -68,8 +68,8 @@ func (hs *HTTPServer) AddAPIKey(c *models.ReqContext, cmd models.AddApiKeyComman
if err == models.ErrInvalidApiKeyExpiration {
return Error(400, err.Error(), nil)
}
if err.Error() == models.ErrDuplicateApiKey.Error() {
return Error(409, "API Key Name Must Be Unique", nil)
if err == models.ErrDuplicateApiKey {
return Error(409, err.Error(), nil)
}
return Error(500, "Failed to add API", err)
}

View File

@ -7,7 +7,7 @@ import (
var ErrInvalidApiKey = errors.New("Invalid API Key")
var ErrInvalidApiKeyExpiration = errors.New("Negative value for SecondsToLive")
var ErrDuplicateApiKey = errors.New("UNIQUE constraint failed: api_key.org_id, api_key.name")
var ErrDuplicateApiKey = errors.New("API Key Organization ID And Name Must Be Unique")
type ApiKey struct {
Id int64

View File

@ -56,6 +56,9 @@ func AddApiKey(cmd *models.AddApiKeyCommand) error {
}
if _, err := sess.Insert(&t); err != nil {
if dialect.IsUniqueConstraintViolation((err)) {
return models.ErrDuplicateApiKey
}
return err
}
cmd.Result = &t