This commit is contained in:
@@ -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")
|
||||
|
Reference in New Issue
Block a user