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

1from dto.support_message_dto import SupportMessageDTO 

2from usecases.get_support_message_useCase import GetSupportMessageUseCase 

3from models.support_message_model import SupportMessageModel 

4 

5 

6class GetSupportMessageController: 

7 """ 

8 Controller for retrieving a support message from the database. 

9 """ 

10 

11 def __init__(self, get_support_message_usecase: GetSupportMessageUseCase): 

12 self.get_support_message_usecase = get_support_message_usecase 

13 

14 def get_support_message(self, support_message_dto: SupportMessageDTO) -> SupportMessageDTO: 

15 """ 

16 Retrieve a support message from the database. 

17  

18 Args: 

19 support_message_dto (SupportMessageDTO): The data transfer object containing support message details. 

20 

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 ) 

33 

34 result_model = self.get_support_message_usecase.get_support_message(support_message_model) 

35 

36 if not result_model: 

37 return None 

38 

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 ) 

47 

48 except Exception as e: 

49 raise e