57 lines
1.7 KiB
Python
57 lines
1.7 KiB
Python
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))
|