diff options
Diffstat (limited to 'db.py')
-rw-r--r-- | db.py | 31 |
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)) |