Wolkendama-API / Routes / shopRouter.js
shopRouter.js
Raw
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;