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
« 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
5class SaveMessageController:
6 """
7 Controller for saving a message to the database.
8 """
10 def __init__(self, save_message_usecase: SaveMessageUseCase):
11 self.save_message_usecase = save_message_usecase
13 def save_message(self, message_dto: MessageDTO):
14 """
15 Save a message to the database.
17 Args:
18 message (MessageDTO): The data transfer object containing message details.
19 Returns:
20 int: The ID of the saved message.
21 """
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 )
33 return self.save_message_usecase.save_message(message_model)
35 except Exception as e:
36 raise e