manikandanj's picture
Prepare AI Time Machine hackathon Space
5862322 verified
Raw
History Blame Contribute Delete
751 Bytes
from __future__ import annotations
from threading import RLock
from time_machine.domain.errors import EncounterNotFoundError
from time_machine.domain.models import EncounterSession
class InMemorySessionRepository:
def __init__(self) -> None:
self._encounters: dict[str, EncounterSession] = {}
self._lock = RLock()
def save(self, encounter: EncounterSession) -> None:
with self._lock:
self._encounters[encounter.encounter_id] = encounter
def get(self, encounter_id: str) -> EncounterSession:
with self._lock:
encounter = self._encounters.get(encounter_id)
if encounter is None:
raise EncounterNotFoundError(encounter_id)
return encounter