mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
40 lines
2.3 KiB
JavaScript
40 lines
2.3 KiB
JavaScript
/***********************************************************************************************************************************************************************
|
|
* 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");
|
|
|
|
// 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("/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);
|
|
|
|
module.exports = router;
|