36 lines
1.2 KiB
SQL
36 lines
1.2 KiB
SQL
-- name: GetAlternativeComponentByID :one
|
|
SELECT * FROM alternative_components
|
|
WHERE id = sqlc.arg(id);
|
|
|
|
-- name: ListAlternativeComponents :many
|
|
SELECT * FROM alternative_components;
|
|
|
|
-- name: CreateAlternativeComponent :one
|
|
INSERT INTO alternative_components (invoice_config_item_id, alternative_component_id, conversion_ratio, priority, note, metadata)
|
|
VALUES (
|
|
sqlc.arg(invoice_config_item_id),
|
|
sqlc.arg(alternative_component_id),
|
|
sqlc.arg(conversion_ratio),
|
|
sqlc.arg(priority),
|
|
sqlc.arg(note),
|
|
sqlc.arg(metadata)
|
|
)
|
|
RETURNING *;
|
|
|
|
-- name: UpdateAlternativeComponent :one
|
|
UPDATE alternative_components
|
|
SET invoice_config_item_id = coalesce(sqlc.arg(invoice_config_item_id), invoice_config_item_id),
|
|
alternative_component_id = coalesce(sqlc.arg(alternative_component_id), alternative_component_id),
|
|
conversion_ratio = coalesce(sqlc.arg(conversion_ratio), conversion_ratio),
|
|
priority = coalesce(sqlc.arg(priority), priority),
|
|
note = coalesce(sqlc.arg(note), note),
|
|
metadata = coalesce(sqlc.arg(metadata), metadata)
|
|
WHERE id = sqlc.arg(id)
|
|
RETURNING *;
|
|
|
|
-- name: DeleteAlternativeComponent :execrows
|
|
DELETE FROM alternative_components
|
|
WHERE id = sqlc.arg(id);
|
|
|
|
|