feat: add invoice-configs management functionality

This commit is contained in:
Tran Anh Tuan
2026-05-12 09:25:03 +07:00
parent 0ff65a18c0
commit eac8a686d1
14 changed files with 1534 additions and 1 deletions

View File

@@ -0,0 +1,34 @@
-- name: GetInvoiceConfigByID :one
SELECT * FROM invoice_configs
WHERE id = sqlc.arg(id);
-- name: ListInvoiceConfigs :many
SELECT * FROM invoice_configs
ORDER BY created_at DESC;
-- name: CreateInvoiceConfig :one
INSERT INTO invoice_configs (name, type, description, is_active, metadata, created_at)
VALUES (
sqlc.arg(name),
sqlc.arg(type),
sqlc.arg(description),
sqlc.arg(is_active),
sqlc.arg(metadata),
sqlc.arg(created_at)
)
RETURNING *;
-- name: UpdateInvoiceConfig :one
UPDATE invoice_configs
SET name = CASE WHEN sqlc.arg(name) = '' THEN name ELSE sqlc.arg(name) END,
type = coalesce(sqlc.arg(type), type),
description = coalesce(sqlc.arg(description), description),
is_active = coalesce(sqlc.arg(is_active), is_active),
metadata = coalesce(sqlc.arg(metadata), metadata),
updated_at = sqlc.arg(updated_at)
WHERE id = sqlc.arg(id)
RETURNING *;
-- name: DeleteInvoiceConfig :execrows
DELETE FROM invoice_configs
WHERE id = sqlc.arg(id);