import { Router } from "express";
import {
    updateOrderItemStatus,
    acknowledgeOrderItem,
    markOrderItemReady,
    batchUpdateOrderItemsStatus,
    batchAcknowledgeOrderItems,
    batchMarkOrderItemsReady,
    batchAdvanceOrderItemProductionSteps,
    batchRevertOrderItemProductionSteps,
    setOrderItemCustomizations,
    pickUpOrderItem,
    deliverOrderItem
} from "./orderItem.controller";

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

const router = Router();

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

router.post("/batch-acknowledge", batchAcknowledgeOrderItems);
router.post("/batch-ready", batchMarkOrderItemsReady);
router.post("/batch-production-step-next", batchAdvanceOrderItemProductionSteps);
router.post("/batch-production-step-previous", batchRevertOrderItemProductionSteps);
router.post("/batch-status", batchUpdateOrderItemsStatus);
router.patch("/:id/status", updateOrderItemStatus);
router.patch("/:id/customizations", setOrderItemCustomizations);
router.post("/:id/acknowledge", acknowledgeOrderItem);
router.post("/:id/ready", markOrderItemReady);
router.post("/:id/pick-up", pickUpOrderItem);
router.post("/:id/deliver", deliverOrderItem);
export default router;