from fastapi import APIRouter from app.db.health import ping_database from app.db.session import create_engine from app.schemas.system import HealthResponse, ReadyResponse router = APIRouter() @router.get("/health", response_model=HealthResponse) async def health_check() -> HealthResponse: return HealthResponse(status="ok") @router.get("/ready", response_model=ReadyResponse) async def readiness_check() -> ReadyResponse: database_ok = await ping_database(create_engine()) return ReadyResponse( status="ready" if database_ok else "degraded", database="ok" if database_ok else "error", )