Use persistent storage with better-sqlite3

This commit is contained in:
2026-05-20 13:06:22 +00:00
parent 036512d580
commit 558470f1cf
8 changed files with 815 additions and 73 deletions

View File

@@ -1,12 +1,17 @@
import { HTTPService } from './services/http-router';
import { InvitationsRoute } from './routes/invitations';
import { InvitationStore } from './services/invitation-store';
import { SSEBroadcaster } from './services/sse-broadcast';
import { HTTPService } from './services/http-router.js';
import { InvitationsRoute } from './routes/invitations.js';
import { StorageSQLite, StoreSQLite } from './services/invitation-store.js';
import { SSEBroadcaster } from './services/sse-broadcast.js';
import type { InvitationSchema } from './utils/invitation-parser.js';
export class App {
static async create() {
const invitationStoragePath = "./xo-invitations.db";
// Create the invitation store (this is a in-memory store for now)
const invitationStore = new InvitationStore();
const storage = await StorageSQLite.createOrOpen(invitationStoragePath);
const invitationStore = await storage.createOrGetStore<InvitationSchema>("invitations");
// Create the SSE Broadcaster
const sseBroadcaster = new SSEBroadcaster();