Coverage for src/app/controllers/get_template_controller.py: 41%
15 statements
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:51 +0200
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:51 +0200
1from usecases.get_template_useCase import GetTemplateUseCase
2from dto.template_dto import TemplateDTO
3from models.template_model import TemplateModel
5class GetTemplateController:
7 def __init__(self, get_template_use_case: GetTemplateUseCase):
8 self.get_template_use_case = get_template_use_case
10 def get_template(self, template_dto: TemplateDTO) -> TemplateDTO:
11 """
12 get the template from db using id to get it.
13 Args:
14 template (TemplateDTO): The template to be retrieved.
15 Returns:
16 TemplateDTO: The template retrieved from db.
17 """
18 try:
19 template_model = TemplateModel(
20 id=template_dto.get_id(),
21 question=template_dto.get_question(),
22 answer=template_dto.get_answer(),
23 author_id=template_dto.get_author_id(),
24 last_modified=template_dto.get_last_modified()
25 )
27 template_result = self.get_template_use_case.get_template(template_model)
29 if template_result is None:
30 return None
32 return TemplateDTO(
33 id=template_result.get_id(),
34 question=template_result.get_question(),
35 answer=template_result.get_answer(),
36 author_id=template_result.get_author_id(),
37 last_modified=template_result.get_last_modified()
38 )
40 except Exception as e:
41 raise e