From de92a554ee0c4c48e130e2ebbd9b2f11db895553 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Tue, 10 Feb 2026 17:43:00 +0100 Subject: [PATCH] feat: handle note deletion from jetstream --- jetstream.ts | 9 ++++++++- src/data/db.ts | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/jetstream.ts b/jetstream.ts index 8dc92d8..0f55cd6 100644 --- a/jetstream.ts +++ b/jetstream.ts @@ -1,5 +1,5 @@ import { Jetstream } from "@skyware/jetstream"; -import { upsertNote } from "./src/data/db.ts"; +import { deleteNote, upsertNote } from "./src/data/db.ts"; import { Note } from "./src/data/note.ts"; const jetstream = new Jetstream({ @@ -30,6 +30,13 @@ jetstream.onUpdate("space.litenote.note", (event) => { }); }); +jetstream.onDelete("space.litenote.note", (event) => { + const { did, commit: { rkey } } = event; + console.log(`delete ${did}/${rkey}`); + + deleteNote({ did, rkey }); +}); + jetstream.on("close", () => { console.log("Connection closed"); }); diff --git a/src/data/db.ts b/src/data/db.ts index 7468a1c..fc151b5 100644 --- a/src/data/db.ts +++ b/src/data/db.ts @@ -53,6 +53,10 @@ export const getNotesByDid = (did: string, cursor?: string, limit = 20) => { }; }; +export const deleteNote = ({ did, rkey }: { did: string; rkey: string }) => { + db.query("DELETE FROM note WHERE did = ? AND rkey = ?", [did, rkey]); +}; + export const upsertNote = (note: Note) => { db.query( `