fix: auth flow fixed, add getOrCreate method for user

This commit is contained in:
2025-09-09 16:57:34 +03:30
parent 406b181576
commit 7d7f54261b
8 changed files with 65 additions and 16 deletions
+4 -6
View File
@@ -98,16 +98,14 @@ func (s *authService) Authenticate(ctx context.Context, pubKey string, signature
return nil, fmt.Errorf("failed to delete challenge: %w", err)
}
user, err := s.userRepo.GetByPubKey(ctx, pubKey)
user, err := s.userRepo.GetOrCreateUserByPubKey(ctx, pubKey)
if err != nil {
return nil, err
}
if user == nil {
return nil, domain.ErrUserNotFound
return nil, fmt.Errorf("failed to get or create user: %w", err)
}
user.UpdateLastLogin()
if err := s.userRepo.Update(ctx, user); err != nil {
return nil, err
return nil, fmt.Errorf("failed to update user: %w", err)
}
expiresAt := time.Now().Add(time.Duration(s.cfg.TokenExpMinutes) * time.Minute)