Coverage for src/app/controllers/get_support_messages_controller.py: 55%

11 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_messages_useCase import GetSupportMessagesUseCase 

3 

4 

5class GetSupportMessagesController: 

6 """ 

7 Controller for retrieving support messages from the database. 

8 """ 

9 

10 def __init__(self, get_support_messages_usecase: GetSupportMessagesUseCase): 

11 self.get_support_messages_usecase = get_support_messages_usecase 

12 

13 def get_support_messages(self) -> list[SupportMessageDTO]: 

14 """ 

15 Retrieve all support messages from the database. 

16 

17 Returns: 

18 list[SupportMessageDTO]: A list of data transfer objects containing support message details. 

19 """ 

20 try: 

21 result_models = self.get_support_messages_usecase.get_support_messages() 

22 

23 return [ 

24 SupportMessageDTO( 

25 id=model.get_id(), 

26 user_id=model.get_user_id(), 

27 user_email=model.get_user_email(), 

28 description=model.get_description(), 

29 status=model.get_status(), 

30 subject=model.get_subject(), 

31 created_at=model.get_created_at() 

32 ) 

33 for model in result_models 

34 ] 

35 

36 except Exception as e: 

37 raise e