aboutsummaryrefslogtreecommitdiff
path: root/wsgi/__init__.py
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2025-10-09 09:51:14 +0300
committerA Farzat <a@farzat.xyz>2025-10-09 09:51:14 +0300
commit9fb20553d9f9e21c012f730a728c33d368e09bf2 (patch)
tree9299ef0ee912eaad281c1edb783b5c975c6fe0a2 /wsgi/__init__.py
parent6e117b5438413d12cf84860ea5c8e3bfd1727f40 (diff)
downloadcsca5028-9fb20553d9f9e21c012f730a728c33d368e09bf2.tar.gz
csca5028-9fb20553d9f9e21c012f730a728c33d368e09bf2.zip
Add methods to modify/delete subscriptions
Diffstat (limited to 'wsgi/__init__.py')
-rw-r--r--wsgi/__init__.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/wsgi/__init__.py b/wsgi/__init__.py
index 9a504b0..f8f59db 100644
--- a/wsgi/__init__.py
+++ b/wsgi/__init__.py
@@ -42,13 +42,29 @@ def add_sub() -> Dict[str, Any]:
@app.post("/set-time-between-fetches/")
def set_time_between_fetches() -> Dict[str, Any]:
- return {}
+ time_between_fetches = int(request.form["time_between_fetches"])
+ result = subscriptions.update_one(
+ {"_id": request.form["_id"]},
+ {"$set": {"time_between_fetches": time_between_fetches}}
+ )
+ if not result.modified_count:
+ raise Exception("Subscription %s not found" % request.form["_id"])
+ return {
+ "_id": request.form["_id"],
+ "time_between_fetches": time_between_fetches,
+ }
+
+@app.delete("/delete-sub/<id>")
+def delete_sub(id: str) -> Dict[str, Any]:
+ result = subscriptions.delete_one({"_id": id})
+ if not result.deleted_count:
+ raise Exception("Subscription %s not found" % id)
+ return { "_id": id, }
@app.post("/set-viewed/")
def set_viewed() -> Dict[str, Any]:
viewed_time_str = request.form.get("viewed_time")
if viewed_time_str:
- print(viewed_time_str)
viewed_time = datetime.fromisoformat(viewed_time_str)
else:
viewed_time = datetime.now(tz=UTC)