50 lines
1.6 KiB
JavaScript
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;
|