const express = require('express'); const { check } = require('express-validator'); const { getProducts, getProduct, createProduct, updateProduct, deleteProduct } = require('../controllers/productController'); const { protect } = require('../middleware/auth'); const router = express.Router(); // Protect all routes router.use(protect); // Get all products router.get('/', getProducts); // Get single product router.get('/:id', getProduct); // Create product router.post( '/', [ check('name', 'Product name is required').not().isEmpty(), check('quantity', 'Quantity must be a number').isNumeric(), check('description', 'Description is required').not().isEmpty() ], createProduct ); // Update product router.put( '/:id', [ check('name', 'Product name is required').optional().not().isEmpty(), check('quantity', 'Quantity must be a number').optional().isNumeric(), check('description', 'Description is required').optional().not().isEmpty() ], updateProduct ); // Delete product router.delete('/:id', deleteProduct); module.exports = router;