added: course func()

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-05-16 11:04:36 +08:00
parent c3663572ae
commit 6907e9bb2d
8 changed files with 596 additions and 6 deletions
+30
View File
@@ -0,0 +1,30 @@
const router = require("express").Router();
const controller = require("../../controllers/admin/courses.controller");
const { sensitiveOpsLimiter } = require("../../middleware/rateLimiter.middleware");
// ─── Courses ──────────────────────────────────────────────────────────────────
router.get("/", controller.getCourses);
router.post("/", sensitiveOpsLimiter, controller.createCourse);
router.get("/:courseId", controller.getCourse);
router.patch("/:courseId", sensitiveOpsLimiter, controller.updateCourse);
router.delete("/:courseId", sensitiveOpsLimiter, controller.deleteCourse);
// ─── Units ────────────────────────────────────────────────────────────────────
router.get("/:courseId/units", controller.getUnits);
router.post("/:courseId/units", sensitiveOpsLimiter, controller.createUnit);
router.get("/:courseId/units/:unitId", controller.getUnit);
router.patch("/:courseId/units/:unitId", sensitiveOpsLimiter, controller.updateUnit);
router.delete("/:courseId/units/:unitId", sensitiveOpsLimiter, controller.deleteUnit);
// ─── Lessons ──────────────────────────────────────────────────────────────────
router.get("/:courseId/units/:unitId/lessons", controller.getLessons);
router.post("/:courseId/units/:unitId/lessons", sensitiveOpsLimiter, controller.createLesson);
router.get("/:courseId/units/:unitId/lessons/:lessonId", controller.getLesson);
router.patch("/:courseId/units/:unitId/lessons/:lessonId", sensitiveOpsLimiter, controller.updateLesson);
router.delete("/:courseId/units/:unitId/lessons/:lessonId", sensitiveOpsLimiter, controller.deleteLesson);
// ─── Lesson Page ──────────────────────────────────────────────────────────────
router.get("/:courseId/units/:unitId/lessons/:lessonId/page", controller.getLessonPage);
router.put("/:courseId/units/:unitId/lessons/:lessonId/page", sensitiveOpsLimiter, controller.upsertLessonPage);
module.exports = router;