import secrets from typing import Optional from rio import UserSettings from src.ez_lan_manager.types.SessionStorage import SessionStorage class LocalData(UserSettings): stored_session_token: Optional[str] = None class LocalDataService: def __init__(self) -> None: self._session: dict[str, SessionStorage] = {} def verify_token(self, token: str) -> Optional[SessionStorage]: return self._session.get(token) def set_session(self, session: SessionStorage) -> str: key = secrets.token_hex(32) self._session[key] = session return key def del_session(self, token: str) -> None: self._session.pop(token, None)