const express = require("express"); const router = express.Router(); const shopController = require("../Controller/shopController"); const authController = require("../Controller/authController"); const apiLimiter = require("../utils/rateLimit"); const twoFactorProtect = require("../utils/TwoFA"); router.use(apiLimiter(1, 100)); router .route("/") .get(shopController.getAllShopItem) .post( authController.protect, twoFactorProtect, shopController.createShopItem ); router.route("/top-3").get(shopController.getTopThree); router .route("/:id") .get(shopController.checkShopId, shopController.getOneShopItem); router.use(authController.protect); router.use(twoFactorProtect); router .route("/:id") .patch(shopController.checkShopId, shopController.changeOneShopItem) .delete(shopController.checkShopId, shopController.deleteOneShopItem); router .route("/:id/uploadPhoto") .patch( shopController.checkShopId, shopController.uploadShopImgArr, shopController.uploadImg ); router .route("/:id/deletePhoto") .delete(shopController.checkShopId, shopController.deletePhoto); router .route("/:id/updateInventory") .patch(shopController.checkShopId, shopController.changeOneInventory); module.exports = router;