"""
Endpoints de health check.
"""
import logging
from fastapi import APIRouter
from fastapi.responses import JSONResponse

from core.session_manager import session_manager

router = APIRouter()
logger = logging.getLogger(__name__)


@router.get("/health")
async def health_check():
    """Health check — devuelve OK si Redis responde."""
    try:
        pong = await session_manager.client.ping()
        if not pong:
            return JSONResponse(status_code=503, content={"status": "error", "detail": "Redis no respondió al ping"})
    except Exception as e:
        logger.error(f"Health check failed: {e}")
        return JSONResponse(status_code=503, content={"status": "error", "detail": str(e)})

    return {"status": "OK"}
