mutation-fix
All checks were successful
deploy / deploy (push) Successful in 1m16s

This commit is contained in:
2023-11-17 11:51:15 +03:00
parent 31a8536d27
commit f33241b84f
2 changed files with 42 additions and 29 deletions

View File

@@ -78,32 +78,40 @@ async def create_message(_, info, chat_id: str, body: str, reply_to=None):
@mutation.field("updateMessage")
@login_required
async def update_message(_, info, chat_id: str, message_id: int, body: str):
async def update_message(_, info, message):
author_id = info.context["author_id"]
chat_id = message.get("chat_id")
chat_str = ""
if chat_id:
chat_str = await redis.execute("GET", f"chats/{chat_id}")
if not chat_str:
return {"error": "chat not exist"}
chat_str = await redis.execute("GET", f"chats/{chat_id}")
if not chat_str:
return {"error": "chat not exist"}
message_id = message.get("id")
body = message.get("body")
message = await redis.execute("GET", f"chats/{chat_id}/messages/{message_id}")
if not message:
return {"error": "message not exist"}
if message_id:
message = await redis.execute("GET", f"chats/{chat_id}/messages/{message_id}")
if not message:
return {"error": "message not exist"}
message = json.loads(message)
if message["author"] != author_id:
return {"error": "access denied"}
message = json.loads(message)
if message["author"] != author_id:
return {"error": "access denied"}
message["body"] = body
message["updated_at"] = int(datetime.now(tz=timezone.utc).timestamp())
if body:
message["body"] = body
message["updated_at"] = int(datetime.now(tz=timezone.utc).timestamp())
await redis.execute("SET", f"chats/{chat_id}/messages/{message_id}", json.dumps(message))
await redis.execute("SET", f"chats/{chat_id}/messages/{message_id}", json.dumps(message))
# Отправка уведомления
message["chat_id"] = chat_id
await notify_message(message, "update")
# Отправка уведомления
message["chat_id"] = chat_id
await notify_message(message, "update")
return {"message": message, "error": None}
return { "message": message, "error": None }
else:
return { "message": message, "error": "cannot update, no message_id" }
@mutation.field("deleteMessage")