feat: add component_codes management functionality

This commit is contained in:
Tran Anh Tuan
2026-05-11 11:00:46 +07:00
parent bf20286f04
commit 9ea72b4eea
14 changed files with 1562 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
-- name: GetComponentCodeByID :one
SELECT * FROM component_codes
WHERE id = sqlc.arg(id);
-- name: ListComponentCodes :many
SELECT * FROM component_codes
ORDER BY created_at DESC;
-- name: CreateComponentCode :one
INSERT INTO component_codes (component_id,code, code_type, is_primary,metadata, created_at)
VALUES (
sqlc.arg(component_id),
sqlc.arg(code),
sqlc.arg(code_type),
sqlc.arg(is_primary),
sqlc.arg(metadata),
sqlc.arg(created_at)
)
RETURNING *;
-- name: UpdateComponentCode :one
UPDATE component_codes
SET code = CASE WHEN sqlc.arg(code) = '' THEN code ELSE sqlc.arg(code) END,
component_id = coalesce(sqlc.arg(component_id), component_id),
code_type = coalesce(sqlc.arg(code_type), code_type),
is_primary = coalesce(sqlc.arg(is_primary), is_primary),
metadata = coalesce(sqlc.arg(metadata), metadata)
WHERE id = sqlc.arg(id)
RETURNING *;
-- name: DeleteComponentCode :execrows
DELETE FROM component_codes
WHERE id = sqlc.arg(id);