Files
2026-05-08 18:17:07 +07:00

32 lines
842 B
SQL

-- name: GetShelveByID :one
SELECT * FROM shelves
WHERE id = sqlc.arg(id);
-- name: ListShelves :many
SELECT * FROM shelves
ORDER BY created_at DESC;
-- name: CreateShelve :one
INSERT INTO shelves (cabinet_id,name,level_index, description, created_at)
VALUES (
sqlc.arg(cabinet_id),
sqlc.arg(name),
sqlc.arg(level_index),
sqlc.arg(description),
sqlc.arg(created_at)
)
RETURNING *;
-- name: UpdateShelve :one
UPDATE shelves
SET name = CASE WHEN sqlc.arg(name) = '' THEN name ELSE sqlc.arg(name) END,
level_index = CASE WHEN sqlc.arg(level_index) = 0 THEN level_index ELSE sqlc.arg(level_index) END,
description = coalesce(sqlc.arg(description), description),
updated_at = sqlc.arg(updated_at)
WHERE id = sqlc.arg(id)
RETURNING *;
-- name: DeleteShelve :execrows
DELETE FROM shelves
WHERE id = sqlc.arg(id);