From 272c6f5ec5cf63ceca6f92303e74f19fc80946c2 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sat, 27 Sep 2025 04:38:54 -0500 Subject: [PATCH] refac --- backend/open_webui/models/messages.py | 94 +++++++++++++++++---------- 1 file changed, 58 insertions(+), 36 deletions(-) diff --git a/backend/open_webui/models/messages.py b/backend/open_webui/models/messages.py index 0066154cd9..8b0027b8e7 100644 --- a/backend/open_webui/models/messages.py +++ b/backend/open_webui/models/messages.py @@ -174,19 +174,27 @@ class MessageTable: .order_by(Message.created_at.desc()) .all() ) - return [ - MessageReplyToResponse.model_validate( - { - **MessageModel.model_validate(message).model_dump(), - "reply_to_message": ( - self.get_message_by_id(message.reply_to_id).model_dump() - if message.reply_to_id - else None - ), - } + + messages = [] + for message in all_messages: + reply_to_message = ( + self.get_message_by_id(message.reply_to_id) + if message.reply_to_id + else None ) - for message in all_messages - ] + messages.append( + MessageReplyToResponse.model_validate( + { + **MessageModel.model_validate(message).model_dump(), + "reply_to_message": ( + reply_to_message.model_dump() + if reply_to_message + else None + ), + } + ) + ) + return messages def get_reply_user_ids_by_message_id(self, id: str) -> list[str]: with get_db() as db: @@ -208,19 +216,26 @@ class MessageTable: .all() ) - return [ - MessageReplyToResponse.model_validate( - { - **MessageModel.model_validate(message).model_dump(), - "reply_to_message": ( - self.get_message_by_id(message.reply_to_id).model_dump() - if message.reply_to_id - else None - ), - } + messages = [] + for message in all_messages: + reply_to_message = ( + self.get_message_by_id(message.reply_to_id) + if message.reply_to_id + else None ) - for message in all_messages - ] + messages.append( + MessageReplyToResponse.model_validate( + { + **MessageModel.model_validate(message).model_dump(), + "reply_to_message": ( + reply_to_message.model_dump() + if reply_to_message + else None + ), + } + ) + ) + return messages def get_messages_by_parent_id( self, channel_id: str, parent_id: str, skip: int = 0, limit: int = 50 @@ -244,19 +259,26 @@ class MessageTable: if len(all_messages) < limit: all_messages.append(message) - return [ - MessageReplyToResponse.model_validate( - { - **MessageModel.model_validate(message).model_dump(), - "reply_to_message": ( - self.get_message_by_id(message.reply_to_id).model_dump() - if message.reply_to_id - else None - ), - } + messages = [] + for message in all_messages: + reply_to_message = ( + self.get_message_by_id(message.reply_to_id) + if message.reply_to_id + else None ) - for message in all_messages - ] + messages.append( + MessageReplyToResponse.model_validate( + { + **MessageModel.model_validate(message).model_dump(), + "reply_to_message": ( + reply_to_message.model_dump() + if reply_to_message + else None + ), + } + ) + ) + return messages def update_message_by_id( self, id: str, form_data: MessageForm