Files
xiaobaifupan/next/backend/http/routes/health.py
T

24 lines
684 B
Python

from fastapi import APIRouter, Request
from pydantic import BaseModel
router = APIRouter(tags=["health"])
class HealthResponse(BaseModel):
status: str
environment: str
components: dict[str, str]
@router.get("/health", response_model=HealthResponse)
def health(request: Request) -> HealthResponse:
database_status = request.app.state.container.database_status.get()
return HealthResponse(
status="ok" if database_status.available else "degraded",
environment=request.app.state.settings.environment,
components={
"process": "ok",
"database": "ok" if database_status.available else "unavailable",
},
)