This commit is contained in:
2026-08-24 17:59:33 +03:00
parent 1fbe845b30
commit 65a2521156
5 changed files with 136 additions and 24 deletions

View File

@@ -1991,6 +1991,7 @@ class VmixAgentHub:
tournament_external_id: str = "",
device_id: str = "",
operator_session_token: str = "",
wait_for_mapping: bool = True,
) -> dict[str, Any] | None:
"""Assign a match to exactly one Agent. Never broadcast to all active Agents."""
game_external_id = str(game_external_id or "").strip()
@@ -2094,7 +2095,17 @@ class VmixAgentHub:
)
payload["delivered"] = delivered
if delivered:
payload["mapping_apply"] = await self.apply_mapping_to_device(resolved_device_id, reason="match_assigned")
if wait_for_mapping:
payload["mapping_apply"] = await self.apply_mapping_to_device(
resolved_device_id, reason="match_assigned"
)
else:
payload["mapping_apply"] = {
"ok": True,
"deferred": True,
"reason": "match_assigned",
"device_id": resolved_device_id,
}
return payload
async def select_device_for_session(