summary refs log tree commit diff
path: root/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'db.py')
-rw-r--r--db.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/db.py b/db.py
index 28f3ba8..01718be 100644
--- a/db.py
+++ b/db.py
@@ -159,6 +159,37 @@ class posts:
             return "fail"
         return True
 
+    def remove(post_id):
+        post = postsd.find_one({"_id": post_id})
+        if not post:
+            return "notExists"
+        try:
+            postsd.delete_one({"_id": post_id})
+            postsd.update_many(
+                {"replies": {"$elemMatch": {"_id": post_id}}},
+                {"$set": {"replies.$.content": "post deleted"}}
+            )
+        except:
+            return "fail"
+        return True
+    
+    def edit(post_id, content):
+        post = postsd.find_one({"_id": post_id})
+        if not post:
+            return "notExists"
+        try:
+            postsd.update_one(
+                {"_id": post_id},
+                {"$set": {"content": content}}
+            )
+            postsd.update_many(
+                {"replies": {"$elemMatch": {"_id": post_id}}},
+                {"$set": {"replies.$.content": content}}
+            )
+        except:
+            return "fail"
+        return True
+
 class inbox:
     def get_recent(amount=75):
         posts = list(inboxd.find().sort("created", -1).limit(amount))