Yimaru-BackEnd/db/query/module_videos.sql

56 lines
1.1 KiB
SQL

-- name: CreateModuleVideo :one
INSERT INTO module_videos (
module_id,
title,
description,
video_url,
duration,
resolution,
instructor_id,
thumbnail,
visibility,
is_active
)
VALUES (
$1, $2, $3, $4, $5, $6,
$7, $8, $9,
COALESCE($10, true)
)
RETURNING *;
-- name: PublishModuleVideo :exec
UPDATE module_videos
SET
is_published = true,
publish_date = CURRENT_TIMESTAMP
WHERE id = $1;
-- name: GetPublishedVideosByModule :many
SELECT *
FROM module_videos
WHERE module_id = $1
AND is_published = true
AND is_active = true
ORDER BY publish_date ASC;
-- name: UpdateModuleVideo :exec
UPDATE module_videos
SET
title = COALESCE($1, title),
description = COALESCE($2, description),
video_url = COALESCE($3, video_url),
duration = COALESCE($4, duration),
resolution = COALESCE($5, resolution),
visibility = COALESCE($6, visibility),
thumbnail = COALESCE($7, thumbnail),
is_active = COALESCE($8, is_active)
WHERE id = $9;
-- name: DeleteModuleVideo :exec
DELETE FROM module_videos
WHERE id = $1;