mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
31 lines
2.4 KiB
JavaScript
31 lines
2.4 KiB
JavaScript
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;
|