fat: support NIP09 delete event
This commit is contained in:
parent
8645bb6d05
commit
b0be06580a
2 changed files with 9 additions and 6 deletions
14
crud.py
14
crud.py
|
|
@ -39,7 +39,7 @@ async def get_events(relay_id: str, filter: NostrFilter, include_tags = True) ->
|
||||||
event = NostrEvent.from_row(row)
|
event = NostrEvent.from_row(row)
|
||||||
if include_tags:
|
if include_tags:
|
||||||
event.tags = await get_event_tags(relay_id, event.id)
|
event.tags = await get_event_tags(relay_id, event.id)
|
||||||
events.append(event)
|
events.append(event)
|
||||||
|
|
||||||
return events
|
return events
|
||||||
|
|
||||||
|
|
@ -53,10 +53,12 @@ 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 delete_events(relay_id: str, ids: List[str]) -> None:
|
async def delete_events(relay_id: str, id_list: List[str] = []):
|
||||||
ids = ",".join(["?"] * len(ids))
|
if len(id_list) == 0:
|
||||||
values = [relay_id] + ids
|
return None
|
||||||
await db.execute("DELETE FROM FROM nostrrelay.events WHERE relay_id = ? AND id IN ({ids})", tuple(values))
|
ids = ",".join(["?"] * len(id_list))
|
||||||
|
values = [relay_id] + id_list
|
||||||
|
await db.execute(f"UPDATE nostrrelay.events SET deleted=true WHERE relay_id = ? AND id IN ({ids})", tuple(values))
|
||||||
|
|
||||||
|
|
||||||
async def create_event_tags(
|
async def create_event_tags(
|
||||||
|
|
@ -101,7 +103,7 @@ def build_select_events_query(relay_id:str, filter:NostrFilter):
|
||||||
query = "SELECT id, pubkey, created_at, kind, content, sig FROM nostrrelay.events "
|
query = "SELECT id, pubkey, created_at, kind, content, sig FROM nostrrelay.events "
|
||||||
|
|
||||||
inner_joins = []
|
inner_joins = []
|
||||||
where = ["nostrrelay.events.relay_id = ?"]
|
where = ["deleted=false AND nostrrelay.events.relay_id = ?"]
|
||||||
if len(filter.e):
|
if len(filter.e):
|
||||||
values += filter.e
|
values += filter.e
|
||||||
e_s = ",".join(["?"] * len(filter.e))
|
e_s = ",".join(["?"] * len(filter.e))
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ async def m001_initial(db):
|
||||||
f"""
|
f"""
|
||||||
CREATE TABLE nostrrelay.events (
|
CREATE TABLE nostrrelay.events (
|
||||||
relay_id TEXT NOT NULL,
|
relay_id TEXT NOT NULL,
|
||||||
|
deleted BOOLEAN DEFAULT false,
|
||||||
id TEXT PRIMARY KEY,
|
id TEXT PRIMARY KEY,
|
||||||
pubkey TEXT NOT NULL,
|
pubkey TEXT NOT NULL,
|
||||||
created_at {db.big_int} NOT NULL,
|
created_at {db.big_int} NOT NULL,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue