40 lines
699 B
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;
|