ForcePilot/backend/package/yuxi/channels/adapters/bluebubbles/session_route.py

21 lines
592 B
Python
Raw Normal View History

from __future__ import annotations
from typing import Any
class SessionRoute:
def __init__(self):
self._sessions: dict[str, dict[str, Any]] = {}
def register(self, channel_id: str, session_data: dict[str, Any]) -> None:
self._sessions[channel_id] = session_data
def resolve(self, channel_id: str) -> dict[str, Any] | None:
return self._sessions.get(channel_id)
def resolve_all(self) -> list[dict[str, Any]]:
return list(self._sessions.values())
def remove(self, channel_id: str) -> None:
self._sessions.pop(channel_id, None)