Yimaru-BackEnd/db/query/level_modules.sql

40 lines
699 B
SQL

-- name: CreateModule :one
INSERT INTO modules (
level_id,
title,
content,
display_order,
is_active
)
VALUES ($1, $2, $3, COALESCE($4, 0), COALESCE($5, true))
RETURNING *;
-- name: GetModulesByLevel :many
SELECT
COUNT(*) OVER () AS total_count,
id,
level_id,
title,
content,
display_order,
is_active
FROM modules
WHERE level_id = $1
ORDER BY display_order ASC;
-- name: UpdateModule :exec
UPDATE modules
SET
title = COALESCE($1, title),
content = COALESCE($2, content),
display_order = COALESCE($3, display_order),
is_active = COALESCE($4, is_active)
WHERE id = $5;
-- name: DeleteModule :exec
DELETE FROM modules
WHERE id = $1;