feat: login errors (#204)

* feat: nice error messages

* feat: nice error messages

* fix: add project type

* fix: message ids

* handle error messages in login

* add some better error messages

* fix: better error messages on login

* fix: better error messages on login

* fix: add internal errors

* fix: tests
This commit is contained in:
Fabi
2020-06-11 13:22:24 +02:00
committed by GitHub
parent fb3a5c94a0
commit 2c97794538
27 changed files with 191 additions and 73 deletions

View File

@@ -65,16 +65,16 @@ func (c *AuthRequestCache) getAuthRequest(key, value string) (*model.AuthRequest
err := c.client.QueryRow(query, value).Scan(&b, &requestType)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil, caos_errs.ThrowNotFound(err, "CACHE-d24aD", "auth request not found")
return nil, caos_errs.ThrowNotFound(err, "CACHE-d24aD", "Errors.AuthRequest.NotFound")
}
return nil, caos_errs.ThrowInternal(err, "CACHE-as3kj", "unable to get auth request from database")
return nil, caos_errs.ThrowInternal(err, "CACHE-as3kj", "Errors.Internal")
}
request, err := model.NewAuthRequestFromType(requestType)
if err == nil {
err = json.Unmarshal(b, request)
}
if err != nil {
return nil, caos_errs.ThrowInternal(err, "CACHE-2wshg", "unable to unmarshal auth request")
return nil, caos_errs.ThrowInternal(err, "CACHE-2wshg", "Errors.Internal")
}
return request, nil
}
@@ -82,15 +82,15 @@ func (c *AuthRequestCache) getAuthRequest(key, value string) (*model.AuthRequest
func (c *AuthRequestCache) saveAuthRequest(request *model.AuthRequest, query string, param interface{}) error {
b, err := json.Marshal(request)
if err != nil {
return caos_errs.ThrowInternal(err, "CACHE-os0GH", "unable to marshal auth request")
return caos_errs.ThrowInternal(err, "CACHE-os0GH", "Errors.Internal")
}
stmt, err := c.client.Prepare(query)
if err != nil {
return caos_errs.ThrowInternal(err, "CACHE-su3GK", "sql prepare failed")
return caos_errs.ThrowInternal(err, "CACHE-su3GK", "Errors.Internal")
}
_, err = stmt.Exec(request.ID, b, param)
if err != nil {
return caos_errs.ThrowInternal(err, "CACHE-sj8iS", "unable to save auth request")
return caos_errs.ThrowInternal(err, "CACHE-sj8iS", "Errors.Internal")
}
return nil
}