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

1from usecases.get_template_useCase import GetTemplateUseCase 

2from dto.template_dto import TemplateDTO 

3from models.template_model import TemplateModel 

4 

5class GetTemplateController: 

6 

7 def __init__(self, get_template_use_case: GetTemplateUseCase): 

8 self.get_template_use_case = get_template_use_case 

9 

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 ) 

26 

27 template_result = self.get_template_use_case.get_template(template_model) 

28 

29 if template_result is None: 

30 return None 

31 

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 ) 

39 

40 except Exception as e: 

41 raise e