2026-02-04 17:13:58 +01:00
|
|
|
from fastapi import APIRouter
|
2026-02-05 13:29:34 +01:00
|
|
|
from sqlalchemy import text
|
|
|
|
|
|
|
|
|
|
from app.core.database import async_session
|
2026-02-04 17:13:58 +01:00
|
|
|
|
|
|
|
|
router = APIRouter(tags=["health"])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/health")
|
|
|
|
|
async def health_check():
|
2026-02-05 13:29:34 +01:00
|
|
|
"""Health check endpoint with database connectivity verification."""
|
|
|
|
|
try:
|
|
|
|
|
async with async_session() as session:
|
|
|
|
|
await session.execute(text("SELECT 1"))
|
|
|
|
|
db_status = "connected"
|
|
|
|
|
except Exception:
|
|
|
|
|
db_status = "disconnected"
|
|
|
|
|
|
|
|
|
|
return {"status": "healthy", "database": db_status}
|
2026-02-04 17:13:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("/")
|
|
|
|
|
async def root():
|
|
|
|
|
"""Root endpoint."""
|
|
|
|
|
return {"message": "Nuzlocke Tracker API", "docs": "/docs"}
|