Yimaru-BackEnd/db/query/module_videos.sql

142 lines
2.2 KiB
SQL

-- name: CreateModuleVideo :one
INSERT INTO module_videos (
module_id,
title,
description,
video_url,
duration,
resolution,
is_published,
publish_date,
visibility,
instructor_id,
thumbnail,
is_active
)
VALUES (
$1, -- module_id
$2, -- title
$3, -- description
$4, -- video_url
$5, -- duration
$6, -- resolution
$7, -- is_published
$8, -- publish_date
$9, -- visibility
$10, -- instructor_id
$11, -- thumbnail
$12 -- is_active
)
RETURNING
id,
module_id,
title,
description,
video_url,
duration,
resolution,
is_published,
publish_date,
visibility,
instructor_id,
thumbnail,
is_active;
-- name: GetModuleVideoByID :one
SELECT
id,
module_id,
title,
description,
video_url,
duration,
resolution,
is_published,
publish_date,
visibility,
instructor_id,
thumbnail,
is_active
FROM module_videos
WHERE id = $1;
-- name: ListPublishedVideosByModule :many
SELECT
id,
module_id,
title,
description,
video_url,
duration,
resolution,
publish_date,
visibility,
instructor_id,
thumbnail
FROM module_videos
WHERE module_id = $1
AND is_active = TRUE
AND is_published = TRUE
ORDER BY publish_date ASC, id ASC;
-- name: ListAllVideosByModule :many
SELECT
id,
module_id,
title,
description,
video_url,
duration,
resolution,
is_published,
publish_date,
visibility,
instructor_id,
thumbnail,
is_active
FROM module_videos
WHERE module_id = $1
ORDER BY id ASC;
-- name: UpdateModuleVideo :one
UPDATE module_videos
SET
title = $2,
description = $3,
video_url = $4,
duration = $5,
resolution = $6,
is_published = $7,
publish_date = $8,
visibility = $9,
instructor_id = $10,
thumbnail = $11,
is_active = $12
WHERE id = $1
RETURNING
id,
module_id,
title,
description,
video_url,
duration,
resolution,
is_published,
publish_date,
visibility,
instructor_id,
thumbnail,
is_active;
-- name: DeactivateModuleVideo :exec
UPDATE module_videos
SET is_active = FALSE
WHERE id = $1;