Merge branch 'db-filters-limit' into 'develop'
db/events: use opts.limit See merge request soapbox-pub/ditto!12
This commit is contained in:
commit
b1c5dd0e34
|
@ -106,14 +106,15 @@ function getFilterQuery(filter: DittoFilter) {
|
||||||
/** Get events for filters from the database. */
|
/** Get events for filters from the database. */
|
||||||
async function getFilters<K extends number>(
|
async function getFilters<K extends number>(
|
||||||
filters: DittoFilter<K>[],
|
filters: DittoFilter<K>[],
|
||||||
_opts?: GetFiltersOpts,
|
opts: GetFiltersOpts = {},
|
||||||
): Promise<Event<K>[]> {
|
): Promise<Event<K>[]> {
|
||||||
const events = await filters
|
let query = filters.map(getFilterQuery).reduce((acc, curr) => acc.union(curr));
|
||||||
.map(getFilterQuery)
|
|
||||||
.reduce((acc, curr) => acc.union(curr))
|
|
||||||
.execute();
|
|
||||||
|
|
||||||
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<K>
|
{ ...event, tags: JSON.parse(event.tags) } as Event<K>
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue