Начало переделки бд

This commit is contained in:
urec56 2024-05-06 17:20:30 +05:00
parent b8d7683ef2
commit 0c863176e7
3 changed files with 16 additions and 16 deletions

View file

@ -53,9 +53,9 @@ class ChatDAO(BaseDAO):
async def get_message_by_id(message_id: int):
query = (select(Messages.id, Messages.message, Messages.image_url, Messages.chat_id, Messages.user_id,
Messages.created_at, Users.avatar_image, Users.username, Users.avatar_hex,
Answers.answer_id, Answers.message_id).select_from(Messages)
Answers.self_id, Answers.answer_id).select_from(Messages)
.join(Users, Users.id == Messages.user_id)
.join(Answers, Answers.answer_id == Messages.id, isouter=True)
.join(Answers, Answers.self_id == Messages.id, isouter=True)
.where(
and_(
Messages.id == message_id,
@ -101,7 +101,7 @@ class ChatDAO(BaseDAO):
messages_with_users.c.chat_id, messages_with_users.c.user_id,
messages_with_users.c.created_at, messages_with_users.c.avatar_image,
messages_with_users.c.username, messages_with_users.c.avatar_hex,
messages_with_users.c.answer_id, messages_with_users.c.message_id,
messages_with_users.c.self_id, messages_with_users.c.answer_id,
)
.where(
and_(
@ -254,10 +254,10 @@ class ChatDAO(BaseDAO):
query = (select(Messages.id, Messages.message, Messages.image_url,
Messages.chat_id, Messages.user_id,
Messages.created_at, Users.avatar_image,
Users.username, Users.avatar_hex, Answers.answer_id, Answers.message_id).select_from(PinnedMessages)
Users.username, Users.avatar_hex, Answers.self_id, Answers.answer_id).select_from(PinnedMessages)
.join(Messages, PinnedMessages.message_id == Messages.id, isouter=True)
.join(Users, PinnedMessages.user_id == Users.id, isouter=True)
.join(Answers, Answers.answer_id == Messages.id, isouter=True)
.join(Answers, Answers.self_id == Messages.id, isouter=True)
.where(and_(PinnedMessages.chat_id == chat_id, Messages.visibility == True))
.order_by(Messages.created_at.desc()))
async with async_session_maker() as session:

View file

@ -13,8 +13,8 @@ class SMessage(BaseModel):
created_at: str
avatar_image: str
avatar_hex: str
self_id: int | None
answer_id: int | None
message_id: int | None

View file

@ -23,24 +23,24 @@ class ConnectionManager(WebSocket):
if "flag" not in message:
raise IncorrectDataException
if message['flag'] == 'send':
if message["flag"] == "send":
new_message = await self.add_message_to_database(
user_id=user_id, chat_id=chat_id, message=message['message'],
image_url=message['image_url'], answer=message["answer"]
user_id=user_id, chat_id=chat_id, message=message["message"],
image_url=message["image_url"], answer=message["answer"]
)
new_message = dict(new_message)
new_message['created_at'] = new_message['created_at'].isoformat()
new_message['flag'] = 'send'
elif message['flag'] == 'delete':
new_message["created_at"] = new_message["created_at"].isoformat()
new_message["flag"] = "send"
elif message["flag"] == "delete":
if message["user_id"] != user_id:
raise UserDontHavePermissionException
deleted_message = await self.delete_message(message["id"])
new_message = {'deleted_message': deleted_message, 'id': message['id'], "flag": "delete"}
elif message['flag'] == 'edit':
new_message = {"deleted_message": deleted_message, "id": message["id"], "flag": "delete"}
elif message["flag"] == "edit":
if message["user_id"] != user_id:
raise UserDontHavePermissionException
edited_message = await self.edit_message(message['id'], message['new_message'], message['new_image_url'])
new_message = {'edited_message': edited_message, "flag": "edit", "id": message["id"],
edited_message = await self.edit_message(message["id"], message["new_message"], message["new_image_url"])
new_message = {"edited_message": edited_message, "flag": "edit", "id": message["id"],
"new_message": message["new_message"], "new_image_url": message["new_image_url"]}
else:
raise IncorrectDataException