@storyous/mongodb 1.8.0 → 1.9.0

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.
@@ -23,13 +23,10 @@ const appData = {
23
23
  },
24
24
  updateDocument(_id, update, upsert = false) {
25
25
  const query = { _id };
26
- const options = {
27
- returnOriginal: false,
26
+ return this._collection.findOneAndUpdate(query, update, {
27
+ returnDocument: 'after',
28
28
  upsert,
29
- };
30
- return this._collection
31
- .findOneAndUpdate(query, update, options)
32
- .then((result) => result.value);
29
+ });
33
30
  },
34
31
  getDocument(_id) {
35
32
  const query = { _id };
@@ -37,4 +34,4 @@ const appData = {
37
34
  },
38
35
  };
39
36
  exports.default = appData;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFFQUE2QztBQUc3QyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRW5ELE1BQU0sT0FBTyxHQUFHO0lBRVosSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFBLHVCQUFhLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsRUFBRSxDQUFDO0lBRWIsb0JBQW9CLENBQUUsUUFBc0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixTQUFTLENBQUMsUUFBZSxDQUFDO2FBQzFCLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FDakIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFWixPQUFPO2FBQ1Y7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWMsQ0FBRSxHQUFRLEVBQUUsTUFBYyxFQUFFLFNBQWtCLEtBQUs7UUFDN0QsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRztZQUNaLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE1BQU07U0FDVCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQzthQUN4QyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVyxDQUFFLEdBQVE7UUFDakIsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FFSixDQUFDO0FBRUYsa0JBQWUsT0FBTyxDQUFDIn0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFFQUE2QztBQUc3QyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRW5ELE1BQU0sT0FBTyxHQUFHO0lBRVosSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFBLHVCQUFhLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsRUFBRSxDQUFDO0lBRWIsb0JBQW9CLENBQUUsUUFBc0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixTQUFTLENBQUMsUUFBZSxDQUFDO2FBQzFCLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FDakIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFWixPQUFPO2FBQ1Y7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWMsQ0FBRSxHQUFRLEVBQUUsTUFBYyxFQUFFLFNBQWtCLEtBQUs7UUFDN0QsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNwRCxjQUFjLEVBQUUsT0FBTztZQUN2QixNQUFNO1NBQ1QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBRSxHQUFRO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBRUosQ0FBQztBQUVGLGtCQUFlLE9BQU8sQ0FBQyJ9
