from fastapi import APIRouter
from fastapi.responses import JSONResponse

from app.api.readiness import readiness_payload
from app.api.routes.chunks import router as chunks_router
from app.api.routes.health import router as health_router
from app.api.routes.meta import router as meta_router
from app.api.routes.retrieval import router as retrieval_router
from app.api.routes.status import router as status_router

router = APIRouter(prefix="/api/v1")

router.include_router(health_router)
router.include_router(meta_router)
router.include_router(chunks_router)
router.include_router(status_router)
router.include_router(retrieval_router)


@router.get("/readyz")
async def api_readyz():
    body, status_code = await readiness_payload()
    return JSONResponse(status_code=status_code, content=body)
