66 lines
1.5 KiB
SQL
66 lines
1.5 KiB
SQL
-- name: CreateSite :one
|
|
INSERT INTO sites (user_id, domain, is_custom_domain)
|
|
VALUES (?, ?, ?)
|
|
RETURNING *;
|
|
|
|
-- name: GetSiteByID :one
|
|
SELECT * FROM sites
|
|
WHERE id = ?;
|
|
|
|
-- name: GetSitesByUserID :many
|
|
SELECT * FROM sites
|
|
WHERE user_id = ?
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: GetSiteByDomain :one
|
|
SELECT * FROM sites
|
|
WHERE domain = ?;
|
|
|
|
-- name: DeleteSite :exec
|
|
DELETE FROM sites
|
|
WHERE id = ?;
|
|
|
|
-- name: GetSiteCountByUserID :one
|
|
SELECT COUNT(*) as count FROM sites
|
|
WHERE user_id = ?;
|
|
|
|
-- name: DeleteSiteByUserIDAndDomain :exec
|
|
DELETE FROM sites
|
|
WHERE user_id = ? AND domain = ?;
|
|
|
|
-- name: GetAllSites :many
|
|
SELECT * FROM sites
|
|
ORDER BY domain ASC;
|
|
|
|
-- name: GetAllSiteDomains :many
|
|
SELECT domain FROM sites
|
|
ORDER BY domain ASC;
|
|
|
|
-- name: UpsertSiteByDomain :one
|
|
INSERT INTO sites (user_id, domain, is_custom_domain, owner_oidc_subject)
|
|
VALUES (?, ?, ?, ?)
|
|
ON CONFLICT(domain) DO UPDATE SET
|
|
user_id = excluded.user_id,
|
|
owner_oidc_subject = excluded.owner_oidc_subject,
|
|
updated_at = CURRENT_TIMESTAMP
|
|
RETURNING *;
|
|
|
|
-- name: DeleteSiteByDomain :exec
|
|
DELETE FROM sites
|
|
WHERE domain = ?;
|
|
|
|
-- name: GetSitesByOwnerOIDCSubject :many
|
|
SELECT * FROM sites
|
|
WHERE owner_oidc_subject = ?
|
|
ORDER BY domain ASC;
|
|
|
|
-- name: ReassignSitesByOwnerOIDCSubject :exec
|
|
UPDATE sites
|
|
SET user_id = ?, updated_at = CURRENT_TIMESTAMP
|
|
WHERE owner_oidc_subject = ?;
|
|
|
|
-- name: UpdateSiteOwnership :exec
|
|
UPDATE sites
|
|
SET user_id = ?, owner_oidc_subject = ?, updated_at = CURRENT_TIMESTAMP
|
|
WHERE domain = ?;
|