43 lines
890 B
TypeScript
43 lines
890 B
TypeScript
import { Jetstream } from "@skyware/jetstream";
|
|
import { upsertNote } from "./src/data/db.ts";
|
|
|
|
const jetstream = new Jetstream({
|
|
wantedCollections: ["space.litenote.note"],
|
|
});
|
|
|
|
jetstream.onCreate("space.litenote.note", (event) => {
|
|
console.log("create", event);
|
|
const { did, commit: { rkey, record } } = event;
|
|
|
|
upsertNote({
|
|
did,
|
|
rkey,
|
|
...record,
|
|
// deno-lint-ignore no-explicit-any
|
|
} as any);
|
|
});
|
|
|
|
jetstream.onUpdate("space.litenote.note", (event) => {
|
|
console.log("update", event);
|
|
const { did, commit: { rkey, record } } = event;
|
|
|
|
upsertNote({
|
|
did,
|
|
rkey,
|
|
...record,
|
|
// deno-lint-ignore no-explicit-any
|
|
} as any);
|
|
});
|
|
|
|
jetstream.on("close", () => {
|
|
console.log("Connection closed");
|
|
});
|
|
|
|
jetstream.on("error", (error) => {
|
|
console.log("Connection closed with error", error);
|
|
});
|
|
|
|
console.log("launching jetstream");
|
|
|
|
jetstream.start();
|