feat: add invoice-config-items management functionality

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

View File

@@ -0,0 +1,33 @@
-- name: GetInvoiceConfigItemByID :one
SELECT * FROM invoice_config_items
WHERE id = sqlc.arg(id);
-- name: ListInvoiceConfigItems :many
SELECT * FROM invoice_config_items;
-- name: CreateInvoiceConfigItem :one
INSERT INTO invoice_config_items (invoice_config_id,component_id,required_quantity, allow_alternative,priority_order, note, metadata)
VALUES (
sqlc.arg(invoice_config_id),
sqlc.arg(component_id),
sqlc.arg(required_quantity),
sqlc.arg(allow_alternative),
sqlc.arg(priority_order),
sqlc.arg(note),
sqlc.arg(metadata)
)
RETURNING *;
-- name: UpdateInvoiceConfigItem :one
UPDATE invoice_config_items
SET required_quantity = coalesce(sqlc.arg(required_quantity), required_quantity),
allow_alternative = coalesce(sqlc.arg(allow_alternative), allow_alternative),
priority_order = coalesce(sqlc.arg(priority_order), priority_order),
note = coalesce(sqlc.arg(note), note),
metadata = coalesce(sqlc.arg(metadata), metadata)
WHERE id = sqlc.arg(id)
RETURNING *;
-- name: DeleteInvoiceConfigItem :execrows
DELETE FROM invoice_config_items
WHERE id = sqlc.arg(id);