|
|
@@ -10,6 +10,8 @@ import (
|
|
|
|
|
|
"github.com/jackc/pgx/v5"
|
|
|
"github.com/jackc/pgx/v5/pgxpool"
|
|
|
+
|
|
|
+ "gogs.fxtmmsk.ru/foxtime/photoplaces/backend/internal/models"
|
|
|
)
|
|
|
|
|
|
type RefreshTokenRepo struct {
|
|
|
@@ -20,15 +22,6 @@ func NewRefreshTokenRepo(pool *pgxpool.Pool) *RefreshTokenRepo {
|
|
|
return &RefreshTokenRepo{pool: pool}
|
|
|
}
|
|
|
|
|
|
-type RefreshToken struct {
|
|
|
- ID string
|
|
|
- UserID string
|
|
|
- TokenHash string
|
|
|
- ExpiresAt time.Time
|
|
|
- CreatedAt time.Time
|
|
|
- RevokedAt *time.Time
|
|
|
-}
|
|
|
-
|
|
|
func hashToken(token string) string {
|
|
|
sum := sha256.Sum256([]byte(token))
|
|
|
return hex.EncodeToString(sum[:])
|
|
|
@@ -47,7 +40,7 @@ func (r *RefreshTokenRepo) Create(ctx context.Context, userID, plainToken string
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-func (r *RefreshTokenRepo) GetValid(ctx context.Context, plainToken string) (*RefreshToken, error) {
|
|
|
+func (r *RefreshTokenRepo) GetValid(ctx context.Context, plainToken string) (*models.RefreshToken, error) {
|
|
|
tokenHash := hashToken(plainToken)
|
|
|
row := r.pool.QueryRow(ctx,
|
|
|
`SELECT id, user_id, token_hash, expires_at, created_at, revoked_at
|
|
|
@@ -56,7 +49,7 @@ func (r *RefreshTokenRepo) GetValid(ctx context.Context, plainToken string) (*Re
|
|
|
tokenHash,
|
|
|
)
|
|
|
|
|
|
- var rt RefreshToken
|
|
|
+ var rt models.RefreshToken
|
|
|
err := row.Scan(&rt.ID, &rt.UserID, &rt.TokenHash, &rt.ExpiresAt, &rt.CreatedAt, &rt.RevokedAt)
|
|
|
if err != nil {
|
|
|
if err == pgx.ErrNoRows {
|