Timothy Jaeryang Baek 4 mesi fa
parent
commit
d905202afb
1 ha cambiato i file con 22 aggiunte e 0 eliminazioni
  1. 22 0
      backend/open_webui/models/messages.py

+ 22 - 0
backend/open_webui/models/messages.py

@@ -251,6 +251,18 @@ class MessageTable:
             db.commit()
             db.commit()
             return True
             return True
 
 
+    def delete_reactions_by_id(self, id: str) -> bool:
+        with get_db() as db:
+            db.query(MessageReaction).filter_by(message_id=id).delete()
+            db.commit()
+            return True
+
+    def delete_replies_by_id(self, id: str) -> bool:
+        with get_db() as db:
+            db.query(Message).filter_by(parent_id=id).delete()
+            db.commit()
+            return True
+
     def delete_message_by_id(self, id: str) -> bool:
     def delete_message_by_id(self, id: str) -> bool:
         with get_db() as db:
         with get_db() as db:
             db.query(Message).filter_by(id=id).delete()
             db.query(Message).filter_by(id=id).delete()
@@ -258,6 +270,16 @@ class MessageTable:
             # Delete all reactions to this message
             # Delete all reactions to this message
             db.query(MessageReaction).filter_by(message_id=id).delete()
             db.query(MessageReaction).filter_by(message_id=id).delete()
 
 
+            # List all replies to this message
+            replies = db.query(Message).filter_by(parent_id=id).all()
+
+            # Delete all reactions to each reply
+            for reply in replies:
+                db.query(MessageReaction).filter_by(message_id=reply.id).delete()
+
+            # Delete all replies to this message
+            db.query(Message).filter_by(parent_id=id).delete()
+
             db.commit()
             db.commit()
             return True
             return True