28 lines
682 B
Python
28 lines
682 B
Python
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
from typing import Dict
|
|
|
|
from app.db.base import get_db
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/")
|
|
def health_check(db: Session = Depends(get_db)) -> Dict[str, str]:
|
|
"""
|
|
Perform a health check on the API.
|
|
|
|
Checks database connection and returns status information.
|
|
"""
|
|
# Check database connection
|
|
try:
|
|
# Try to execute a simple query
|
|
db.execute("SELECT 1").first()
|
|
db_status = "healthy"
|
|
except Exception:
|
|
db_status = "unhealthy"
|
|
|
|
return {
|
|
"status": "ok" if db_status == "healthy" else "error",
|
|
"database": db_status,
|
|
} |