Files
sena_db_api_layer/routes/categoryRoutes.js
silverpro89 f96833a7e4
All checks were successful
Deploy to Production / deploy (push) Successful in 20s
U
2026-02-27 20:10:15 +07:00

44 lines
1.6 KiB
JavaScript

const express = require('express');
const router = express.Router();
const categoryController = require('../controllers/categoryController');
/**
* Category Routes
*/
// GET /api/categories - Get all categories with pagination
router.get('/', categoryController.getAllCategories);
// GET /api/categories/active - Get all active categories
router.get('/active', categoryController.getActiveCategories);
// GET /api/categories/datatypes/schema - Get category datatypes
router.get('/datatypes/schema', categoryController.getCategoryDatatypes);
// GET /api/categories/code/:code - Get category by code
router.get('/code/:code', categoryController.getCategoryByCode);
// GET /api/categories/:id - Get category by ID
router.get('/:id', categoryController.getCategoryById);
// POST /api/categories - Create new category
router.post('/', categoryController.createCategory);
// PUT /api/categories/:id - Update category
router.put('/:id', categoryController.updateCategory);
// DELETE /api/categories/:id - Delete category
router.delete('/:id', categoryController.deleteCategory);
// ============ Nested Subject Routes ============
// GET /api/categories/:id/subjects - Get subjects by category
router.get('/:id/subjects', categoryController.getSubjectsByCategory);
// POST /api/categories/:categoryId/subjects - Add subject to category
router.post('/:categoryId/subjects', categoryController.addSubjectToCategory);
// DELETE /api/categories/:categoryId/subjects/:subjectId - Remove subject from category
router.delete('/:categoryId/subjects/:subjectId', categoryController.removeSubjectFromCategory);
module.exports = router;