Upodate.
This commit is contained in:
parent
db3b5a77bc
commit
9e237a1d98
@ -374,56 +374,58 @@ class RPCView(BaseView):
|
||||
|
||||
async def update_message_text(self, message_uid, text):
|
||||
|
||||
async with self.app.no_save():
|
||||
self._require_login()
|
||||
#async with self.app.no_save():
|
||||
self._require_login()
|
||||
|
||||
message = await self.services.channel_message.get(message_uid)
|
||||
if not message:
|
||||
return {
|
||||
"error": "Message not found",
|
||||
"success": False,
|
||||
}
|
||||
if message["is_final"]:
|
||||
return {
|
||||
"error": "Message is final",
|
||||
"success": False,
|
||||
}
|
||||
if message["deleted_at"]:
|
||||
return {
|
||||
"error": "Message is deleted",
|
||||
"success": False,
|
||||
}
|
||||
if message["user_uid"] != self.user_uid:
|
||||
raise Exception("Not allowed")
|
||||
message = await self.services.channel_message.get(message_uid)
|
||||
if not message:
|
||||
return {
|
||||
"error": "Message not found",
|
||||
"success": False,
|
||||
}
|
||||
if message["is_final"]:
|
||||
return {
|
||||
"error": "Message is final",
|
||||
"success": False,
|
||||
}
|
||||
if message["deleted_at"]:
|
||||
return {
|
||||
"error": "Message is deleted",
|
||||
"success": False,
|
||||
}
|
||||
if message["user_uid"] != self.user_uid:
|
||||
raise Exception("Not allowed")
|
||||
|
||||
#if message.get_seconds_since_last_update() > 8:
|
||||
# return {
|
||||
# "error": "Message too old",
|
||||
# "seconds_since_last_update": message.get_seconds_since_last_update(),
|
||||
# "success": False,
|
||||
# }
|
||||
if message.get_seconds_since_last_update() > 8:
|
||||
return {
|
||||
"error": "Message too old",
|
||||
"seconds_since_last_update": message.get_seconds_since_last_update(),
|
||||
"success": False,
|
||||
}
|
||||
|
||||
message["message"] = text
|
||||
if not text:
|
||||
message["deleted_at"] = now()
|
||||
else:
|
||||
message["deleted_at"] = None
|
||||
|
||||
await self.services.channel_message.save(message)
|
||||
data = message.record
|
||||
data["text"] = message["message"]
|
||||
data["message_uid"] = message_uid
|
||||
if not text:
|
||||
message["deleted_at"] = now()
|
||||
else:
|
||||
message["deleted_at"] = None
|
||||
|
||||
await self.services.socket.broadcast(
|
||||
message["channel_uid"],
|
||||
{
|
||||
"channel_uid": message["channel_uid"],
|
||||
"event": "update_message_text",
|
||||
"data": message.record,
|
||||
},
|
||||
)
|
||||
message["message"] = text
|
||||
|
||||
return {"success": True}
|
||||
await self.services.channel_message.save(message)
|
||||
data = message.record
|
||||
data["text"] = message["message"]
|
||||
data["message_uid"] = message_uid
|
||||
|
||||
await self.services.socket.broadcast(
|
||||
message["channel_uid"],
|
||||
{
|
||||
"channel_uid": message["channel_uid"],
|
||||
"event": "update_message_text",
|
||||
"data": message.record,
|
||||
},
|
||||
)
|
||||
|
||||
return {"success": True}
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user