Files
member-console/internal/billing/queries/subscriptions.sql
2026-04-06 03:15:20 -05:00

42 lines
1.1 KiB
SQL

-- name: CreateSubscription :one
INSERT INTO billing.subscriptions (billing_account_id, status, current_period_start, current_period_end)
VALUES ($1, $2, $3, $4)
RETURNING *;
-- name: GetSubscriptionByID :one
SELECT * FROM billing.subscriptions
WHERE subscription_id = $1;
-- name: GetSubscriptionsByBillingAccountID :many
SELECT * FROM billing.subscriptions
WHERE billing_account_id = $1
ORDER BY created_at DESC;
-- name: UpdateSubscriptionStatus :one
UPDATE billing.subscriptions
SET status = $2,
current_period_start = $3,
current_period_end = $4,
cancel_at_period_end = $5,
canceled_at = $6,
ended_at = $7
WHERE subscription_id = $1
RETURNING *;
-- name: ListSubscriptions :many
SELECT
s.subscription_id,
s.billing_account_id,
s.status,
s.current_period_start,
s.current_period_end,
s.cancel_at_period_end,
s.canceled_at,
s.ended_at,
s.created_at,
s.updated_at,
ba.name as billing_account_name
FROM billing.subscriptions s
JOIN billing.accounts ba ON s.billing_account_id = ba.billing_account_id
ORDER BY s.created_at DESC;