from fastapi import APIRouter

from app.api.v1 import (
    audit,
    availability,
    bundles,
    capabilities,
    configurations,
    customer_tracking,
    dispatch_assignments,
    dispatch_jobs,
    drivers,
    external_providers,
    fleets,
    hubs,
    optimization,
    organizations,
    permissions,
    pricing_rules,
    proof_of_delivery,
    routes,
    routing_engines,
    settings,
    settlements,
    shifts,
    tracking,
    vehicle_types,
    vehicles,
    working_zones,
)

api_router = APIRouter()
api_router.include_router(
    organizations.router, prefix="/organizations", tags=["organizations"]
)
api_router.include_router(hubs.router, prefix="/hubs", tags=["hubs"])
api_router.include_router(
    external_providers.router,
    prefix="/external-providers",
    tags=["external-providers"],
)
api_router.include_router(
    routing_engines.router, prefix="/routing-engines", tags=["routing-engines"]
)
api_router.include_router(
    configurations.router, prefix="/configurations", tags=["configurations"]
)
api_router.include_router(settings.router, prefix="/settings", tags=["settings"])
api_router.include_router(audit.router, prefix="/audit", tags=["audit"])
api_router.include_router(drivers.router, prefix="/drivers", tags=["drivers"])
api_router.include_router(
    availability.router, prefix="/drivers", tags=["driver-availability"]
)
api_router.include_router(fleets.router, prefix="/fleets", tags=["fleets"])
api_router.include_router(
    vehicle_types.router, prefix="/vehicle-types", tags=["vehicle-types"]
)
api_router.include_router(vehicles.router, prefix="/vehicles", tags=["vehicles"])
api_router.include_router(shifts.router, prefix="/shifts", tags=["shifts"])
api_router.include_router(
    working_zones.router, prefix="/working-zones", tags=["working-zones"]
)
api_router.include_router(
    pricing_rules.router, prefix="/pricing-rules", tags=["pricing-rules"]
)
api_router.include_router(
    capabilities.router, prefix="/capabilities", tags=["capabilities"]
)
api_router.include_router(bundles.router, prefix="/bundles", tags=["bundles"])
api_router.include_router(
    dispatch_jobs.router, prefix="/dispatch/jobs", tags=["dispatch-jobs"]
)
api_router.include_router(
    dispatch_assignments.router,
    prefix="/dispatch/assignments",
    tags=["dispatch-assignments"],
)
api_router.include_router(routes.router, prefix="/routes", tags=["routes"])
api_router.include_router(
    optimization.router, prefix="/optimization", tags=["optimization"]
)
api_router.include_router(tracking.router, prefix="/tracking", tags=["tracking"])
api_router.include_router(
    proof_of_delivery.router,
    prefix="/proof-of-delivery",
    tags=["proof-of-delivery"],
)
api_router.include_router(
    customer_tracking.router,
    prefix="/customer-tracking",
    tags=["customer-tracking"],
)
api_router.include_router(
    settlements.router, prefix="/settlements", tags=["settlements"]
)
api_router.include_router(
    permissions.router, prefix="/permissions", tags=["permissions"]
)
