This commit is contained in:
Timothy Jaeryang Baek 2025-09-27 04:38:54 -05:00
parent 86ef57f6c3
commit 272c6f5ec5

View file

@ -174,19 +174,27 @@ class MessageTable:
.order_by(Message.created_at.desc()) .order_by(Message.created_at.desc())
.all() .all()
) )
return [
MessageReplyToResponse.model_validate( messages = []
{ for message in all_messages:
**MessageModel.model_validate(message).model_dump(), reply_to_message = (
"reply_to_message": ( self.get_message_by_id(message.reply_to_id)
self.get_message_by_id(message.reply_to_id).model_dump() if message.reply_to_id
if message.reply_to_id else None
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]: def get_reply_user_ids_by_message_id(self, id: str) -> list[str]:
with get_db() as db: with get_db() as db:
@ -208,19 +216,26 @@ class MessageTable:
.all() .all()
) )
return [ messages = []
MessageReplyToResponse.model_validate( for message in all_messages:
{ reply_to_message = (
**MessageModel.model_validate(message).model_dump(), self.get_message_by_id(message.reply_to_id)
"reply_to_message": ( if message.reply_to_id
self.get_message_by_id(message.reply_to_id).model_dump() else None
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( def get_messages_by_parent_id(
self, channel_id: str, parent_id: str, skip: int = 0, limit: int = 50 self, channel_id: str, parent_id: str, skip: int = 0, limit: int = 50
@ -244,19 +259,26 @@ class MessageTable:
if len(all_messages) < limit: if len(all_messages) < limit:
all_messages.append(message) all_messages.append(message)
return [ messages = []
MessageReplyToResponse.model_validate( for message in all_messages:
{ reply_to_message = (
**MessageModel.model_validate(message).model_dump(), self.get_message_by_id(message.reply_to_id)
"reply_to_message": ( if message.reply_to_id
self.get_message_by_id(message.reply_to_id).model_dump() else None
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( def update_message_by_id(
self, id: str, form_data: MessageForm self, id: str, form_data: MessageForm