.
This commit is contained in:
@@ -4,7 +4,7 @@ from datetime import datetime
|
||||
from redis.asyncio import Redis
|
||||
|
||||
from ..config import Settings
|
||||
from ..models import ConversationSessionDTO
|
||||
from ..models import ConversationSession
|
||||
from ..models.notification import NotificationSession, Notification
|
||||
|
||||
|
||||
@@ -48,9 +48,7 @@ class RedisService:
|
||||
"""Generate Redis key for phone-to-session mapping."""
|
||||
return f"conversation:phone:{phone}"
|
||||
|
||||
async def get_session(
|
||||
self, session_id_or_phone: str
|
||||
) -> ConversationSessionDTO | None:
|
||||
async def get_session(self, session_id_or_phone: str) -> ConversationSession | None:
|
||||
"""
|
||||
Retrieve conversation session from Redis by session ID or phone number.
|
||||
|
||||
@@ -84,14 +82,14 @@ class RedisService:
|
||||
|
||||
try:
|
||||
session_dict = json.loads(data)
|
||||
session = ConversationSessionDTO.model_validate(session_dict)
|
||||
session = ConversationSession.model_validate(session_dict)
|
||||
logger.debug(f"Retrieved session from Redis: {session_id}")
|
||||
return session
|
||||
except Exception as e:
|
||||
logger.error(f"Error deserializing session {session_id}: {str(e)}")
|
||||
return None
|
||||
|
||||
async def save_session(self, session: ConversationSessionDTO) -> bool:
|
||||
async def save_session(self, session: ConversationSession) -> bool:
|
||||
"""
|
||||
Save conversation session to Redis with TTL.
|
||||
|
||||
@@ -156,7 +154,7 @@ class RedisService:
|
||||
|
||||
Args:
|
||||
session_id: The session ID
|
||||
message: ConversationMessageDTO or ConversationEntryDTO
|
||||
message: ConversationEntry
|
||||
|
||||
Returns:
|
||||
True if successful, False otherwise
|
||||
@@ -285,9 +283,7 @@ class RedisService:
|
||||
# Save to Redis
|
||||
await self._cache_notification_session(updated_session)
|
||||
|
||||
async def _cache_notification_session(
|
||||
self, session: NotificationSession
|
||||
) -> bool:
|
||||
async def _cache_notification_session(self, session: NotificationSession) -> bool:
|
||||
"""Cache notification session in Redis."""
|
||||
if not self.redis:
|
||||
raise RuntimeError("Redis client not connected")
|
||||
|
||||
Reference in New Issue
Block a user