from fastapi import APIRouter
from sqlalchemy import text

from app.core.database import async_session

router = APIRouter(tags=["health"])


@router.get("/health")
async def health_check():
    """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}


@router.get("/")
async def root():
    """Root endpoint."""
    return {"message": "Nuzlocke Tracker API", "docs": "/docs"}
