35 lines
833 B
Python
35 lines
833 B
Python
"""Health check endpoints."""
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
from sqlalchemy import text
|
|
|
|
from app.dependencies import get_db
|
|
from app.config import settings
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("")
|
|
async def health_check(db: Session = Depends(get_db)):
|
|
"""
|
|
Health check endpoint that verifies database connectivity.
|
|
|
|
Returns:
|
|
Dictionary with health status and database connectivity
|
|
"""
|
|
try:
|
|
# Test database connection
|
|
db.execute(text("SELECT 1"))
|
|
db_status = "connected"
|
|
except Exception as e:
|
|
db_status = f"error: {str(e)}"
|
|
|
|
return {
|
|
"status": "healthy" if db_status == "connected" else "unhealthy",
|
|
"app": settings.APP_NAME,
|
|
"version": settings.APP_VERSION,
|
|
"database": db_status
|
|
}
|