import { Router } from "express";
import { protect } from "../../middlewares/auth.middleware";
import { attachShop } from "../../middlewares/shop.middleware";
import {
    getLogisticsRoutes,
    getLogisticsRoute,
    postLogisticsRoute,
    patchLogisticsRoute,
    deleteLogisticsRouteHandler,
} from "./logisticsRoute.controller";

const router = Router({ mergeParams: true });

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

// GET    /api/shops/:shopId/logistics-routes         → liste toutes les routes
router.get("/", getLogisticsRoutes);

// GET    /api/shops/:shopId/logistics-routes/:id     → détail d'une route
router.get("/:id", getLogisticsRoute);

// POST   /api/shops/:shopId/logistics-routes         → créer une route avec ses étapes
router.post("/", postLogisticsRoute);

// PATCH  /api/shops/:shopId/logistics-routes/:id     → modifier une route (et optionnellement ses étapes)
router.patch("/:id", patchLogisticsRoute);

// DELETE /api/shops/:shopId/logistics-routes/:id     → supprimer une route
router.delete("/:id", deleteLogisticsRouteHandler);

export default router;

