From f01ea6a2371e66ee4d6dd09de3f58e049d55433b Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Mon, 6 Feb 2023 10:25:28 +0200 Subject: [PATCH] refactor: delete using filter --- client_manager.py | 2 +- crud.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/client_manager.py b/client_manager.py index f2ac563..45c63fe 100644 --- a/client_manager.py +++ b/client_manager.py @@ -96,7 +96,7 @@ class NostrClientConnection: filter.ids = [t[1] for t in event.tags if t[0] == "e"] events_to_delete = await get_events("111", filter, False) ids = [e.id for e in events_to_delete if not e.is_delete_event()] - await mark_events_deleted("111", ids) + await mark_events_deleted("111", NostrFilter(ids=ids)) async def __handle_request(self, subscription_id: str, filter: NostrFilter) -> List: filter.subscription_id = subscription_id diff --git a/crud.py b/crud.py index 03ed900..6139fd9 100644 --- a/crud.py +++ b/crud.py @@ -53,11 +53,11 @@ async def get_event(relay_id: str, id: str) -> Optional[NostrEvent]: event.tags = await get_event_tags(relay_id, id) return event -async def mark_events_deleted(relay_id: str, id_list: List[str] = []): - if len(id_list) == 0: +async def mark_events_deleted(relay_id: str, filter: NostrFilter): + if len(filter.ids) == 0: return None - ids = ",".join(["?"] * len(id_list)) - values = [relay_id] + id_list + ids = ",".join(["?"] * len(filter.ids)) + values = [relay_id] + filter.ids await db.execute(f"UPDATE nostrrelay.events SET deleted=true WHERE relay_id = ? AND id IN ({ids})", tuple(values))