Yimaru-BackEnd/db/query/market_settings.sql

57 lines
2.1 KiB
SQL

-- name: InsertGlobalMarketSettings :exec
INSERT INTO global_odd_market_settings (market_id, market_name, is_active)
VALUES ($1, $2, $3) ON CONFLICT (market_id) DO
UPDATE
SET is_active = EXCLUDED.is_active,
updated_at = CURRENT_TIMESTAMP;
-- name: InsertCompanyMarketSettings :exec
INSERT INTO company_odd_market_settings (company_id, market_id, market_name, is_active)
VALUES ($1, $2, $3, $4) ON CONFLICT (company_id, market_id) DO
UPDATE
SET is_active = EXCLUDED.is_active,
updated_at = CURRENT_TIMESTAMP;
-- name: GetAllGlobalMarketSettings :many
SELECT *
FROM global_odd_market_settings
LIMIT sqlc.narg('limit') OFFSET sqlc.narg('offset');
-- name: GetGlobalMarketSettingsByID :one
SELECT *
FROM global_odd_market_settings
WHERE market_id = $1;
-- name: GetAllCompanyMarketSettings :many
SELECT *
FROM company_odd_market_settings
WHERE (
company_id = sqlc.narg('company_id')
OR sqlc.narg('company_id') IS NULL
)
LIMIT sqlc.narg('limit') OFFSET sqlc.narg('offset');
-- name: GetCompanyMarketSettingsByID :one
SELECT *
FROM company_odd_market_settings
WHERE market_id = $1;
-- name: GetAllOverrideMarketSettings :many
SELECT gdm.market_id,
gdm.market_name,
COALESCE(cdm.is_active, gdm.is_active) AS is_active,
COALESCE(cdm.updated_at, gdm.updated_at) AS updated_at
FROM global_odd_market_settings gdm
LEFT JOIN company_odd_market_settings cdm ON cdm.market_id = gdm.market_id
AND company_id = $1
LIMIT sqlc.narg('limit') OFFSET sqlc.narg('offset');
-- name: GetOverrideMarketSettingByID :one
SELECT gdm.market_id,
gdm.market_name,
COALESCE(cdm.is_active, gdm.is_active) AS is_active,
COALESCE(cdm.updated_at, gdm.updated_at) AS updated_at
FROM global_odd_market_settings gdm
LEFT JOIN company_odd_market_settings cdm ON cdm.market_id = gdm.market_id
AND company_id = $1
WHERE gdm.market_id = $2;
-- name: DeleteAllMarketSettingsForCompany :exec
DELETE FROM company_odd_market_settings
WHERE company_id = $1;
-- name: DeleteCompanyMarketSettings :exec
DELETE FROM company_odd_market_settings
WHERE market_id = $1
AND company_id = $2;