24 lines
566 B
Python
24 lines
566 B
Python
"""GET /api/health -> {status, version}"""
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy import text
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.database import get_db
|
|
from app.version import VERSION
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/health")
|
|
def health(db: Session = Depends(get_db)):
|
|
db_status = "ok"
|
|
try:
|
|
db.execute(text("SELECT 1"))
|
|
except Exception: # noqa: BLE001
|
|
db_status = "error"
|
|
return {
|
|
"status": "ok" if db_status == "ok" else "degraded",
|
|
"version": VERSION,
|
|
"db": db_status,
|
|
}
|