37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const subjectController = require('../controllers/subjectController');
|
|
|
|
/**
|
|
* Subject Routes
|
|
*/
|
|
|
|
// GET /api/subjects - Get all subjects with pagination
|
|
router.get('/', subjectController.getAllSubjects);
|
|
|
|
// GET /api/subjects/active - Get all active subjects
|
|
router.get('/active', subjectController.getActiveSubjects);
|
|
|
|
// GET /api/subjects/datatypes/schema - Get subject datatypes
|
|
router.get('/datatypes/schema', subjectController.getSubjectDatatypes);
|
|
|
|
// GET /api/subjects/code/:code - Get subject by code
|
|
router.get('/code/:code', subjectController.getSubjectByCode);
|
|
|
|
// GET /api/subjects/:id - Get subject by ID
|
|
router.get('/:id', subjectController.getSubjectById);
|
|
|
|
// GET /api/subjects/:id/chapters - Get chapters by subject
|
|
router.get('/:id/chapters', subjectController.getChaptersBySubject);
|
|
|
|
// POST /api/subjects - Create new subject
|
|
router.post('/', subjectController.createSubject);
|
|
|
|
// PUT /api/subjects/:id - Update subject
|
|
router.put('/:id', subjectController.updateSubject);
|
|
|
|
// DELETE /api/subjects/:id - Delete subject
|
|
router.delete('/:id', subjectController.deleteSubject);
|
|
|
|
module.exports = router;
|