mirror of
https://github.com/PrivateCaptcha/PrivateCaptcha.git
synced 2026-02-11 00:08:47 -06:00
27 lines
1.1 KiB
SQL
27 lines
1.1 KiB
SQL
-- name: GetAPIKeyByExternalID :one
|
|
SELECT * FROM backend.apikeys WHERE external_id = $1;
|
|
|
|
-- name: GetUserAPIKeys :many
|
|
SELECT * FROM backend.apikeys WHERE user_id = $1 AND expires_at > NOW();
|
|
|
|
-- name: GetUserAPIKeyByName :one
|
|
SELECT * FROM backend.apikeys WHERE user_id = $1 AND name = $2 AND expires_at > NOW();
|
|
|
|
-- name: CreateAPIKey :one
|
|
INSERT INTO backend.apikeys (name, user_id, expires_at, requests_per_second, requests_burst, period, scope, readonly, org_id) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING *;
|
|
|
|
-- name: UpdateAPIKey :one
|
|
UPDATE backend.apikeys SET expires_at = $1, enabled = $2, updated_at = NOW() WHERE external_id = $3 RETURNING *;
|
|
|
|
-- name: RotateAPIKey :one
|
|
UPDATE backend.apikeys SET external_id = gen_random_uuid(), expires_at = NOW() + period, updated_at = NOW() WHERE id = $1 AND user_id = $2 RETURNING *;
|
|
|
|
-- name: DeleteUserAPIKeys :exec
|
|
DELETE FROM backend.apikeys WHERE user_id = $1;
|
|
|
|
-- name: DeleteAPIKey :one
|
|
DELETE FROM backend.apikeys WHERE id=$1 AND user_id = $2 RETURNING *;
|
|
|
|
-- name: UpdateAPIKeysLastUsedAt :exec
|
|
UPDATE backend.apikeys SET last_used_at = NOW() WHERE id = ANY($1::int[]);
|