From 05bb6b7a79910b8cb3a8758a5ecc7638186faf5e Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Wed, 29 Apr 2026 08:13:03 +0200 Subject: [PATCH] Updated sqlc to have user refresh token list query. --- internal/db/querier.go | 1 + internal/db/refresh_tokens.sql.go | 31 +++++++++++++++++++++++++++++++ sql/queries/refresh_tokens.sql | 4 ++++ 3 files changed, 36 insertions(+) diff --git a/internal/db/querier.go b/internal/db/querier.go index 89a212b..c73361c 100644 --- a/internal/db/querier.go +++ b/internal/db/querier.go @@ -17,6 +17,7 @@ type Querier interface { GetRefreshToken(ctx context.Context, tokenHash string) (RefreshToken, error) GetUserByEmail(ctx context.Context, dollar_1 string) (User, error) GetUserById(ctx context.Context, id int64) (User, error) + GetUserRefreshTokens(ctx context.Context, userID int64) ([]RefreshToken, error) ListUsers(ctx context.Context) ([]User, error) UpdateUser(ctx context.Context, arg UpdateUserParams) error } diff --git a/internal/db/refresh_tokens.sql.go b/internal/db/refresh_tokens.sql.go index 52c6a29..ccee176 100644 --- a/internal/db/refresh_tokens.sql.go +++ b/internal/db/refresh_tokens.sql.go @@ -73,3 +73,34 @@ func (q *Queries) GetRefreshToken(ctx context.Context, tokenHash string) (Refres ) return i, err } + +const getUserRefreshTokens = `-- name: GetUserRefreshTokens :many +SELECT id, user_id, token_hash, created_at, expires_at FROM refresh_tokens +WHERE user_id = $1 +` + +func (q *Queries) GetUserRefreshTokens(ctx context.Context, userID int64) ([]RefreshToken, error) { + rows, err := q.db.Query(ctx, getUserRefreshTokens, userID) + if err != nil { + return nil, err + } + defer rows.Close() + var items []RefreshToken + for rows.Next() { + var i RefreshToken + if err := rows.Scan( + &i.ID, + &i.UserID, + &i.TokenHash, + &i.CreatedAt, + &i.ExpiresAt, + ); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil +} diff --git a/sql/queries/refresh_tokens.sql b/sql/queries/refresh_tokens.sql index bcfb40f..a2e8833 100644 --- a/sql/queries/refresh_tokens.sql +++ b/sql/queries/refresh_tokens.sql @@ -7,6 +7,10 @@ RETURNING *; SELECT * FROM refresh_tokens WHERE token_hash = $1 LIMIT 1; +-- name: GetUserRefreshTokens :many +SELECT * FROM refresh_tokens +WHERE user_id = $1; + -- name: DeleteRefreshToken :exec DELETE FROM refresh_tokens WHERE token_hash = $1;