Coverage for src/app/controllers/get_conversations_controller.py: 54%

13 statements  

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

1from usecases.get_conversations_useCase import GetConversationsUseCase 

2from dto.conversation_dto import ConversationDTO 

3from models.conversation_model import ConversationModel 

4 

5class GetConversationsController: 

6 

7 def __init__(self, get_conversations_use_case: GetConversationsUseCase): 

8 self.get_conversations_use_case = get_conversations_use_case 

9 

10 def get_conversations(self, conversation : ConversationDTO) -> list[ConversationDTO]: 

11 """ 

12 Get all conversations from the database. 

13 Returns: 

14 list[ConversationDTO]: A list of conversations retrieved from the database. 

15 """ 

16 try: 

17 

18 conversation_model = ConversationModel( 

19 id=conversation.get_id(), 

20 title=conversation.get_title(), 

21 user_id=conversation.get_user_id() 

22 ) 

23 

24 conversations_result = self.get_conversations_use_case.get_conversations(conversation_model) 

25 

26 return [ 

27 ConversationDTO( 

28 id=conversation.get_id(), 

29 title=conversation.get_title(), 

30 user_id=conversation.get_user_id() 

31 ) 

32 for conversation in conversations_result 

33 ] 

34 

35 except Exception as e: 

36 raise e