36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const chapterController = require('../controllers/chapterController');
|
|
|
|
/**
|
|
* Chapter Routes
|
|
* Base path: /api/chapters
|
|
*/
|
|
|
|
// Get all chapters
|
|
router.get('/', chapterController.getAllChapters);
|
|
|
|
// Get chapter by ID
|
|
router.get('/:id', chapterController.getChapterById);
|
|
|
|
// Get lessons in a chapter
|
|
router.get('/:id/lessons', chapterController.getLessonsByChapter);
|
|
|
|
// Create new chapter
|
|
router.post('/', chapterController.createChapter);
|
|
|
|
// Update chapter
|
|
router.put('/:id', chapterController.updateChapter);
|
|
|
|
// Delete chapter
|
|
router.delete('/:id', chapterController.deleteChapter);
|
|
|
|
// ============ Nested Lesson Routes ============
|
|
// POST /api/chapters/:chapterId/lessons - Add lesson to chapter
|
|
router.post('/:chapterId/lessons', chapterController.addLessonToChapter);
|
|
|
|
// DELETE /api/chapters/:chapterId/lessons/:lessonId - Remove lesson from chapter
|
|
router.delete('/:chapterId/lessons/:lessonId', chapterController.removeLessonFromChapter);
|
|
|
|
module.exports = router;
|