update refresh

This commit is contained in:
2026-07-06 12:58:27 +07:00
parent e4007eb15a
commit 57687d1d62
15 changed files with 483 additions and 66 deletions
+39 -6
View File
@@ -2,6 +2,7 @@ package refresh_tokens_repo
import (
"context"
"time"
"github.com/jackc/pgx/v5/pgxpool"
)
@@ -19,25 +20,57 @@ func NewRefreshTokensRepo(pool *pgxpool.Pool) *RefreshTokensRepo {
func (s *RefreshTokensRepo) AddRefreshToken(
ctx context.Context,
userId int,
refreshToken string,
expiresAt time.Time,
jti string,
) error {
_, err := s.pool.Exec(
ctx,
`INSERT INTO refresh_tokens (user_id, refresh_token) VALUES ($1, $2)`,
`INSERT INTO refresh_tokens (user_id, expires_at, jti)
VALUES ($1, $2, $3)`,
userId,
refreshToken,
expiresAt,
jti,
)
return err
}
func (s *RefreshTokensRepo) DeleteRefreshTokensByUserId(
func (s *RefreshTokensRepo) ExistsRefreshToken(
ctx context.Context,
userId int,
jti string,
now time.Time,
) (bool, error) {
var exists bool
err := s.pool.QueryRow(
ctx,
`SELECT EXISTS(
SELECT 1
FROM refresh_tokens
WHERE user_id = $1
AND jti = $2
AND expires_at > $3
)`,
userId,
jti,
now,
).Scan(&exists)
if err != nil {
return false, err
}
return exists, nil
}
func (s *RefreshTokensRepo) DeleteRefreshTokenByJti(
ctx context.Context,
jti string,
) error {
_, err := s.pool.Exec(
ctx,
`DELETE FROM refresh_tokens WHERE user_id = $1`,
userId,
`DELETE FROM refresh_tokens
WHERE jti = $1`,
jti,
)
return err
}