From 4278be2a0b54ea3a9beece2eab081f33aeb129d1 Mon Sep 17 00:00:00 2001 From: tonyrewin Date: Wed, 16 Nov 2022 20:13:12 +0300 Subject: [PATCH] step-by-step-create-message-debug --- resolvers/inbox/messages.py | 54 +++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/resolvers/inbox/messages.py b/resolvers/inbox/messages.py index aff3880d..615a77d5 100644 --- a/resolvers/inbox/messages.py +++ b/resolvers/inbox/messages.py @@ -18,36 +18,38 @@ async def create_message(_, info, chat: str, body: str, replyTo=None): return { "error": "chat not exist" } - message_id = await redis.execute("GET", f"chats/{chat.id}/next_message_id") - message_id = int(message_id) - new_message = { - "chatId": chat.id, - "id": message_id, - "author": user.slug, - "body": body, - "replyTo": replyTo, - "createdAt": int(datetime.now().timestamp()), - } - await redis.execute( - "SET", f"chats/{chat.id}/messages/{message_id}", json.dumps(new_message) - ) - await redis.execute("LPUSH", f"chats/{chat.id}/message_ids", str(message_id)) - await redis.execute("SET", f"chats/{chat.id}/next_message_id", str(message_id + 1)) - - chat = json.loads(chat) - users = chat["users"] - for user_slug in users: + else: + chat = json.loads(chat) + message_id = await redis.execute("GET", f"chats/{chat.id}/next_message_id") + message_id = int(message_id) + new_message = { + "chatId": chat.id, + "id": message_id, + "author": user.slug, + "body": body, + "replyTo": replyTo, + "createdAt": int(datetime.now().timestamp()), + } await redis.execute( - "LPUSH", f"chats/{chat.id}/unread/{user_slug}", str(message_id) + "SET", f"chats/{chat.id}/messages/{message_id}", json.dumps(new_message) ) + await redis.execute("LPUSH", f"chats/{chat.id}/message_ids", str(message_id)) + await redis.execute("SET", f"chats/{chat.id}/next_message_id", str(message_id + 1)) - result = MessageResult("NEW", new_message) - await MessagesStorage.put(result) + chat = json.loads(chat) + users = chat["users"] + for user_slug in users: + await redis.execute( + "LPUSH", f"chats/{chat.id}/unread/{user_slug}", str(message_id) + ) - return { - "message": new_message, - "error": None - } + result = MessageResult("NEW", new_message) + await MessagesStorage.put(result) + + return { + "message": new_message, + "error": None + } @mutation.field("updateMessage")