Coverage for src/app/controllers/get_support_message_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 dto.support_message_dto import SupportMessageDTO
2from usecases.get_support_message_useCase import GetSupportMessageUseCase
3from models.support_message_model import SupportMessageModel
6class GetSupportMessageController:
7 """
8 Controller for retrieving a support message from the database.
9 """
11 def __init__(self, get_support_message_usecase: GetSupportMessageUseCase):
12 self.get_support_message_usecase = get_support_message_usecase
14 def get_support_message(self, support_message_dto: SupportMessageDTO) -> SupportMessageDTO:
15 """
16 Retrieve a support message from the database.
18 Args:
19 support_message_dto (SupportMessageDTO): The data transfer object containing support message details.
21 Returns:
22 SupportMessageDTO: The data transfer object containing support message details.
23 """
24 try:
25 support_message_model = SupportMessageModel(
26 id=support_message_dto.get_id(),
27 user_id=support_message_dto.get_user_id(),
28 description=support_message_dto.get_description(),
29 status=support_message_dto.get_status(),
30 subject=support_message_dto.get_subject(),
31 created_at=support_message_dto.get_created_at()
32 )
34 result_model = self.get_support_message_usecase.get_support_message(support_message_model)
36 if not result_model:
37 return None
39 return SupportMessageDTO(
40 id=result_model.get_id(),
41 user_id=result_model.get_user_id(),
42 description=result_model.get_description(),
43 status=result_model.get_status(),
44 subject=result_model.get_subject(),
45 created_at=result_model.get_created_at()
46 )
48 except Exception as e:
49 raise e