from fastapi import APIRouter, Depends from sqlalchemy import text from sqlalchemy.orm import Session from app.database import get_db from app.version import APP_NAME, APP_VERSION router = APIRouter(tags=["health"]) def build_health_payload(db: Session) -> dict: db_status = "ok" try: db.execute(text("SELECT 1")) except Exception: db_status = "error" return { "status": "ok" if db_status == "ok" else "degraded", "database": db_status, "service": "security-alert-center", "name": APP_NAME, "version": APP_VERSION, } @router.get("/health") def health(db: Session = Depends(get_db)) -> dict: return build_health_payload(db) @router.get("/healthz") def healthz(db: Session = Depends(get_db)) -> dict: """Kubernetes-style alias; same payload as /health.""" return build_health_payload(db)