diff --git a/app/repositories/session_memory_repository.py b/app/repositories/session_memory_repository.py index 8577aad..89d8b3e 100644 --- a/app/repositories/session_memory_repository.py +++ b/app/repositories/session_memory_repository.py @@ -90,3 +90,19 @@ class SessionMemoryRepository: self.set_data(self._build_key(session_id), session) return True + + def delete_session(self, session_id: str) -> bool: + """ + Delete a session by its session_id. + + Args: + session_id (str): The ID of the session to delete. + + Returns: + bool: True if the session was deleted, False if it did not exist. + """ + key = self._build_key(session_id) + if self.redis.exists(key): + self.delete_key(key) + return True + return False diff --git a/app/services/session_service.py b/app/services/session_service.py index 49a4b12..8effcdd 100644 --- a/app/services/session_service.py +++ b/app/services/session_service.py @@ -308,3 +308,8 @@ class SessionService: ) self.answer_repository.create(userAnswer) + + self.session_redis_repository.delete_session(session_id=session_id) + self.quiz_redis_repository.delete_quiz_for_session(session_id=session_id) + self.answer_redis_repository.delete_all_answers(session_id=session_id) + self.score_redis_repository.delete_scores(session_id=session_id) \ No newline at end of file