Coverage for src/app/controllers/save_message_controller.py: 58%

12 statements  

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

1from dto.message_dto import MessageDTO 

2from models.message_model import MessageModel 

3from usecases.save_message_useCase import SaveMessageUseCase 

4 

5class SaveMessageController: 

6 """ 

7 Controller for saving a message to the database. 

8 """ 

9 

10 def __init__(self, save_message_usecase: SaveMessageUseCase): 

11 self.save_message_usecase = save_message_usecase 

12 

13 def save_message(self, message_dto: MessageDTO): 

14 """ 

15 Save a message to the database. 

16 

17 Args: 

18 message (MessageDTO): The data transfer object containing message details. 

19 Returns: 

20 int: The ID of the saved message. 

21 """ 

22 

23 try: 

24 message_model = MessageModel( 

25 id=message_dto.get_id(), 

26 text=message_dto.get_text(), 

27 is_bot=message_dto.get_is_bot(), 

28 conversation_id=message_dto.get_conversation_id(), 

29 rating=message_dto.get_rating(), 

30 created_at=message_dto.get_created_at() 

31 ) 

32 

33 return self.save_message_usecase.save_message(message_model) 

34 

35 except Exception as e: 

36 raise e