diff --git a/packages/api/DittoApp.ts b/packages/api/DittoApp.ts index 9180bb13..3309f65d 100644 --- a/packages/api/DittoApp.ts +++ b/packages/api/DittoApp.ts @@ -13,7 +13,7 @@ export class DittoApp extends Hono { this.use((c, next) => { c.set('db', vars.db); c.set('conf', vars.conf); - c.set('store', vars.store); + c.set('relay', vars.relay); c.set('signal', c.req.raw.signal); return next(); }); diff --git a/packages/api/routes/timelinesRoute.test.tst b/packages/api/routes/timelinesRoute.test.tst new file mode 100644 index 00000000..e69de29b diff --git a/packages/api/routes/timelinesRoute.ts b/packages/api/routes/timelinesRoute.ts index 629d5ffa..05d7bc18 100644 --- a/packages/api/routes/timelinesRoute.ts +++ b/packages/api/routes/timelinesRoute.ts @@ -18,7 +18,7 @@ const homeQuerySchema = z.object({ route.get('/home', userMiddleware({ privileged: false, required: true }), async (c) => { const { user, pagination } = c.var; - const pubkey = await user?.signer.getPublicKey()!; + const pubkey = await user.signer.getPublicKey(); const result = homeQuerySchema.safeParse(c.req.query()); if (!result.success) { diff --git a/packages/ditto/app.ts b/packages/ditto/app.ts index a123c047..5c07a250 100644 --- a/packages/ditto/app.ts +++ b/packages/ditto/app.ts @@ -155,7 +155,7 @@ import { logiMiddleware } from '@/middleware/logiMiddleware.ts'; const conf = new DittoConf(Deno.env); const storages = new DittoStorages(conf); -const [kysely, store, pool, pubsub, db] = await Promise.all([ +const [kysely, relay, pool, pubsub, db] = await Promise.all([ storages.kysely(), storages.db(), storages.pool(), @@ -223,7 +223,7 @@ type AppMiddleware = MiddlewareHandler; // deno-lint-ignore no-explicit-any type AppController

= Handler>; -const app = new DittoApp({ conf, db, store }, { strict: false }); +const app = new DittoApp({ conf, db, relay }, { strict: false }); /** User-provided files in the gitignored `public/` directory. */ const publicFiles = serveStatic({ root: conf.publicDir }); diff --git a/packages/ditto/storages/DittoPgStore.ts b/packages/ditto/storages/DittoPgStore.ts index 7116a6ec..8bb3e5a6 100644 --- a/packages/ditto/storages/DittoPgStore.ts +++ b/packages/ditto/storages/DittoPgStore.ts @@ -108,21 +108,6 @@ export class DittoPgStore extends NPostgres { }); } - protected matchesFilter(event: NostrEvent, filter: NostrFilter): boolean { - // TODO: support streaming by search. - return matchFilter(filter, event) && filter.search === undefined; - } - - streamOut(event: NostrEvent): void { - for (const { filters, machina } of this.subs.values()) { - for (const filter of filters) { - if (this.matchesFilter(event, filter)) { - machina.push(event); - } - } - } - } - /** Insert an event (and its tags) into the database. */ override async event(event: NostrEvent, opts: { signal?: AbortSignal; timeout?: number } = {}): Promise { event = purifyEvent(event); @@ -152,6 +137,21 @@ export class DittoPgStore extends NPostgres { } } + protected matchesFilter(event: NostrEvent, filter: NostrFilter): boolean { + // TODO: support streaming by search. + return matchFilter(filter, event) && filter.search === undefined; + } + + protected streamOut(event: NostrEvent): void { + for (const { filters, machina } of this.subs.values()) { + for (const filter of filters) { + if (this.matchesFilter(event, filter)) { + machina.push(event); + } + } + } + } + /** Check if an event has been deleted by the admin. */ private async isDeletedAdmin(event: NostrEvent): Promise { const filters: NostrFilter[] = [ @@ -257,7 +257,7 @@ export class DittoPgStore extends NPostgres { /** Get events for filters from the database. */ override async query( filters: NostrFilter[], - opts: { signal?: AbortSignal; timeout?: number; limit?: number } = {}, + opts: { signal?: AbortSignal; pure?: boolean; timeout?: number; limit?: number } = {}, ): Promise { filters = await this.expandFilters(filters); diff --git a/services/aio.ts b/services/aio.ts new file mode 100644 index 00000000..9aaa0a2e --- /dev/null +++ b/services/aio.ts @@ -0,0 +1,3 @@ +// All-In-One + +// diff --git a/services/core.ts b/services/core.ts new file mode 100644 index 00000000..1b3c9e0c --- /dev/null +++ b/services/core.ts @@ -0,0 +1 @@ +// Ditto Core diff --git a/services/crawler.ts b/services/crawler.ts new file mode 100644 index 00000000..237e96b9 --- /dev/null +++ b/services/crawler.ts @@ -0,0 +1 @@ +// Ditto Crawler diff --git a/services/server.ts b/services/server.ts new file mode 100644 index 00000000..6298ac52 --- /dev/null +++ b/services/server.ts @@ -0,0 +1 @@ +// Ditto Server