Yimaru-BackEnd/db/query/program_levels.sql

89 lines
1.5 KiB
SQL

-- name: CreateLevel :one
INSERT INTO levels (
program_id,
title,
description,
level_index,
number_of_modules,
number_of_practices,
number_of_videos,
is_active
)
VALUES (
$1, -- program_id
$2, -- title
$3, -- description
$4, -- level_index
$5, -- number_of_modules
$6, -- number_of_practices
$7, -- number_of_videos
$8 -- is_active
)
RETURNING
id,
program_id,
title,
description,
level_index,
number_of_modules,
number_of_practices,
number_of_videos,
is_active;
-- name: GetLevelByID :one
SELECT
id,
program_id,
title,
description,
level_index,
number_of_modules,
number_of_practices,
number_of_videos,
is_active
FROM levels
WHERE id = $1;
-- name: ListLevelsByProgram :many
SELECT
id,
program_id,
title,
description,
level_index,
number_of_modules,
number_of_practices,
number_of_videos,
is_active
FROM levels
WHERE program_id = $1
AND is_active = TRUE
ORDER BY level_index ASC;
-- name: UpdateLevel :one
UPDATE levels
SET
title = $2,
description = $3,
level_index = $4,
number_of_modules = $5,
number_of_practices = $6,
number_of_videos = $7,
is_active = $8
WHERE id = $1
RETURNING
id,
program_id,
title,
description,
level_index,
number_of_modules,
number_of_practices,
number_of_videos,
is_active;
-- name: DeactivateLevel :exec
UPDATE levels
SET is_active = FALSE
WHERE id = $1;