fix: load sub-module lesson by ID regardless of active flag

Course-management GET/PUT used GetSubModuleLessonByID with is_active=TRUE,
which returned no row for inactive lessons. Align with other ByID lookups
and allow admins to view and edit inactive lessons.

Made-with: Cursor
This commit is contained in:
Yared Yemane 2026-04-20 00:48:13 -07:00
parent bbd919ca12
commit 90baa582be
6 changed files with 5 additions and 7 deletions

View File

@ -98,8 +98,7 @@ ORDER BY display_order ASC, id ASC;
-- name: GetSubModuleLessonByID :one
SELECT *
FROM sub_module_lessons
WHERE id = $1
AND is_active = TRUE;
WHERE id = $1;
-- name: GetSubModulePractices :many
SELECT

View File

@ -2451,7 +2451,7 @@ const docTemplate = `{
},
"/api/v1/course-management/sub-module-lessons/{lessonId}": {
"get": {
"description": "Returns one active lesson detail by lesson ID",
"description": "Returns one lesson detail by lesson ID (active or inactive)",
"consumes": [
"application/json"
],

View File

@ -2443,7 +2443,7 @@
},
"/api/v1/course-management/sub-module-lessons/{lessonId}": {
"get": {
"description": "Returns one active lesson detail by lesson ID",
"description": "Returns one lesson detail by lesson ID (active or inactive)",
"consumes": [
"application/json"
],

View File

@ -3725,7 +3725,7 @@ paths:
get:
consumes:
- application/json
description: Returns one active lesson detail by lesson ID
description: Returns one lesson detail by lesson ID (active or inactive)
parameters:
- description: Lesson ID
in: path

View File

@ -1405,7 +1405,6 @@ const GetSubModuleLessonByID = `-- name: GetSubModuleLessonByID :one
SELECT id, sub_module_id, display_order, is_active, created_at, title, description, thumbnail, teaching_text, teaching_image_url, teaching_audio_url, teaching_video_url
FROM sub_module_lessons
WHERE id = $1
AND is_active = TRUE
`
func (q *Queries) GetSubModuleLessonByID(ctx context.Context, id int64) (SubModuleLesson, error) {

View File

@ -1857,7 +1857,7 @@ func (h *Handler) GetSubModuleLessons(c *fiber.Ctx) error {
// GetSubModuleLessonByID godoc
// @Summary Get lesson detail
// @Description Returns one active lesson detail by lesson ID
// @Description Returns one lesson detail by lesson ID (active or inactive)
// @Tags course-management
// @Accept json
// @Produce json