feat(adapter): implement JSON file storage adapter for issue #9

Implements RoomStorage and TrackingStorage ports using JSON file persistence:
- JsonFileRoomStorage: Stores room data at ~/.jigaido/data/<room_id>.json
- JsonFileTrackingStorage: Stores tracking data at ~/.jigaido/tracking/<room_id>_<user_id>.json

Features:
- Atomic writes using tempfile + rename for data safety
- Automatic directory creation
- Implements all methods from ports.py protocols
This commit is contained in:
shokollm
2026-04-03 09:36:31 +00:00
parent e691abce60
commit e79fbaddc5
3 changed files with 229 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
"""Storage adapters for JIGAIDO."""
from adapters.storage.json_file import JsonFileRoomStorage, JsonFileTrackingStorage
__all__ = ["JsonFileRoomStorage", "JsonFileTrackingStorage"]