26 lines
817 B
Python
26 lines
817 B
Python
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)
|