api/resources/Products/ProductRoute.js
2024-05-03 10:31:21 +05:30

62 lines
1.6 KiB
JavaScript

import express from "express";
import {
createProduct,
getAllProductAdmin,
updateProduct,
deleteProduct,
getOneProduct,
deleteImageFromCloudinary,
getProductsByCategory,
getAllProductUser,
getAllProductsDevicesFirst,
ChangeProductStatus,
} from "./ProductController.js";
const router = express.Router();
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
router
.route("/product/create/")
.post(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
createProduct
);
router
.route("/product/getAll/admin/")
.get(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
getAllProductAdmin
);
//change Product status
router.route("/product/admin/status/:id").patch(ChangeProductStatus);
//get all product user
router.route("/product/getAll/user/").get(getAllProductUser);
router
.route("/product/getAllProductsDevicesFrist/")
.get(getAllProductsDevicesFirst);
router.route("/product/getOne/:id").get(getOneProduct);
router
.route("/product/update/:id")
.patch(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
updateProduct
);
router
.route("/product/delete/:id")
.delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteProduct
);
router
.route("/product/deleteImage/jatinMor/product/:public_id")
.delete(
isAuthenticatedUser,
authorizeRoles("admin", "Employee"),
deleteImageFromCloudinary
);
router.route("/products/category/:categoryName").get(getProductsByCategory);
export default router;