67 lines
1.7 KiB
JavaScript
67 lines
1.7 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", "Employee"),
|
|
createProduct
|
|
);
|
|
router
|
|
.route("/product/getAll/admin/")
|
|
.get(
|
|
isAuthenticatedUser,
|
|
authorizeRoles("admin", "Employee"),
|
|
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", "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;
|