From b098dc5d77acb2fb3f380f6a96f9d96dcdd01aa1 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 8 Feb 2023 09:29:14 +0200 Subject: [PATCH] feat: clean-up when relay deleted --- crud.py | 7 ++++++- views_api.py | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/crud.py b/crud.py index da78eab..8e81cde 100644 --- a/crud.py +++ b/crud.py @@ -128,8 +128,14 @@ async def delete_events(relay_id: str, filter: NostrFilter): query = f"""DELETE from nostrrelay.events WHERE {" AND ".join(where)}""" await db.execute(query, tuple(values)) + #todo: delete tags +async def delete_all_events(relay_id: str): + query = "DELETE from nostrrelay.events WHERE relay_id = ?" + await db.execute(query, (relay_id,)) + # todo: delete tags + async def create_event_tags( relay_id: str, event_id: str, tag_name: str, tag_value: str, extra_values: Optional[str] ): @@ -147,7 +153,6 @@ async def create_event_tags( (relay_id, event_id, tag_name, tag_value, extra_values), ) - async def get_event_tags( relay_id: str, event_id: str ) -> List[List[str]]: diff --git a/views_api.py b/views_api.py index df2591a..8c9c97f 100644 --- a/views_api.py +++ b/views_api.py @@ -19,6 +19,7 @@ from . import client_manager, nostrrelay_ext from .client_manager import NostrClientConnection from .crud import ( create_relay, + delete_all_events, delete_relay, get_public_relay, get_relay, @@ -138,7 +139,9 @@ async def api_get_relay(relay_id: str, wallet: WalletTypeInfo = Depends(require_ @nostrrelay_ext.delete("/api/v1/relay/{relay_id}") async def api_delete_relay(relay_id: str, wallet: WalletTypeInfo = Depends(require_admin_key)): try: + await client_manager.toggle_relay(relay_id, False) await delete_relay(wallet.wallet.user, relay_id) + await delete_all_events(relay_id) except Exception as ex: logger.warning(ex) raise HTTPException(