17 lines
764 B
TypeScript
17 lines
764 B
TypeScript
import { Router } from 'express';
|
|
import * as paintingSchemeController from '../controllers/paintingSchemeController.js';
|
|
import { extractUser, requireAdmin } from '../middleware/roleMiddleware.js';
|
|
|
|
const router = Router();
|
|
|
|
// Public routes (read-only)
|
|
router.get('/', paintingSchemeController.getAllPaintingSchemes);
|
|
router.get('/project/:projectId', paintingSchemeController.getPaintingSchemesByProject);
|
|
|
|
// Protected routes (require admin permission)
|
|
router.post('/', extractUser, requireAdmin, paintingSchemeController.createPaintingScheme);
|
|
router.put('/:id', extractUser, requireAdmin, paintingSchemeController.updatePaintingScheme);
|
|
router.delete('/:id', extractUser, requireAdmin, paintingSchemeController.deletePaintingScheme);
|
|
|
|
export default router;
|