from fastapi import APIRouter from backend.app.schemas.common import success_payload from backend.app.services.logistics_service import logistics_service router = APIRouter(tags=["logistics"]) @router.get("/api/logistics/tasks") def list_logistics_tasks() -> dict: return success_payload(logistics_service.list_tasks()) @router.post("/api/logistics/tasks") def create_logistics_task() -> dict: return success_payload(logistics_service.create_task()) @router.get("/api/logistics/tasks/{task_id}") def get_logistics_task(task_id: int) -> dict: return success_payload(logistics_service.get_task(task_id)) @router.get("/api/driver/tasks") def list_driver_tasks() -> dict: return success_payload(logistics_service.list_driver_tasks()) @router.get("/api/driver/tasks/{task_id}") def get_driver_task(task_id: int) -> dict: return success_payload(logistics_service.get_driver_task(task_id)) @router.post("/api/driver/tasks/{task_id}/accept") def accept_driver_task(task_id: int) -> dict: return success_payload(logistics_service.accept_task(task_id)) @router.post("/api/driver/tasks/{task_id}/pickup") def pickup_driver_task(task_id: int) -> dict: return success_payload(logistics_service.pickup_task(task_id)) @router.post("/api/driver/tasks/{task_id}/deliver") def deliver_driver_task(task_id: int) -> dict: return success_payload(logistics_service.deliver_task(task_id)) @router.get("/api/logistics/{order_id}/trace") def get_logistics_trace(order_id: int) -> dict: return success_payload(logistics_service.get_trace(order_id)) @router.post("/api/logistics/{order_id}/trace") def create_logistics_trace(order_id: int) -> dict: return success_payload(logistics_service.create_trace(order_id))