feat: handle note deletion from jetstream
This commit is contained in:
@@ -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");
|
||||
});
|
||||
|
||||
@@ -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(
|
||||
`
|
||||
|
||||
Reference in New Issue
Block a user