Files
remanso-jetstream/jetstream.ts
2026-02-10 10:21:16 +01:00

44 lines
1013 B
TypeScript

import { Jetstream } from "@skyware/jetstream";
import { upsertNote } from "./src/data/db.ts";
import { Note } from "./src/data/note.ts";
const jetstream = new Jetstream({
wantedCollections: ["space.litenote.note"],
});
jetstream.onCreate("space.litenote.note", (event) => {
const { did, commit: { rkey, record } } = event;
const note = record as unknown as Omit<Note, "did" | "rkey">
console.log(`create ${did}/${rkey}: ${note.title}`);
upsertNote({
did,
rkey,
...note,
});
});
jetstream.onUpdate("space.litenote.note", (event) => {
const { did, commit: { rkey, record } } = event;
const note = record as unknown as Omit<Note, "did" | "rkey">
console.log(`update ${did}/${rkey}: ${note.title}`);
upsertNote({
did,
rkey,
...note,
});
});
jetstream.on("close", () => {
console.log("Connection closed");
});
jetstream.on("error", (error) => {
console.log("Connection closed with error", error);
});
console.log("launching jetstream");
jetstream.start();