feat: add component_types management functionality

This commit is contained in:
Tran Anh Tuan
2026-05-11 10:15:02 +07:00
parent 7c9a0d4670
commit 50564e9b78
14 changed files with 1468 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
-- name: GetComponentTypeByID :one
SELECT * FROM component_types
WHERE id = sqlc.arg(id);
-- name: ListComponentTypes :many
SELECT * FROM component_types
ORDER BY created_at DESC;
-- name: CreateComponentType :one
INSERT INTO component_types (name, description,metadata, created_at)
VALUES (
sqlc.arg(name),
sqlc.arg(description),
sqlc.arg(metadata),
sqlc.arg(created_at)
)
RETURNING *;
-- name: UpdateComponentType :one
UPDATE component_types
SET name = CASE WHEN sqlc.arg(name) = '' THEN name ELSE sqlc.arg(name) END,
description = coalesce(sqlc.arg(description), description),
metadata = coalesce(sqlc.arg(metadata), metadata),
updated_at = sqlc.arg(updated_at)
WHERE id = sqlc.arg(id)
RETURNING *;
-- name: DeleteComponentType :execrows
DELETE FROM component_types
WHERE id = sqlc.arg(id);