25 lines
710 B
Python
25 lines
710 B
Python
from __future__ import annotations
|
|
|
|
from app.domain.editor import EditorSession
|
|
|
|
|
|
class EditorSessionRepository:
|
|
"""Temporary in-memory repository for editor sessions."""
|
|
|
|
_sessions: dict[str, EditorSession] = {}
|
|
|
|
async def create(self, session: EditorSession) -> EditorSession:
|
|
self._sessions[session.id] = session
|
|
return session
|
|
|
|
async def get(self, session_id: str) -> EditorSession | None:
|
|
return self._sessions.get(session_id)
|
|
|
|
async def update(self, session: EditorSession) -> EditorSession:
|
|
self._sessions[session.id] = session
|
|
return session
|
|
|
|
async def delete(self, session_id: str) -> None:
|
|
self._sessions.pop(session_id, None)
|
|
|