import { Router } from 'express'; import { CreateManufacturerRequest, PaginationQuery, UpdateManufacturerRequest, } from '@vector/shared'; import * as ctrl from '../controllers/manufacturers.js'; import { requireAuth, requireRole } from '../middleware/auth.js'; import { validate } from '../middleware/validate.js'; const router = Router(); router.get('/', requireAuth, validate('query', PaginationQuery), ctrl.list); router.get('/:id', requireAuth, ctrl.get); router.get('/:id/insights', requireAuth, ctrl.getInsights); router.post('/', requireAuth, requireRole('ADMIN'), validate('body', CreateManufacturerRequest), ctrl.create); router.patch('/:id', requireAuth, requireRole('ADMIN'), validate('body', UpdateManufacturerRequest), ctrl.update); router.delete('/:id', requireAuth, requireRole('ADMIN'), ctrl.remove); export default router;