29 lines
792 B
JavaScript
29 lines
792 B
JavaScript
const express = require('express');
|
|
const {
|
|
getAllProducts,
|
|
getProductById,
|
|
createProduct,
|
|
updateProduct,
|
|
deleteProduct,
|
|
getCategories,
|
|
getProductsByCategory,
|
|
updateProductStock,
|
|
} = require('../controllers/productController');
|
|
const { protect, admin } = require('../middleware/authMiddleware');
|
|
|
|
const router = express.Router();
|
|
|
|
// Public routes
|
|
router.get('/', getAllProducts);
|
|
router.get('/categories', getCategories);
|
|
router.get('/category/:category', getProductsByCategory);
|
|
router.get('/:id', getProductById);
|
|
|
|
// Admin routes
|
|
router.post('/', protect, admin, createProduct);
|
|
router.put('/:id', protect, admin, updateProduct);
|
|
router.delete('/:id', protect, admin, deleteProduct);
|
|
router.put('/:id/stock', protect, admin, updateProductStock);
|
|
|
|
module.exports = router;
|