units,lesson as standalone

This commit is contained in:
2026-07-10 11:44:46 +08:00
parent 86fba50b95
commit e1ffdab190
46 changed files with 1463 additions and 197 deletions
+18
View File
@@ -66,6 +66,19 @@ const LESSON_LIST_COMPUTED = [
WHERE ul.lesson_id = "Lesson"."lesson_id"
)`,
},
{
key: "course_bound",
label: "Course Status",
type: "boolean",
literal: `(
SELECT EXISTS (
SELECT 1
FROM unit_lessons ul
JOIN course_units cu ON cu.unit_id = ul.unit_id
WHERE ul.lesson_id = "Lesson"."lesson_id"
)
)`,
},
];
// ══════════════════════════════════════════════════════════════════════════════
@@ -101,6 +114,11 @@ exports.getLessonsFlat = async (req, res) => {
WHERE ul.lesson_id = l.lesson_id) AS unit_count
FROM lessons l
WHERE l."deletedAt" IS NULL
AND NOT EXISTS (
SELECT 1 FROM unit_lessons ul2
JOIN course_units cu ON cu.unit_id = ul2.unit_id
WHERE ul2.lesson_id = l.lesson_id
)
ORDER BY l.title ASC
`, { type: sequelize.QueryTypes.SELECT });
return R.success(res, "Lessons retrieved.", rows);