chore: update error names
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user