Yimaru-BackEnd/db/query/level_modules.sql

68 lines
994 B
SQL

-- name: CreateModule :one
INSERT INTO modules (
level_id,
title,
content,
display_order,
is_active
)
VALUES (
$1, -- level_id
$2, -- title
$3, -- content
$4, -- display_order
$5 -- is_active
)
RETURNING
id,
level_id,
title,
content,
display_order,
is_active;
-- name: GetModuleByID :one
SELECT
id,
level_id,
title,
content,
display_order,
is_active
FROM modules
WHERE id = $1;
-- name: ListModulesByLevel :many
SELECT
id,
level_id,
title,
content,
display_order,
is_active
FROM modules
WHERE level_id = $1
AND is_active = TRUE
ORDER BY display_order ASC, id ASC;
-- name: UpdateModule :one
UPDATE modules
SET
title = $2,
content = $3,
display_order = $4,
is_active = $5
WHERE id = $1
RETURNING
id,
level_id,
title,
content,
display_order,
is_active;
-- name: DeactivateModule :exec
UPDATE modules
SET is_active = FALSE
WHERE id = $1;