142 lines
2.2 KiB
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;
|
|
|