mirror of https://github.com/coder/coder.git
148 lines
3.5 KiB
SQL
148 lines
3.5 KiB
SQL
-- name: GetOAuth2ProviderApps :many
|
|
SELECT * FROM oauth2_provider_apps ORDER BY (name, id) ASC;
|
|
|
|
-- name: GetOAuth2ProviderAppByID :one
|
|
SELECT * FROM oauth2_provider_apps WHERE id = $1;
|
|
|
|
-- name: InsertOAuth2ProviderApp :one
|
|
INSERT INTO oauth2_provider_apps (
|
|
id,
|
|
created_at,
|
|
updated_at,
|
|
name,
|
|
icon,
|
|
callback_url
|
|
) VALUES(
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4,
|
|
$5,
|
|
$6
|
|
) RETURNING *;
|
|
|
|
-- name: UpdateOAuth2ProviderAppByID :one
|
|
UPDATE oauth2_provider_apps SET
|
|
updated_at = $2,
|
|
name = $3,
|
|
icon = $4,
|
|
callback_url = $5
|
|
WHERE id = $1 RETURNING *;
|
|
|
|
-- name: DeleteOAuth2ProviderAppByID :exec
|
|
DELETE FROM oauth2_provider_apps WHERE id = $1;
|
|
|
|
-- name: GetOAuth2ProviderAppSecretByID :one
|
|
SELECT * FROM oauth2_provider_app_secrets WHERE id = $1;
|
|
|
|
-- name: GetOAuth2ProviderAppSecretsByAppID :many
|
|
SELECT * FROM oauth2_provider_app_secrets WHERE app_id = $1 ORDER BY (created_at, id) ASC;
|
|
|
|
-- name: GetOAuth2ProviderAppSecretByPrefix :one
|
|
SELECT * FROM oauth2_provider_app_secrets WHERE secret_prefix = $1;
|
|
|
|
-- name: InsertOAuth2ProviderAppSecret :one
|
|
INSERT INTO oauth2_provider_app_secrets (
|
|
id,
|
|
created_at,
|
|
secret_prefix,
|
|
hashed_secret,
|
|
display_secret,
|
|
app_id
|
|
) VALUES(
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4,
|
|
$5,
|
|
$6
|
|
) RETURNING *;
|
|
|
|
-- name: UpdateOAuth2ProviderAppSecretByID :one
|
|
UPDATE oauth2_provider_app_secrets SET
|
|
last_used_at = $2
|
|
WHERE id = $1 RETURNING *;
|
|
|
|
-- name: DeleteOAuth2ProviderAppSecretByID :exec
|
|
DELETE FROM oauth2_provider_app_secrets WHERE id = $1;
|
|
|
|
-- name: GetOAuth2ProviderAppCodeByID :one
|
|
SELECT * FROM oauth2_provider_app_codes WHERE id = $1;
|
|
|
|
-- name: GetOAuth2ProviderAppCodeByPrefix :one
|
|
SELECT * FROM oauth2_provider_app_codes WHERE secret_prefix = $1;
|
|
|
|
-- name: InsertOAuth2ProviderAppCode :one
|
|
INSERT INTO oauth2_provider_app_codes (
|
|
id,
|
|
created_at,
|
|
expires_at,
|
|
secret_prefix,
|
|
hashed_secret,
|
|
app_id,
|
|
user_id
|
|
) VALUES(
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4,
|
|
$5,
|
|
$6,
|
|
$7
|
|
) RETURNING *;
|
|
|
|
-- name: DeleteOAuth2ProviderAppCodeByID :exec
|
|
DELETE FROM oauth2_provider_app_codes WHERE id = $1;
|
|
|
|
-- name: DeleteOAuth2ProviderAppCodesByAppAndUserID :exec
|
|
DELETE FROM oauth2_provider_app_codes WHERE app_id = $1 AND user_id = $2;
|
|
|
|
-- name: InsertOAuth2ProviderAppToken :one
|
|
INSERT INTO oauth2_provider_app_tokens (
|
|
id,
|
|
created_at,
|
|
expires_at,
|
|
hash_prefix,
|
|
refresh_hash,
|
|
app_secret_id,
|
|
api_key_id
|
|
) VALUES(
|
|
$1,
|
|
$2,
|
|
$3,
|
|
$4,
|
|
$5,
|
|
$6,
|
|
$7
|
|
) RETURNING *;
|
|
|
|
-- name: GetOAuth2ProviderAppTokenByPrefix :one
|
|
SELECT * FROM oauth2_provider_app_tokens WHERE hash_prefix = $1;
|
|
|
|
-- name: GetOAuth2ProviderAppsByUserID :many
|
|
SELECT
|
|
COUNT(DISTINCT oauth2_provider_app_tokens.id) as token_count,
|
|
sqlc.embed(oauth2_provider_apps)
|
|
FROM oauth2_provider_app_tokens
|
|
INNER JOIN oauth2_provider_app_secrets
|
|
ON oauth2_provider_app_secrets.id = oauth2_provider_app_tokens.app_secret_id
|
|
INNER JOIN oauth2_provider_apps
|
|
ON oauth2_provider_apps.id = oauth2_provider_app_secrets.app_id
|
|
INNER JOIN api_keys
|
|
ON api_keys.id = oauth2_provider_app_tokens.api_key_id
|
|
WHERE
|
|
api_keys.user_id = $1
|
|
GROUP BY
|
|
oauth2_provider_apps.id;
|
|
|
|
-- name: DeleteOAuth2ProviderAppTokensByAppAndUserID :exec
|
|
DELETE FROM
|
|
oauth2_provider_app_tokens
|
|
USING
|
|
oauth2_provider_app_secrets, api_keys
|
|
WHERE
|
|
oauth2_provider_app_secrets.id = oauth2_provider_app_tokens.app_secret_id
|
|
AND api_keys.id = oauth2_provider_app_tokens.api_key_id
|
|
AND oauth2_provider_app_secrets.app_id = $1
|
|
AND api_keys.user_id = $2;
|