Spaces:
Runtime error
Runtime error
| from Model.Database import Database | |
| from Exceptions.UserNotConnectedException import UserNotConnectedException | |
| from datetime import datetime | |
| class Service_Chat_Message: | |
| def __init__(self): | |
| pass | |
| def get_chat_messages(self, chat_id, user_is_connected): | |
| db = Database() | |
| if user_is_connected == False: | |
| raise UserNotConnectedException("User not connected") | |
| try: | |
| messages = db.select_chat_message_by_chat_id(chat_id) | |
| db.close() | |
| except Exception as e: | |
| db.close() | |
| raise e | |
| return messages | |
| def delete_chat_message(self, chat_id, user_is_connected): | |
| db = Database() | |
| if user_is_connected == False: | |
| raise UserNotConnectedException("User not connected") | |
| try: | |
| db.delete_chat_message_by_chat_id(chat_id) | |
| db.close() | |
| except Exception as e: | |
| db.close() | |
| raise e | |
| def add_user_chat_message(self, chat_id, chat_message, user_is_connected): | |
| db = Database() | |
| if user_is_connected == False: | |
| raise UserNotConnectedException("User not connected") | |
| try: | |
| db.insert_chat_message(chat_id, chat_message, 0) | |
| db.close() | |
| except Exception as e: | |
| db.close() | |
| raise e | |
| def add_ia_chat_message(self, chat_id, chat_message): | |
| db = Database() | |
| try: | |
| db.insert_chat_message(chat_id, chat_message, 1) | |
| db.close() | |
| except Exception as e: | |
| db.close() | |
| raise e | |
| def get_chat_messages_by_chat_id_and_user_id(self, chat_id, user_is_connected, user_id): | |
| data=[] | |
| db = Database() | |
| if user_is_connected == False: | |
| raise UserNotConnectedException("User not connected") | |
| try: | |
| messages = db.select_chat_message_by_chat_id_and_user_id(chat_id, user_id) | |
| for message in messages: | |
| data.append({ | |
| 'chat_message_id': message[0], | |
| 'chat_message': message[1], | |
| 'chat_message_is_ia': message[2], | |
| 'chat_message_date': message[3] | |
| }) | |
| data = sorted(data, key=lambda x: datetime.strptime(x["chat_message_date"], "%Y-%m-%d %H:%M:%S"), reverse=False) | |
| db.close() | |
| except Exception as e: | |
| db.close() | |
| raise e | |
| return data | |