Files
descrybe/apps/api/sql/queries/billing.sql
T
greeneclipse 8580c996c3 Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
2026-08-09 22:47:43 +02:00

35 lines
1.1 KiB
SQL

-- name: GetCreditBalance :one
SELECT * FROM credit_balances WHERE company_id = $1 LIMIT 1;
-- name: UpsertCreditBalance :one
INSERT INTO credit_balances (company_id, total_credits, used_credits, updated_at)
VALUES ($1, $2, $3, now())
ON CONFLICT (company_id) DO UPDATE
SET total_credits = EXCLUDED.total_credits,
used_credits = EXCLUDED.used_credits,
updated_at = now()
RETURNING *;
-- name: GetActiveCompanyPlan :one
SELECT cp.*, p.name AS plan_name, p.monthly_credits, p.max_products
FROM company_plans cp
JOIN plans p ON p.id = cp.plan_id
WHERE cp.company_id = $1 AND cp.is_active = true
ORDER BY cp.created_at DESC
LIMIT 1;
-- name: ListPlans :many
SELECT * FROM plans ORDER BY id;
-- name: CreatePlan :one
INSERT INTO plans (name, description, monthly_credits, yearly_credits, max_products, is_custom, term)
VALUES ($1, $2, $3, $4, $5, $6, $7)
RETURNING *;
-- name: CreateCompanyPlan :one
INSERT INTO company_plans (
company_id, plan_id, is_active, billing_cycle_start, next_billing_date,
is_trial, trial_ends_at, trial_credits
) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING *;