From a35bc1eef3929067e106efb8ca654d7269858478 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Wed, 16 Aug 2023 21:58:46 -0500 Subject: [PATCH] db/events: use opts.limit --- src/db/events.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/db/events.ts b/src/db/events.ts index 31ff6f9..cb04b23 100644 --- a/src/db/events.ts +++ b/src/db/events.ts @@ -106,14 +106,15 @@ function getFilterQuery(filter: DittoFilter) { /** Get events for filters from the database. */ async function getFilters( filters: DittoFilter[], - _opts?: GetFiltersOpts, + opts: GetFiltersOpts = {}, ): Promise[]> { - const events = await filters - .map(getFilterQuery) - .reduce((acc, curr) => acc.union(curr)) - .execute(); + let query = filters.map(getFilterQuery).reduce((acc, curr) => acc.union(curr)); - return events.map((event) => ( + if (typeof opts.limit === 'number') { + query = query.limit(opts.limit); + } + + return (await query.execute()).map((event) => ( { ...event, tags: JSON.parse(event.tags) } as Event )); }