import { Router } from 'express'; import { requireAuth } from '../../middleware/auth'; import { requirePermission } from '../../middleware/rbac'; import { validate } from '../../middleware/validate'; import { asyncHandler } from '../../lib/asyncHandler'; import { createStockItemHandler, createStockItemSchema, getStockItemHandler, listStockItemsHandler, listStockLevelsHandler, updateStockItemHandler, updateStockItemSchema, } from './stockItems.controller'; export const stockItemsRouter = Router(); stockItemsRouter.use(requireAuth); stockItemsRouter.get('/', asyncHandler(listStockItemsHandler)); stockItemsRouter.get('/levels', asyncHandler(listStockLevelsHandler)); stockItemsRouter.get('/:id', asyncHandler(getStockItemHandler)); stockItemsRouter.post( '/', requirePermission('stock.item.manage'), validate(createStockItemSchema), asyncHandler(createStockItemHandler), ); stockItemsRouter.put( '/:id', requirePermission('stock.item.manage'), validate(updateStockItemSchema), asyncHandler(updateStockItemHandler), );