api/resources/Products/ProductRoute.js
Sibunnayak cf993bf06a update
2024-07-26 08:39:02 +05:30

50 lines
1.6 KiB
JavaScript

import express from "express";
import {
createProduct,
getAllProductAdmin,
updateProduct,
deleteProduct,
getOneProduct,
deleteImageFromCloudinary,
getProductsByCategory,
getAllProductUser,
getAllProductsDevicesFirst,
ChangeProductStatus,
ChangeFeatueProductStatus,
} from "./ProductController.js";
const router = express.Router();
import { isAuthenticatedUser, authorizeRoles } from "../../middlewares/auth.js";
router
.route("/product/create/")
.post(isAuthenticatedUser, authorizeRoles("admin"), createProduct);
router
.route("/product/getAll/admin/")
.get(isAuthenticatedUser, authorizeRoles("admin"), getAllProductAdmin);
//change Product status
router.route("/product/admin/status/:id").patch(ChangeProductStatus);
router
.route("/product/admin/feature_product/status/:id")
.patch(ChangeFeatueProductStatus);
//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"), updateProduct);
router
.route("/product/delete/:id")
.delete(isAuthenticatedUser, authorizeRoles("admin"), deleteProduct);
router
.route("/product/deleteImage/:public_id")
.delete(
isAuthenticatedUser, authorizeRoles("admin"),
deleteImageFromCloudinary
);
router.route("/products/category/:categoryName").get(getProductsByCategory);
export default router;