import { Router } from "express";
import {
    getCategories,
    createCategory,
    updateCategory,
    deleteCategory,
    reorderCategories
} from "./category.controller";

const router = Router();

import { protect } from "../../middlewares/auth.middleware";
import { attachShop } from "../../middlewares/shop.middleware";
import { requireAdminOrPosRoles } from "../../middlewares/authz.middleware";

router.use(protect);
router.use(attachShop);

router.get("/", getCategories);
router.post("/", requireAdminOrPosRoles("MANAGER"), createCategory);
router.post("/reorder", requireAdminOrPosRoles("MANAGER"), reorderCategories);
router.patch("/:id", requireAdminOrPosRoles("MANAGER"), updateCategory);
router.delete("/:id", requireAdminOrPosRoles("MANAGER"), deleteCategory);

export default router;