Переделка бд

This commit is contained in:
urec56 2024-06-07 21:06:18 +05:00
parent 8b3b7f2a07
commit 3278973261
2 changed files with 32 additions and 1 deletions

View file

@ -15,6 +15,7 @@ class SMessage(BaseModel):
created_at: datetime
avatar_image: str
answer_id: int | None
# answer_message: str | None
class SMessageList(BaseModel):

View file

@ -50,6 +50,34 @@ class ChatDAO(BaseDAO):
return result.scalar()
async def get_message_by_id(self, message_id: int):
# query = (
# select(
# func.json_build_object(
# "id", Message.id,
# "message", Message.message,
# "image_url", Message.image_url,
# "chat_id", Message.chat_id,
# "user_id", Message.user_id,
# "created_at", Message.created_at,
# "avatar_image", Users.avatar_image,
# "username", Users.username,
# "answer_id", MessageAnswer.answer_id,
# "answer_message", select(
# Message.message
# )
# .select_from(MessageAnswer)
# .join(Message, Message.id == MessageAnswer.answer_id, isouter=True)
# .where(Message.id == answer_id)
# .scalar_subquery()
# )
# )
# .select_from(Message)
# .join(Users, Users.id == Message.user_id)
# .join(MessageAnswer, MessageAnswer.self_id == Message.id, isouter=True)
# .where(Message.id == self_id)
# )
query = (
select(
Message.id,
@ -152,7 +180,9 @@ class ChatDAO(BaseDAO):
"answer_message", select(
Message.message
)
.where(Message.id == answer_id)
.select_from(MessageAnswer)
.join(Message, Message.id == MessageAnswer.answer_id, isouter=True)
.where(MessageAnswer.self_id == self_id)
.scalar_subquery()
)
)