feat: handle note deletion from jetstream
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { Jetstream } from "@skyware/jetstream";
|
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";
|
import { Note } from "./src/data/note.ts";
|
||||||
|
|
||||||
const jetstream = new Jetstream({
|
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", () => {
|
jetstream.on("close", () => {
|
||||||
console.log("Connection closed");
|
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) => {
|
export const upsertNote = (note: Note) => {
|
||||||
db.query(
|
db.query(
|
||||||
`
|
`
|
||||||
|
|||||||
Reference in New Issue
Block a user