@@ -23,9 +23,11 @@ const { ObjectID } = require('mongodb');
2323
2424/**
2525 * @typedef {Object } EventsFilters
26- * @property {boolean } [starred] - if true, events with 'starred' mark should be included to the output
27- * @property {boolean } [resolved] - if true, events with 'resolved' should be included to the output
28- * @property {boolean } [ignored] - if true, events with 'ignored' mark should be included to the output
26+ * @property {boolean } [starred]
27+ * @property {boolean } [resolved]
28+ * @property {boolean } [ignored]
29+ * @property {string|number } [dateFrom]
30+ * @property {string|number } [dateTo]
2931 */
3032
3133/**
@@ -149,10 +151,7 @@ class EventsFactory extends Factory {
149151 * @param {Number } limit - events count limitations
150152 * @param {Number } skip - certain number of documents to skip
151153 * @param {'BY_DATE' | 'BY_COUNT' } sort - events sort order
152- * @param {Object } filters - filter object
153- * @param {Object.<string, boolean> } [filters.marks] - mark filters: e.g. { starred: true, ignored: false }
154- * @param {string|number } [filters.dateFrom] - filter start date (ISO or timestamp)
155- * @param {string|number } [filters.dateTo] - filter end date (ISO or timestamp)
154+ * @param {EventsFilters } filters - filter object
156155 * @param {String } search - search query
157156 *
158157 * @return {RecentEventSchema[] }
@@ -236,11 +235,11 @@ class EventsFactory extends Factory {
236235 } ;
237236
238237 // Filter by marks (event.marks.{key})
239- if ( filters . marks && typeof filters . marks === 'object' ) {
240- for ( const [ mark , exists ] of Object . entries ( filters . marks ) ) {
241- matchFilter [ `event.marks.${ mark } ` ] = { $exists : exists } ;
238+ [ 'starred' , 'resolved' , 'ignored' ] . forEach ( ( mark ) => {
239+ if ( typeof filters [ mark ] === 'boolean' ) {
240+ matchFilter [ `event.marks.${ mark } ` ] = { $exists : filters [ mark ] } ;
242241 }
243- }
242+ } ) ;
244243
245244 // Filter by date (groupingTimestamp)
246245 if ( filters . dateFrom || filters . dateTo ) {
0 commit comments