aboutsummaryrefslogtreecommitdiff
path: root/pkg/service
diff options
context:
space:
mode:
authorGabriel Arakaki Giovanini <mail@gabrielgio.me>2023-08-25 22:35:47 +0200
committerGabriel Arakaki Giovanini <mail@gabrielgio.me>2023-08-25 22:35:47 +0200
commit869f50db2fbc24826762fb61d35e5f8de79296c1 (patch)
tree10bd08d7d4b34b61f74e5758e9157c2e10e069fc /pkg/service
parentc9e5d242cbba5e3b9d3ddc4465a9a1367e44cd16 (diff)
downloadlens-869f50db2fbc24826762fb61d35e5f8de79296c1.tar.gz
lens-869f50db2fbc24826762fb61d35e5f8de79296c1.tar.bz2
lens-869f50db2fbc24826762fb61d35e5f8de79296c1.zip
feat: Handle login error
Diffstat (limited to 'pkg/service')
-rw-r--r--pkg/service/auth.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/pkg/service/auth.go b/pkg/service/auth.go
index 30e574a..2fc06e3 100644
--- a/pkg/service/auth.go
+++ b/pkg/service/auth.go
@@ -21,6 +21,8 @@ type AuthController struct {
key []byte
}
+var InvalidLogin = errors.New("Invalid login")
+
func NewAuthController(
authRepository repository.AuthRepository,
userRepository repository.UserRepository,
@@ -35,17 +37,21 @@ func NewAuthController(
func (c *AuthController) Login(ctx context.Context, username, password []byte) ([]byte, error) {
id, err := c.authRepository.GetIDByUsername(ctx, string(username))
- if err != nil {
+ if errors.Is(err, repository.ErrRecordNotFound) {
+ return nil, InvalidLogin
+ } else if err != nil {
return nil, err
}
hashedPassword, err := c.authRepository.GetPassword(ctx, id)
- if err != nil {
+ if errors.Is(err, repository.ErrRecordNotFound) {
+ return nil, InvalidLogin
+ } else if err != nil {
return nil, err
}
if err := bcrypt.CompareHashAndPassword(hashedPassword, password); err != nil {
- return nil, err
+ return nil, InvalidLogin
}
token := &Token{