This commit is contained in:
retoor 2025-06-25 21:23:31 +02:00
parent 8a6aa33974
commit db3b5a77bc
2 changed files with 19 additions and 7 deletions

View File

@ -74,6 +74,8 @@ class ChannelMessageService(BaseService):
if not self._configured_indexes:
if not self.mapper.db["channel_message"].has_index(['is_final','user_uid','channel_uid']):
self.mapper.db["channel_message"].create_index(['is_final','user_uid','channel_uid'], unique=False)
if not self.mapper.db["channel_message"].has_index(['uid']):
self.mapper.db["channel_message"].create_index(['uid'], unique=True)
if not self.mapper.db["channel_message"].has_index(['deleted_at']):
self.mapper.db["channel_message"].create_index(['deleted_at'], unique=False)
self._configured_indexes = True

View File

@ -377,21 +377,31 @@ class RPCView(BaseView):
async with self.app.no_save():
self._require_login()
message = await self.services.channel_message.get(message_uid,deleted_at=None,is_final=False)
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: