feat: clean-up when relay deleted
This commit is contained in:
parent
6527d04977
commit
b098dc5d77
2 changed files with 9 additions and 1 deletions
7
crud.py
7
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)}"""
|
query = f"""DELETE from nostrrelay.events WHERE {" AND ".join(where)}"""
|
||||||
await db.execute(query, tuple(values))
|
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(
|
async def create_event_tags(
|
||||||
relay_id: str, event_id: str, tag_name: str, tag_value: str, extra_values: Optional[str]
|
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),
|
(relay_id, event_id, tag_name, tag_value, extra_values),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def get_event_tags(
|
async def get_event_tags(
|
||||||
relay_id: str, event_id: str
|
relay_id: str, event_id: str
|
||||||
) -> List[List[str]]:
|
) -> List[List[str]]:
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ from . import client_manager, nostrrelay_ext
|
||||||
from .client_manager import NostrClientConnection
|
from .client_manager import NostrClientConnection
|
||||||
from .crud import (
|
from .crud import (
|
||||||
create_relay,
|
create_relay,
|
||||||
|
delete_all_events,
|
||||||
delete_relay,
|
delete_relay,
|
||||||
get_public_relay,
|
get_public_relay,
|
||||||
get_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}")
|
@nostrrelay_ext.delete("/api/v1/relay/{relay_id}")
|
||||||
async def api_delete_relay(relay_id: str, wallet: WalletTypeInfo = Depends(require_admin_key)):
|
async def api_delete_relay(relay_id: str, wallet: WalletTypeInfo = Depends(require_admin_key)):
|
||||||
try:
|
try:
|
||||||
|
await client_manager.toggle_relay(relay_id, False)
|
||||||
await delete_relay(wallet.wallet.user, relay_id)
|
await delete_relay(wallet.wallet.user, relay_id)
|
||||||
|
await delete_all_events(relay_id)
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
logger.warning(ex)
|
logger.warning(ex)
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue