from repositories import QuizRepository from schemas import QuizGetSchema from exception import DataNotFoundException from mapper import map_quiz_entity_to_schema class QuizService: def __init__(self, quiz_repository=QuizRepository): self.quiz_repository = quiz_repository def get_quiz(self, quiz_id) -> QuizGetSchema: data = self.quiz_repository.get_by_id(quiz_id) if data is None: raise DataNotFoundException("Quiz not found") return map_quiz_entity_to_schema(data) def create_quiz(self, quiz_data): return self.quiz_repository.create(quiz_data) def update_quiz(self, quiz_id, quiz_data): return self.quiz_repository.update(quiz_id, quiz_data) def delete_quiz(self, quiz_id): return self.quiz_repository.delete(quiz_id) def quiz_recommendation(self): data = self.quiz_repository if data is None: raise DataNotFoundException("Quiz not found") return map_quiz_entity_to_schema(data)