fix: pass TokenPair by value

This commit is contained in:
2026-08-03 15:21:30 +02:00
parent ef41731b8e
commit 6eb9f22cf2
+10 -10
View File
@@ -77,26 +77,26 @@ func (s *AuthService) authenticate(ctx context.Context, email string, password s
return user, nil
}
func (s *AuthService) Login(ctx context.Context, email string, password string) (*TokenPair, error) {
func (s *AuthService) Login(ctx context.Context, email string, password string) (TokenPair, error) {
user, err := s.authenticate(ctx, email, password)
if err != nil {
return nil, err
return TokenPair{}, err
}
return s.issueTokens(ctx, user)
}
func (s *AuthService) Refresh(ctx context.Context, refreshToken string) (*TokenPair, error) {
func (s *AuthService) Refresh(ctx context.Context, refreshToken string) (TokenPair, error) {
tokenHash := hashToken(refreshToken)
userID, err := s.repo.ConsumeRefreshToken(ctx, tokenHash)
if err != nil {
return nil, err
return TokenPair{}, err
}
authUser, err := s.repo.GetUserById(ctx, userID)
if err != nil {
return nil, err
return TokenPair{}, err
}
return s.issueTokens(ctx, authUser)
@@ -113,23 +113,23 @@ type contextKey string
const AuthContextKey = contextKey("auth")
func (s *AuthService) issueTokens(ctx context.Context, authUser *AuthUser) (*TokenPair, error) {
func (s *AuthService) issueTokens(ctx context.Context, authUser *AuthUser) (TokenPair, error) {
accessToken, err := s.GenerateAccessToken(authUser)
if err != nil {
return nil, fmt.Errorf("failed to issue access token: %s", err)
return TokenPair{}, fmt.Errorf("failed to issue access token: %s", err)
}
refreshToken, err := s.GenerateRefreshToken()
if err != nil {
return nil, fmt.Errorf("failed to issue refresh token: %s", err)
return TokenPair{}, fmt.Errorf("failed to issue refresh token: %s", err)
}
err = s.repo.StoreRefreshToken(ctx, authUser.ID, hashToken(refreshToken), time.Now().Add(time.Hour*24*7))
if err != nil {
return nil, fmt.Errorf("failed to store refresh token: %s", err)
return TokenPair{}, fmt.Errorf("failed to store refresh token: %s", err)
}
return &TokenPair{
return TokenPair{
AccessToken: accessToken,
RefreshToken: refreshToken,
}, nil