48 lines
1.2 KiB
SQL
48 lines
1.2 KiB
SQL
-- name: InsertGlobalSetting :exec
|
|
INSERT INTO global_settings (key, value)
|
|
VALUES ($1, $2) ON CONFLICT (key) DO
|
|
UPDATE
|
|
SET value = EXCLUDED.value;
|
|
-- name: GetGlobalSettings :many
|
|
SELECT *
|
|
FROM global_settings;
|
|
-- name: GetGlobalSetting :one
|
|
SELECT *
|
|
FROM global_settings
|
|
WHERE key = $1;
|
|
-- name: UpdateGlobalSetting :exec
|
|
UPDATE global_settings
|
|
SET value = $2,
|
|
updated_at = CURRENT_TIMESTAMP
|
|
WHERE key = $1;
|
|
-- name: InsertCompanySetting :exec
|
|
INSERT INTO company_settings (company_id, key, value)
|
|
VALUES ($1, $2, $3) ON CONFLICT (company_id, key) DO
|
|
UPDATE
|
|
SET value = EXCLUDED.value;
|
|
-- name: GetAllCompanySettings :many
|
|
SELECT *
|
|
FROM company_settings;
|
|
-- name: GetCompanySetting :many
|
|
SELECT *
|
|
FROM company_settings
|
|
WHERE company_id = $1;
|
|
-- name: GetCompanySettingsByKey :many
|
|
SELECT *
|
|
FROM company_settings
|
|
WHERE key = $1;
|
|
-- name: GetOverrideSettings :many
|
|
SELECT gs.key,
|
|
gs.created_at,
|
|
gs.updated_at,
|
|
COALESCE(cs.value, gs.value) AS value
|
|
FROM global_settings gs
|
|
LEFT JOIN company_settings cs ON cs.key = gs.key
|
|
AND cs.company_id = $1;
|
|
-- name: DeleteCompanySetting :exec
|
|
DELETE FROM company_settings
|
|
WHERE company_id = $1
|
|
AND key = $2;
|
|
-- name: DeleteAllCompanySetting :exec
|
|
DELETE FROM company_settings
|
|
WHERE company_id = $1; |