from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from app.db.session import get_db import time health_router = APIRouter() @health_router.get("/health", tags=["health"]) async def health_check(db: Session = Depends(get_db)): """ Check service health Checks: - API is responsive - Database connection is established """ # Basic health check health_data = { "status": "healthy", "timestamp": time.time(), "version": "0.1.0", "checks": { "api": "ok", "database": "ok" } } # Verify database connection try: # Run simple query to verify connection db.execute("SELECT 1") except Exception as e: health_data["status"] = "unhealthy" health_data["checks"]["database"] = "failed" return health_data return health_data