mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
chore: relocate backend into apps/api ahead of monorepo merge
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
/***********************************************************************************************************************************************************************
|
||||
* File Name: lessons.routes.js (admin)
|
||||
* Type of Program: Router
|
||||
* Description: Standalone Lesson library — Lessons run independently of Units.
|
||||
* Unit membership (attach/detach/reorder) lives under
|
||||
* /admin/units/:unitId/lessons.
|
||||
*
|
||||
* Author: Kenneth Obsequio (@lash0000)
|
||||
* Date Created: Jul. 7, 2026
|
||||
***********************************************************************************************************************************************************************/
|
||||
const router = require("express").Router();
|
||||
const ctrl = require("../../controllers/admin/lessons.controller");
|
||||
const requirementsCtrl = require("../../controllers/admin/completion_requirements.controller");
|
||||
|
||||
// Guards are applied by admin.routes.js (authenticate → requireAdmin → adminLimiter)
|
||||
|
||||
// ── static segments first ─────────────────────────────────────────────────────
|
||||
router.get("/", ctrl.getLessons);
|
||||
router.post("/", ctrl.createLesson);
|
||||
router.get("/flat", ctrl.getLessonsFlat);
|
||||
router.get("/by-subscription", ctrl.getLessonsBySubscription);
|
||||
router.get("/field-values", ctrl.getLessonFieldValues);
|
||||
router.delete("/bulk", ctrl.bulkArchiveLessons);
|
||||
router.delete("/bulk/permanent", ctrl.bulkPermanentlyDeleteLessons);
|
||||
router.get("/archives", ctrl.getArchivedLessons);
|
||||
router.patch("/restore/bulk", ctrl.bulkRestoreLessons);
|
||||
router.get("/archives/:lessonId", ctrl.getArchivedLesson);
|
||||
|
||||
// ── then :lessonId ────────────────────────────────────────────────────────────
|
||||
router.patch("/:lessonId/restore", ctrl.restoreLesson);
|
||||
router.get("/:lessonId/permanent-delete-impact", ctrl.getLessonPermanentDeleteImpact);
|
||||
router.get("/:lessonId", ctrl.getLesson);
|
||||
router.put("/:lessonId", ctrl.updateLesson);
|
||||
router.delete("/:lessonId", ctrl.archiveLesson);
|
||||
router.delete("/:lessonId/permanent", ctrl.permanentlyDeleteLesson);
|
||||
|
||||
// ── Lesson page (block content) ───────────────────────────────────────────────
|
||||
router.get("/:lessonId/page", ctrl.getLessonPage);
|
||||
router.put("/:lessonId/page", ctrl.upsertLessonPage);
|
||||
|
||||
// ── Completion requirements (shared with the nested courses.routes.js mount) ──
|
||||
router.get("/:lessonId/requirements", requirementsCtrl.getLessonRequirements);
|
||||
router.put("/:lessonId/requirements", requirementsCtrl.syncLessonRequirements);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user