···1-import { handleIndex, jetstreamManager } from "../main.ts";
02import { resolveRecordFromURI } from "../utils/records.ts";
034-export function startJetstream() {
5 jetstreamManager.start({
6 // for realsies pls get from db or something instead of this shit
7 wantedDids: [
···1+import { Database } from "jsr:@db/sqlite@0.11";
2+import { handleIndex } from "../main.ts";
3import { resolveRecordFromURI } from "../utils/records.ts";
4+import { JetstreamManager } from "../utils/sharders.ts";
56+export function startJetstream(jetstreamManager: JetstreamManager) {
7 jetstreamManager.start({
8 // for realsies pls get from db or something instead of this shit
9 wantedDids: [
+5-3
index/spacedust.ts
···1-import { db, handleIndex, spacedustManager } from "../main.ts";
02import { parseAtUri } from "../utils/aturi.ts";
3import { resolveRecordFromURI } from "../utils/records.ts";
045-export function startSpacedust() {
6 spacedustManager.start({
7 wantedSources: [
8 "app.bsky.feed.like:subject.uri", // like
···54 };
55};
5657-export async function handleSpacedust(msg: SpacedustLinkMessage) {
58 if (!msg || !msg.link || !msg.link.source_record) return;
59 console.log("Received Spacedust message: ", msg);
60
···1+import { Database } from "jsr:@db/sqlite@0.11";
2+import { handleIndex } from "../main.ts";
3import { parseAtUri } from "../utils/aturi.ts";
4import { resolveRecordFromURI } from "../utils/records.ts";
5+import { SpacedustManager } from "../utils/sharders.ts";
67+export function startSpacedust(spacedustManager: SpacedustManager) {
8 spacedustManager.start({
9 wantedSources: [
10 "app.bsky.feed.like:subject.uri", // like
···56 };
57};
5859+export async function handleSpacedust(db: Database, msg: SpacedustLinkMessage) {
60 if (!msg || !msg.link || !msg.link.source_record) return;
61 console.log("Received Spacedust message: ", msg);
62
+17-8
main.ts
···28export const systemDB = new Database("system.db");
29setupSystemDb(systemDB);
3031-export const spacedustManager = new SpacedustManager((msg) =>
32- handleSpacedust(msg)
33-);
34-export const jetstreamManager = new JetstreamManager((msg) =>
35- handleJetstream(msg)
36-);
37-startSpacedust();
38-startJetstream();
0000000003940setupAuth({
41 // local3768forumtest is just my tunnel from my dev env to the outside web that im reusing from forumtest
···28export const systemDB = new Database("system.db");
29setupSystemDb(systemDB);
3031+// should do both of these per user actually, since now each user has their own db
32+// also the set of records and backlinks to listen should be seperate between index and view servers
33+// damn
34+// export const spacedustManager = new SpacedustManager((msg) =>
35+// handleSpacedust(msg)
36+// );
37+// export const jetstreamManager = new JetstreamManager((msg) =>
38+// handleJetstream(msg)
39+// );
40+// startSpacedust();
41+// startJetstream();
42+43+// 1. connect to system db
44+// 2. get all registered users
45+// parse config (maybe some are only indexes and maybe some are only views)
46+// map all new jetstream and spacedust listeners
47+// call handleIndex with the specific db to use
4849setupAuth({
50 // local3768forumtest is just my tunnel from my dev env to the outside web that im reusing from forumtest