jarvis-cloud / backend /routers /gaming_routes.py
Jarvis2345's picture
Squash history — remove all prior commits (secret hygiene, S4)
a31f556
Raw
History Blame Contribute Delete
1.25 kB
from fastapi import APIRouter, Depends
from pydantic import BaseModel
from backend.security.auth import verify_token
from backend.gaming.session_manager import GamingSession, session_registry
from backend.gaming.voice_interrupt import mute_coaching_immediately
router = APIRouter(prefix="/gaming", tags=["gaming-coach"])
class StartSessionRequest(BaseModel):
game_id: str
class EndSessionRequest(BaseModel):
session_id: str
@router.post("/session/start")
async def start_session(request: StartSessionRequest, _=Depends(verify_token)):
session = GamingSession()
await session.start_session(request.game_id)
session_registry[session.id] = session
return {"status": "ok", "session_id": session.id}
@router.post("/session/end")
async def end_session(request: EndSessionRequest, _=Depends(verify_token)):
session = session_registry.get(request.session_id)
if session:
await session.end_session()
del session_registry[request.session_id]
return {"status": "ok"}
return {"status": "error", "message": "Session not found"}
@router.post("/coach/mute")
async def mute_coach(_=Depends(verify_token)):
await mute_coaching_immediately()
return {"status": "ok", "message": "Coaching muted"}