TokenStore migration to return plain errors (#14875)

* TokenStore migration to return plain errors

* Fix translations

* Fix: returned error is ignored and http.StatusBadRequest is always returned

* Fix

* Fix translations

* Suggestions

* Changed from BadRequest to NotFound

* Setting the correct http status

* Changed test to expect 404 status

* Fix error
Этот коммит содержится в:
Rodrigo Villablanca
2020-07-09 03:16:27 -04:00
коммит произвёл GitHub
родитель 4df6019f61
Коммит 8b6a5fc5d7
14 изменённых файлов: 101 добавлений и 86 удалений

Просмотреть файл

@@ -107,10 +107,16 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) {
var ruser *model.User
var err *model.AppError
if len(tokenId) > 0 {
var token *model.Token
token, err = c.App.Srv().Store.Token().GetByToken(tokenId)
if err != nil {
c.Err = model.NewAppError("CreateUserWithToken", "api.user.create_user.signup_link_invalid.app_error", nil, err.Error(), http.StatusBadRequest)
token, nErr := c.App.Srv().Store.Token().GetByToken(tokenId)
if nErr != nil {
var status int
switch nErr.(type) {
case *store.ErrNotFound:
status = http.StatusNotFound
default:
status = http.StatusInternalServerError
}
c.Err = model.NewAppError("CreateUserWithToken", "api.user.create_user.signup_link_invalid.app_error", nil, nErr.Error(), status)
return
}
auditRec.AddMeta("token_type", token.Type)