surfaces/adapter/web/store.py
2026-05-26 14:50:56 +03:00

28 lines
975 B
Python

from __future__ import annotations
import uuid
class WebSessionStore:
def __init__(self) -> None:
self._sessions: dict[str, dict] = {}
async def create_session(self, display_name: str | None = None) -> str:
session_id = "web-" + uuid.uuid4().hex[:12]
self._sessions[session_id] = {
"user_id": session_id,
"display_name": display_name or "Web User",
}
return session_id
async def get_user_id(self, session_id: str) -> str | None:
session = self._sessions.get(session_id)
return session["user_id"] if session else None
async def get_display_name(self, session_id: str) -> str | None:
session = self._sessions.get(session_id)
return session.get("display_name") if session else None
async def set_display_name(self, session_id: str, name: str) -> None:
if session_id in self._sessions:
self._sessions[session_id]["display_name"] = name