Coverage for src/app/controllers/save_template_controller.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.7.0, created at 2025-04-03 00:42 +0200

1from usecases.save_template_useCase import SaveTemplateUseCase 

2from dto.template_dto import TemplateDTO 

3from models.template_model import TemplateModel 

4 

5class SaveTemplateController: 

6 

7 def __init__(self, save_template_usecase: SaveTemplateUseCase): 

8 self.save_template_usecase = save_template_usecase 

9 

10 def save_template(self, template_dto: TemplateDTO) -> int: 

11 """ 

12 Save a template to the database. 

13 Args: 

14 template (TemplateDTO): The data transfer object containing template details. 

15 Returns: 

16 int: The ID of the saved template. 

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 return self.save_template_usecase.save_template(template_model) 

28 

29 except Exception as e: 

30 raise e