import logging from fastapi import APIRouter, Depends, Query from server.utils.auth_middleware import get_admin_user from yuxi.channel.gateway.polling import polling_fallback from yuxi.storage.postgres.models_business import User logger = logging.getLogger(__name__) sse_polling_router = APIRouter(prefix="/poll", tags=["sse-polling"]) @sse_polling_router.get("") async def sse_poll( session_id: str = Query(..., description="轮询会话 ID"), current_user: User = Depends(get_admin_user), ): events = await polling_fallback.poll(session_id) if not events: return {"status": "empty", "data": None} return {"status": "ok", "data": events}