"""Health check endpoint.""" from fastapi import APIRouter, Depends from fastapi.responses import JSONResponse from sqlmodel import Session, text from app.core.db import get_session router = APIRouter() @router.get("/health") def health(session: Session = Depends(get_session)): """Health check for load balancers. Does not write to DB so it can recover after DB outages.""" try: session.exec(text("SELECT 1")) except Exception: session.rollback() return JSONResponse( content={"status": "unhealthy", "error": "database unavailable"}, status_code=503, ) return {"status": "healthy"}