21 lines
592 B
Python
21 lines
592 B
Python
|
|
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)
|