@@ -29,13 +29,10 @@ const appData = {
29
29
 
30
30
  updateDocument (_id: Key, update: Object, upsert: boolean = false): Promise<WithId<any| null>> {
31
31
  const query = { _id };
32
- const options = {
33
- returnOriginal: false,
32
+ return this._collection.findOneAndUpdate(query, update, {
33
+ returnDocument: 'after',
34
34
  upsert,
35
- };
36
- return this._collection
37
- .findOneAndUpdate(query, update, options)
38
- .then((result) => result.value);
35
+ });
39
36
  },
40
37
 
41
38
  getDocument (_id: Key): Promise<WithId<any| null>> {
@@ -8,14 +8,13 @@ const mongodb_1 = require("mongodb");
8
8
  const concurrentTask_1 = __importDefault(require("./concurrentTask"));
9
9
  const mongoErrorCodes_1 = __importDefault(require("./mongoErrorCodes"));
10
10
  const _removeDeprecatedIndex = async (collection) => {
11
- const collectionStats = await collection.stats();
12
- if (collectionStats.indexDetails?.acquiredAt_1) {
11
+ if (await collection.indexExists('acquiredAt_1')) {
13
12
  await collection.dropIndex('acquiredAt_1');
14
13
  }
15
14
  };
16
15
  exports.default = async (collection) => {
17
- await _removeDeprecatedIndex(collection);
18
16
  await collection.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 });
17
+ await _removeDeprecatedIndex(collection);
19
18
  return async (key, callback, { noLaterThan = 1000, startAttemptsDelay = 50, expireIn = 120000 } = {}) => {
20
19
  const lockId = new mongodb_1.ObjectId();
21
20
  const releaseLock = () => collection.deleteOne({ _id: key, lockId });
@@ -50,4 +49,4 @@ exports.default = async (collection) => {
50
49
  }
51
50
  };
52
51
  };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TW9uZ29Mb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRNb25nb0xvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUM1QyxxQ0FBK0M7QUFDL0Msc0VBQThDO0FBRTlDLHdFQUFnRDtBQVVoRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxVQUFzQixFQUFFLEVBQUU7SUFDNUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakQsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRTtRQUM1QyxNQUFNLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDOUM7QUFDTCxDQUFDLENBQUM7QUFFRixrQkFBZSxLQUFLLEVBQUUsVUFBc0IsRUFBRSxFQUFFO0lBRTVDLE1BQU0sc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUxRSxPQUFPLEtBQUssRUFDUixHQUFRLEVBQ1IsUUFBeUIsRUFDekIsRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsTUFBTSxLQUFvQixFQUFFLEVBQzVFLEVBQUU7UUFFWixNQUFNLE1BQU0sR0FBRyxJQUFJLGtCQUFRLEVBQUUsQ0FBQztRQUU5QixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLE1BQU0sV0FBVyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQzNCLElBQUk7Z0JBQ0EsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkI7Ozs7OzttQkFNRztnQkFDSCxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQ3ZCLEVBQUUsR0FBRyxFQUFFLEdBQVUsRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzdDLGdGQUFnRjtnQkFDaEYsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxFQUN6RCxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDbkIsQ0FBQzthQUNMO1lBQUMsT0FBTyxHQUFPLEVBQUU7Z0JBQ2QsSUFBSSx5QkFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNsRCxNQUFNLGlCQUFRLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztpQkFDckU7Z0JBQ0QsTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDLHNDQUFzQztnQkFDM0QsTUFBTSxHQUFHLENBQUM7YUFDYjtRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sSUFBQSx3QkFBYyxFQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFdkUsSUFBSTtZQUNBLE9BQU8sTUFBTSxRQUFRLEVBQUUsQ0FBQztTQUUzQjtnQkFBUztZQUNOLE1BQU0sV0FBVyxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMifQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TW9uZ29Mb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRNb25nb0xvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUM1QyxxQ0FBK0M7QUFDL0Msc0VBQThDO0FBRTlDLHdFQUFnRDtBQVVoRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxVQUFzQixFQUFFLEVBQUU7SUFDNUQsSUFBSSxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQzlDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsS0FBSyxFQUFFLFVBQXNCLEVBQUUsRUFBRTtJQUU1QyxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsT0FBTyxLQUFLLEVBQ1IsR0FBUSxFQUNSLFFBQXlCLEVBQ3pCLEVBQUUsV0FBVyxHQUFHLElBQUksRUFBRSxrQkFBa0IsR0FBRyxFQUFFLEVBQUUsUUFBUSxHQUFHLE1BQU0sS0FBb0IsRUFBRSxFQUM1RSxFQUFFO1FBRVosTUFBTSxNQUFNLEdBQUcsSUFBSSxrQkFBUSxFQUFFLENBQUM7UUFFOUIsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUU1RSxNQUFNLFdBQVcsR0FBRyxLQUFLLElBQUksRUFBRTtZQUMzQixJQUFJO2dCQUNBLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCOzs7Ozs7bUJBTUc7Z0JBQ0gsTUFBTSxVQUFVLENBQUMsVUFBVSxDQUN2QixFQUFFLEdBQUcsRUFBRSxHQUFVLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUM3QyxnRkFBZ0Y7Z0JBQ2hGLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsRUFDekQsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ25CLENBQUM7YUFDTDtZQUFDLE9BQU8sR0FBTyxFQUFFO2dCQUNkLElBQUkseUJBQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxpQkFBUSxDQUFDLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7aUJBQ3JFO2dCQUNELE1BQU0sV0FBVyxFQUFFLENBQUMsQ0FBQyxzQ0FBc0M7Z0JBQzNELE1BQU0sR0FBRyxDQUFDO2FBQ2I7UUFDTCxDQUFDLENBQUM7UUFFRixNQUFNLElBQUEsd0JBQWMsRUFBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLElBQUk7WUFDQSxPQUFPLE1BQU0sUUFBUSxFQUFFLENBQUM7U0FFM0I7Z0JBQVM7WUFDTixNQUFNLFdBQVcsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIn0=
@@ -13,16 +13,15 @@ export type LockerOptions = {
13
13
  };
14
14
 
15
15
  const _removeDeprecatedIndex = async (collection: Collection) => {
16
- const collectionStats = await collection.stats();
17
- if (collectionStats.indexDetails?.acquiredAt_1) {
16
+ if (await collection.indexExists('acquiredAt_1')) {
18
17
  await collection.dropIndex('acquiredAt_1');
19
18
  }
20
19
  };
21
20
 
22
21
  export default async (collection: Collection) => {
23
22
 
24
- await _removeDeprecatedIndex(collection);
25
23
  await collection.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 });
24
+ await _removeDeprecatedIndex(collection);
26
25
 
27
26
  return async <T>(
28
27
  key: Key,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storyous/mongodb",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/Storyous/mono-utils#readme",
6
6
  "license": "ISC",
@@ -41,10 +41,10 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/sinon": "^10.0.11",
44
- "mongodb": "^4.9.0"
44
+ "mongodb": "^6.8.0"
45
45
  },
46
46
  "peerDependencies": {
47
- "mongodb": ">=4 <5"
47
+ "mongodb": "^6.8.0"
48
48
  },
49
- "gitHead": "42b628c1ebba1648cb3292073f0d15abb7e1fe1d"
49
+ "gitHead": "ebb317129687bc1e9619bf312b41598680fdd2c3"
50
50
  }