ForcePilot/backend/server/routers/gateway_sse_router.py

23 lines
673 B
Python
Raw Normal View History

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}