Files
member-console/internal/db/queries/sites.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 = ?;