feat: add invoice-configs management functionality
This commit is contained in:
34
db/queries/invoice_config.sql
Normal file
34
db/queries/invoice_config.sql
Normal 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);
|
||||
Reference in New Issue
Block a user