from fastapi import APIRouter from socketio import AsyncServer from .socket import Socket from .game import game_router from .create_room import create_room_router def get_backend() -> tuple[APIRouter, AsyncServer]: router = APIRouter(prefix="/api") sio = AsyncServer(async_mode="asgi") server = Socket(sio) @sio.on("connect") # type: ignore async def sio_connect(sid, _): socket = server.to(sid) await create_room_router(server, socket) return router, sio