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
« 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
5class GetConversationsController:
7 def __init__(self, get_conversations_use_case: GetConversationsUseCase):
8 self.get_conversations_use_case = get_conversations_use_case
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:
18 conversation_model = ConversationModel(
19 id=conversation.get_id(),
20 title=conversation.get_title(),
21 user_id=conversation.get_user_id()
22 )
24 conversations_result = self.get_conversations_use_case.get_conversations(conversation_model)
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 ]
35 except Exception as e:
36 raise e