fix: auth flow fixed, add getOrCreate method for user
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user