chore: update error names

This commit is contained in:
2024-09-27 11:22:32 +02:00
committed by Tim Wundenberg
parent 7e8730206c
commit 5d479b0811
5 changed files with 15 additions and 14 deletions

View File

@@ -11,7 +11,7 @@ import (
) )
var ( var (
UserNotFound = errors.New("User not found") ErrUserNotFound = errors.New("User not found")
) )
type User struct { type User struct {
@@ -67,10 +67,10 @@ func (db DbAuthSqlite) GetUser(email string) (*User, error) {
WHERE email = ?`, email).Scan(&userId, &emailVerified, &emailVerifiedAt, &password, &salt, &createdAt) WHERE email = ?`, email).Scan(&userId, &emailVerified, &emailVerifiedAt, &password, &salt, &createdAt)
if err != nil { if err != nil {
if err == sql.ErrNoRows { if err == sql.ErrNoRows {
return nil, UserNotFound return nil, ErrUserNotFound
} else { } else {
utils.LogError("SQL error GetUser", err) utils.LogError("SQL error GetUser", err)
return nil, types.InternalServerError return nil, types.ErrInternal
} }
} }

View File

@@ -32,7 +32,7 @@ func TestGetUser(t *testing.T) {
underTest := DbAuthSqlite{db: db} underTest := DbAuthSqlite{db: db}
_, err := underTest.GetUser("someNonExistentEmail") _, err := underTest.GetUser("someNonExistentEmail")
if err != UserNotFound { if err != ErrUserNotFound {
t.Errorf("Expected UserNotFound, got %v", err) t.Errorf("Expected UserNotFound, got %v", err)
} }
}) })

View File

@@ -68,7 +68,7 @@ func (handler HandlerAuthImpl) handleSignIn() http.HandlerFunc {
}) })
if err != nil { if err != nil {
if err == service.InvaidEmailOrPassword { if err == service.ErrInvaidCredentials {
utils.TriggerToast(w, r, "error", "Invalid email or password") utils.TriggerToast(w, r, "error", "Invalid email or password")
http.Error(w, "Invalid email or password", http.StatusUnauthorized) http.Error(w, "Invalid email or password", http.StatusUnauthorized)
} else { } else {

View File

@@ -25,7 +25,8 @@ import (
) )
var ( var (
InvaidEmailOrPassword = errors.New("Invalid email or password") ErrInvaidCredentials = errors.New("Invalid email or password")
ErrPasswordComplexity = errors.New("Password needs to be 8 characters long, contain at least one number, one special, one uppercase and one lowercase character")
) )
type User struct { type User struct {
@@ -60,8 +61,8 @@ func (service ServiceAuthImpl) SignIn(email string, password string) (*User, err
user, err := service.dbAuth.GetUser(email) user, err := service.dbAuth.GetUser(email)
if err != nil { if err != nil {
if errors.Is(err, db.UserNotFound) { if errors.Is(err, db.ErrUserNotFound) {
return nil, InvaidEmailOrPassword return nil, ErrInvaidCredentials
} else { } else {
return nil, err return nil, err
} }
@@ -70,7 +71,7 @@ func (service ServiceAuthImpl) SignIn(email string, password string) (*User, err
hash := getHashPassword(password, user.Salt) hash := getHashPassword(password, user.Salt)
if subtle.ConstantTimeCompare(hash, user.Password) == 0 { if subtle.ConstantTimeCompare(hash, user.Password) == 0 {
return nil, InvaidEmailOrPassword return nil, ErrInvaidCredentials
} }
return NewUser(user), nil return NewUser(user), nil
@@ -618,20 +619,20 @@ func TryCreateSessionAndSetCookie(r *http.Request, w http.ResponseWriter, db *sq
sessionId, err := utils.RandomToken() sessionId, err := utils.RandomToken()
if err != nil { if err != nil {
utils.LogError("Could not generate session ID", err) utils.LogError("Could not generate session ID", err)
return types.InternalServerError return types.ErrInternal
} }
// Delete old inactive sessions // Delete old inactive sessions
_, err = db.Exec("DELETE FROM session WHERE created_at < datetime('now','-8 hours') AND user_uuid = ?", user_uuid) _, err = db.Exec("DELETE FROM session WHERE created_at < datetime('now','-8 hours') AND user_uuid = ?", user_uuid)
if err != nil { if err != nil {
utils.LogError("Could not delete old sessions", err) utils.LogError("Could not delete old sessions", err)
return types.InternalServerError return types.ErrInternal
} }
_, err = db.Exec("INSERT INTO session (session_id, user_uuid, created_at) VALUES (?, ?, datetime())", sessionId, user_uuid) _, err = db.Exec("INSERT INTO session (session_id, user_uuid, created_at) VALUES (?, ?, datetime())", sessionId, user_uuid)
if err != nil { if err != nil {
utils.LogError("Could not insert session", err) utils.LogError("Could not insert session", err)
return types.InternalServerError return types.ErrInternal
} }
cookie := http.Cookie{ cookie := http.Cookie{
@@ -659,7 +660,7 @@ func checkPassword(password string) error {
!strings.ContainsAny(password, "ABCDEFGHIJKLMNOPQRSTUVWXYZ") || !strings.ContainsAny(password, "ABCDEFGHIJKLMNOPQRSTUVWXYZ") ||
!strings.ContainsAny(password, "abcdefghijklmnopqrstuvwxyz") || !strings.ContainsAny(password, "abcdefghijklmnopqrstuvwxyz") ||
!strings.ContainsAny(password, "!@#$%^&*()_+-=[]{}\\|;:'\",.<>/?") { !strings.ContainsAny(password, "!@#$%^&*()_+-=[]{}\\|;:'\",.<>/?") {
return errors.New("Password needs to be 8 characters long, contain at least one number, one special, one uppercase and one lowercase character") return ErrPasswordComplexity
} else { } else {
return nil return nil
} }

View File

@@ -7,7 +7,7 @@ import (
) )
var ( var (
InternalServerError = errors.New("Internal server error") ErrInternal = errors.New("Internal server error")
) )
type User struct { type User struct {