@agendajs/mongo-backend 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,17 @@
1
1
  import { Collection, Db, ObjectId } from 'mongodb';
2
2
  import type { JobParameters, JobId, JobsQueryOptions, JobsResult, JobsOverview, JobRepository, JobRepositoryOptions, RemoveJobsOptions } from 'agenda';
3
- import type { MongoJobRepositoryConfig } from './types.js';
3
+ import type { MongoJobRepositoryConfig, OptionalKeysToNullable } from './types.js';
4
+ /**
5
+ * Recursively reject dangerous operators in a caller-supplied `unique` query.
6
+ * Ordinary field equality and comparison operators are left untouched, preserving
7
+ * the documented `unique()` query-filter contract.
8
+ */
9
+ export declare function assertSafeUniqueQuery(value: unknown): void;
4
10
  /**
5
11
  * Internal MongoDB document type with ObjectId for _id
6
12
  * This is what's actually stored in MongoDB, separate from the public JobParameters interface
7
13
  */
8
- type MongoJobDocument = Omit<JobParameters, '_id'> & {
14
+ type MongoJobDocument = Omit<OptionalKeysToNullable<JobParameters>, '_id'> & {
9
15
  _id?: ObjectId;
10
16
  };
11
17
  /**
@@ -10,6 +10,45 @@ const log = debug('agenda:mongo:repository');
10
10
  function escapeRegex(str) {
11
11
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
12
12
  }
13
+ /**
14
+ * Check if a value is a plain object (not an array, date, or other non-plain type)
15
+ */
16
+ function isPlainObject(value) {
17
+ if (value === null || typeof value !== 'object') {
18
+ return false;
19
+ }
20
+ const prototype = Object.getPrototypeOf(value);
21
+ return prototype === Object.prototype || prototype === null;
22
+ }
23
+ /**
24
+ * MongoDB query operators that evaluate arbitrary server-side code or expressions.
25
+ * They have no legitimate use in a uniqueness key and turn a caller-controlled
26
+ * `unique` object into a NoSQL-injection vector (server-side JS execution, denial
27
+ * of service, blind matching), so they are rejected before the query is built.
28
+ */
29
+ const BANNED_UNIQUE_OPERATORS = new Set(['$where', '$function', '$accumulator', '$expr']);
30
+ /**
31
+ * Recursively reject dangerous operators in a caller-supplied `unique` query.
32
+ * Ordinary field equality and comparison operators are left untouched, preserving
33
+ * the documented `unique()` query-filter contract.
34
+ */
35
+ export function assertSafeUniqueQuery(value) {
36
+ if (Array.isArray(value)) {
37
+ for (const item of value) {
38
+ assertSafeUniqueQuery(item);
39
+ }
40
+ return;
41
+ }
42
+ if (!isPlainObject(value)) {
43
+ return;
44
+ }
45
+ for (const [key, child] of Object.entries(value)) {
46
+ if (BANNED_UNIQUE_OPERATORS.has(key)) {
47
+ throw new Error(`Unsafe operator "${key}" is not allowed in a unique() constraint`);
48
+ }
49
+ assertSafeUniqueQuery(child);
50
+ }
51
+ }
13
52
  /**
14
53
  * Flatten a data filter object into MongoDB dot-notation keys.
15
54
  * This enables partial matching on the data subdocument.
@@ -23,7 +62,7 @@ function flattenDataFilter(data, prefix = 'data') {
23
62
  const result = {};
24
63
  for (const [key, value] of Object.entries(data)) {
25
64
  const fullKey = `${prefix}.${key}`;
26
- if (value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
65
+ if (isPlainObject(value)) {
27
66
  Object.assign(result, flattenDataFilter(value, fullKey));
28
67
  }
29
68
  else {
@@ -40,22 +79,25 @@ function computeJobObj(job) {
40
79
  nextRunAt: job.nextRunAt,
41
80
  type: job.type,
42
81
  data: job.data,
43
- lockedAt: job.lockedAt,
44
- lastFinishedAt: job.lastFinishedAt,
45
- failedAt: job.failedAt || undefined,
46
- failCount: job.failCount || undefined,
47
- failReason: job.failReason || undefined,
48
- repeatTimezone: job.repeatTimezone,
49
- lastRunAt: job.lastRunAt,
50
- repeatInterval: job.repeatInterval,
51
- repeatAt: job.repeatAt,
52
- disabled: job.disabled,
53
- progress: job.progress,
54
- unique: job.unique,
55
- uniqueOpts: job.uniqueOpts,
56
- lastModifiedBy: job.lastModifiedBy,
57
- fork: job.fork,
58
- debounceStartedAt: job.debounceStartedAt
82
+ lockedAt: job.lockedAt ?? undefined,
83
+ lastFinishedAt: job.lastFinishedAt ?? undefined,
84
+ failedAt: job.failedAt ?? undefined,
85
+ failCount: job.failCount ?? undefined,
86
+ failReason: job.failReason ?? undefined,
87
+ repeatTimezone: job.repeatTimezone ?? undefined,
88
+ lastRunAt: job.lastRunAt ?? undefined,
89
+ repeatInterval: job.repeatInterval ?? undefined,
90
+ repeatAt: job.repeatAt ?? undefined,
91
+ disabled: job.disabled ?? undefined,
92
+ progress: job.progress ?? undefined,
93
+ unique: job.unique ?? undefined,
94
+ uniqueOpts: job.uniqueOpts ?? undefined,
95
+ lastModifiedBy: job.lastModifiedBy ?? undefined,
96
+ fork: job.fork ?? undefined,
97
+ debounceStartedAt: job.debounceStartedAt ?? undefined,
98
+ startDate: job.startDate ?? undefined,
99
+ endDate: job.endDate ?? undefined,
100
+ skipDays: job.skipDays ?? undefined
59
101
  };
60
102
  }
61
103
  /**
@@ -175,9 +217,35 @@ export class MongoJobRepository {
175
217
  if (!includeDisabled) {
176
218
  query.disabled = { $ne: true };
177
219
  }
178
- // Fetch jobs
179
- const allJobs = await this.collection.find(query).sort(this.toMongoSort(sort)).toArray();
180
- // Compute states and filter by state if specified
220
+ const mongoSort = this.toMongoSort(sort);
221
+ // When there is no state filter, the state is computed purely from the
222
+ // stored fields and cannot exclude documents, so pagination can be pushed
223
+ // to the database. This avoids materializing the entire matching
224
+ // collection into memory (which can OOM on large collections).
225
+ if (!state) {
226
+ let cursor = this.collection.find(query).sort(mongoSort);
227
+ if (skip > 0) {
228
+ cursor = cursor.skip(skip);
229
+ }
230
+ if (limit > 0) {
231
+ cursor = cursor.limit(limit);
232
+ }
233
+ const [pageJobs, total] = await Promise.all([
234
+ cursor.toArray(),
235
+ this.collection.countDocuments(query)
236
+ ]);
237
+ const jobs = pageJobs.map(job => {
238
+ const jobOb = computeJobObj(job);
239
+ return {
240
+ ...jobOb,
241
+ state: computeJobState(jobOb, now)
242
+ };
243
+ });
244
+ return { jobs, total };
245
+ }
246
+ // A state filter is computed in application code, so the full result set
247
+ // must be fetched, filtered, then paginated.
248
+ const allJobs = await this.collection.find(query).sort(mongoSort).toArray();
181
249
  // Special handling for 'paused' state which is based on disabled field
182
250
  let jobsWithState = allJobs
183
251
  .map(job => {
@@ -188,8 +256,6 @@ export class MongoJobRepository {
188
256
  };
189
257
  })
190
258
  .filter(job => {
191
- if (!state)
192
- return true;
193
259
  if (state === 'paused')
194
260
  return job.disabled === true;
195
261
  return job.state === state;
@@ -239,7 +305,12 @@ export class MongoJobRepository {
239
305
  * Get all distinct job names
240
306
  */
241
307
  async getDistinctJobNames() {
242
- return this.collection.distinct('name');
308
+ // Uses $group instead of the distinct command, which is not part of
309
+ // the MongoDB Stable API and fails with apiStrict: true
310
+ const results = await this.collection
311
+ .aggregate([{ $group: { _id: '$name' } }])
312
+ .toArray();
313
+ return results.map(result => result._id);
243
314
  }
244
315
  async getQueueSize() {
245
316
  return this.collection.countDocuments({ nextRunAt: { $lt: new Date() } });
@@ -398,7 +469,10 @@ export class MongoJobRepository {
398
469
  };
399
470
  // Update / options for the MongoDB query
400
471
  const update = {
401
- $set: { lockedAt: new Date(), lastModifiedBy: options?.lastModifiedBy }
472
+ $set: {
473
+ lockedAt: new Date(),
474
+ lastModifiedBy: options?.lastModifiedBy ?? null
475
+ }
402
476
  };
403
477
  const findOptions = {
404
478
  returnDocument: 'after',
@@ -433,7 +507,10 @@ export class MongoJobRepository {
433
507
  * Query used to set a job as locked
434
508
  */
435
509
  const JOB_PROCESS_SET_QUERY = {
436
- $set: { lockedAt: lockTime, lastModifiedBy: options?.lastModifiedBy }
510
+ $set: {
511
+ lockedAt: lockTime,
512
+ lastModifiedBy: options?.lastModifiedBy ?? null
513
+ }
437
514
  };
438
515
  /**
439
516
  * Query used to affect what gets returned
@@ -511,15 +588,15 @@ export class MongoJobRepository {
511
588
  }
512
589
  const id = new ObjectId(job._id.toString());
513
590
  const $set = {
514
- lockedAt: (job.lockedAt && new Date(job.lockedAt)) || undefined,
515
- nextRunAt: (job.nextRunAt && new Date(job.nextRunAt)) || undefined,
516
- lastRunAt: (job.lastRunAt && new Date(job.lastRunAt)) || undefined,
517
- progress: job.progress,
518
- failReason: job.failReason,
519
- failCount: job.failCount,
520
- failedAt: job.failedAt && new Date(job.failedAt),
521
- lastFinishedAt: (job.lastFinishedAt && new Date(job.lastFinishedAt)) || undefined,
522
- lastModifiedBy: options?.lastModifiedBy
591
+ lockedAt: job.lockedAt ? new Date(job.lockedAt) : null,
592
+ nextRunAt: job.nextRunAt ? new Date(job.nextRunAt) : null,
593
+ lastRunAt: job.lastRunAt ? new Date(job.lastRunAt) : null,
594
+ progress: job.progress ?? null,
595
+ failReason: job.failReason ?? null,
596
+ failCount: job.failCount ?? null,
597
+ failedAt: job.failedAt ? new Date(job.failedAt) : null,
598
+ lastFinishedAt: job.lastFinishedAt ? new Date(job.lastFinishedAt) : null,
599
+ lastModifiedBy: options?.lastModifiedBy ?? null
523
600
  };
524
601
  log('[job %s] save job state: \n%O', job._id, $set);
525
602
  const result = await this.collection.updateOne({ _id: id, name: job.name }, {
@@ -539,10 +616,26 @@ export class MongoJobRepository {
539
616
  log('attempting to save a job');
540
617
  // Extract the ID and unique fields (not persisted directly)
541
618
  const { _id, unique, uniqueOpts, ...props } = job;
542
- // Add lastModifiedBy
619
+ // Add lastModifiedBy and make all undefined properties to null for MongoDB storage
543
620
  const propsWithModifier = {
544
621
  ...props,
545
- lastModifiedBy: options?.lastModifiedBy
622
+ lockedAt: props.lockedAt ?? null,
623
+ lastFinishedAt: props.lastFinishedAt ?? null,
624
+ failedAt: props.failedAt ?? null,
625
+ failCount: props.failCount ?? null,
626
+ failReason: props.failReason ?? null,
627
+ repeatTimezone: props.repeatTimezone ?? null,
628
+ lastRunAt: props.lastRunAt ?? null,
629
+ repeatInterval: props.repeatInterval ?? null,
630
+ repeatAt: props.repeatAt ?? null,
631
+ disabled: props.disabled ?? null,
632
+ progress: props.progress ?? null,
633
+ debounceStartedAt: props.debounceStartedAt ?? null,
634
+ fork: props.fork ?? null,
635
+ startDate: props.startDate ?? null,
636
+ endDate: props.endDate ?? null,
637
+ skipDays: props.skipDays ?? null,
638
+ lastModifiedBy: options?.lastModifiedBy ?? null
546
639
  };
547
640
  log('[job %s] set job props: \n%O', _id, propsWithModifier);
548
641
  // Grab current time and set default query options for MongoDB
@@ -588,6 +681,8 @@ export class MongoJobRepository {
588
681
  return computeJobObj(result);
589
682
  }
590
683
  if (unique) {
684
+ // Reject server-side-eval operators before the query is built (NoSQL injection).
685
+ assertSafeUniqueQuery(unique);
591
686
  // Upsert based on the 'unique' query object
592
687
  const query = { ...unique };
593
688
  query.name = props.name;
@@ -628,7 +723,7 @@ export class MongoJobRepository {
628
723
  log('maxWait exceeded (%dms >= %dms), forcing immediate execution', timeSinceStart, debounce.maxWait);
629
724
  newNextRunAt = now;
630
725
  // Reset debounceStartedAt for the next cycle
631
- propsWithModifier.debounceStartedAt = undefined;
726
+ propsWithModifier.debounceStartedAt = null;
632
727
  }
633
728
  else {
634
729
  // Normal debounce: schedule for delay ms from now
@@ -1 +1 @@
1
- {"version":3,"file":"MongoJobRepository.js","sourceRoot":"","sources":["../src/MongoJobRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoJobRepository.js","sourceRoot":"","sources":["../src/MongoJobRepository.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,12 @@
1
1
  import type { Db, MongoClientOptions } from 'mongodb';
2
2
  import type { SortDirection } from 'agenda';
3
+ /**
4
+ * Adds `null` to optional properties while leaving required properties unchanged.
5
+ * @internal
6
+ */
7
+ export type OptionalKeysToNullable<T extends object> = {
8
+ [K in keyof T]: object extends Pick<T, K> ? T[K] | null : T[K];
9
+ };
3
10
  /**
4
11
  * Configuration options for MongoBackend
5
12
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agendajs/mongo-backend",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "description": "MongoDB backend for Agenda job scheduler",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -42,21 +42,21 @@
42
42
  "url": "https://github.com/agenda/agenda/issues"
43
43
  },
44
44
  "dependencies": {
45
- "debug": "^4.4.0"
45
+ "debug": "^4.4.3"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "mongodb": "^6.0.0 || ^7.0.0",
49
- "agenda": "6.2.4"
49
+ "agenda": "6.2.6"
50
50
  },
51
51
  "devDependencies": {
52
- "@types/debug": "^4.1.12",
53
- "@types/node": "^22.0.0",
54
- "@vitest/coverage-v8": "^3.1.0",
55
- "mongodb": "^6.12.0",
56
- "mongodb-memory-server": "^10.0.0",
52
+ "@types/debug": "^4.1.13",
53
+ "@types/node": "^22.19.18",
54
+ "@vitest/coverage-v8": "^3.2.4",
55
+ "mongodb": "^6.21.0",
56
+ "mongodb-memory-server": "^10.4.3",
57
57
  "tsx": "^4.21.0",
58
- "vitest": "^3.1.0",
59
- "agenda": "6.2.4"
58
+ "vitest": "^3.2.4",
59
+ "agenda": "6.2.6"
60
60
  },
61
61
  "scripts": {
62
62
  "build": "tsc -b",