-- name: CreateUser :one INSERT INTO users (username, password_hash) VALUES ($1, $2) RETURNING *; -- name: GetUserByUsername :one SELECT * FROM users WHERE username = $1; -- name: GetUserByID :one SELECT * FROM users WHERE id = $1; -- name: CreateRefreshToken :one INSERT INTO refresh_tokens (user_id, token_hash, expires_at) VALUES ($1, $2, $3) RETURNING *; -- name: GetRefreshToken :one SELECT * FROM refresh_tokens WHERE token_hash = $1 AND revoked = FALSE AND expires_at > NOW(); -- name: RevokeRefreshToken :exec UPDATE refresh_tokens SET revoked = TRUE WHERE token_hash = $1; -- name: RevokeAllUserRefreshTokens :exec UPDATE refresh_tokens SET revoked = TRUE WHERE user_id = $1;