-- 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;