refactor: delete using filter

This commit is contained in:
Vlad Stan 2023-02-06 10:25:28 +02:00
parent 2dfd70c38c
commit f01ea6a237
2 changed files with 5 additions and 5 deletions

View file

@ -96,7 +96,7 @@ class NostrClientConnection:
filter.ids = [t[1] for t in event.tags if t[0] == "e"] filter.ids = [t[1] for t in event.tags if t[0] == "e"]
events_to_delete = await get_events("111", filter, False) events_to_delete = await get_events("111", filter, False)
ids = [e.id for e in events_to_delete if not e.is_delete_event()] 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: async def __handle_request(self, subscription_id: str, filter: NostrFilter) -> List:
filter.subscription_id = subscription_id filter.subscription_id = subscription_id

View file

@ -53,11 +53,11 @@ async def get_event(relay_id: str, id: str) -> Optional[NostrEvent]:
event.tags = await get_event_tags(relay_id, id) event.tags = await get_event_tags(relay_id, id)
return event return event
async def mark_events_deleted(relay_id: str, id_list: List[str] = []): async def mark_events_deleted(relay_id: str, filter: NostrFilter):
if len(id_list) == 0: if len(filter.ids) == 0:
return None return None
ids = ",".join(["?"] * len(id_list)) ids = ",".join(["?"] * len(filter.ids))
values = [relay_id] + id_list values = [relay_id] + filter.ids
await db.execute(f"UPDATE nostrrelay.events SET deleted=true WHERE relay_id = ? AND id IN ({ids})", tuple(values)) await db.execute(f"UPDATE nostrrelay.events SET deleted=true WHERE relay_id = ? AND id IN ({ids})", tuple(values))