24 lines
724 B
SQL
24 lines
724 B
SQL
-- name: CreateAPIKey :one
|
|
INSERT INTO api_keys (id, user_id, name, key_hash, scopes)
|
|
VALUES ($1, $2, $3, $4, $5)
|
|
RETURNING id, user_id, name, key_hash, scopes, created_at, revoked_at;
|
|
|
|
-- name: ListAPIKeysByUser :many
|
|
SELECT id, name, scopes, created_at, revoked_at
|
|
FROM api_keys
|
|
WHERE user_id = $1
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: GetAPIKeyByHash :one
|
|
SELECT id, user_id, name, key_hash, scopes, created_at, revoked_at
|
|
FROM api_keys
|
|
WHERE key_hash = $1 AND revoked_at IS NULL;
|
|
|
|
-- name: RevokeAPIKey :exec
|
|
UPDATE api_keys SET revoked_at = now()
|
|
WHERE id = $1 AND user_id = $2 AND revoked_at IS NULL;
|
|
|
|
-- name: RevokeAllUserAPIKeys :exec
|
|
UPDATE api_keys SET revoked_at = now()
|
|
WHERE user_id = $1 AND revoked_at IS NULL;
|