@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.
- package/lib/appData/index.js +4 -7
- package/lib/appData/index.ts +3 -6
- package/lib/getMongoLocker.js +3 -4
- package/lib/getMongoLocker.ts +2 -3
- package/package.json +4 -4
package/lib/appData/index.js
CHANGED
|
@@ -23,13 +23,10 @@ const appData = {
|
|
|
23
23
|
},
|
|
24
24
|
updateDocument(_id, update, upsert = false) {
|
|
25
25
|
const query = { _id };
|
|
26
|
-
|
|
27
|
-
|
|
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,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFFQUE2QztBQUc3QyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRW5ELE1BQU0sT0FBTyxHQUFHO0lBRVosSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFBLHVCQUFhLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsRUFBRSxDQUFDO0lBRWIsb0JBQW9CLENBQUUsUUFBc0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixTQUFTLENBQUMsUUFBZSxDQUFDO2FBQzFCLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FDakIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFWixPQUFPO2FBQ1Y7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWMsQ0FBRSxHQUFRLEVBQUUsTUFBYyxFQUFFLFNBQWtCLEtBQUs7UUFDN0QsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNwRCxjQUFjLEVBQUUsT0FBTztZQUN2QixNQUFNO1NBQ1QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBRSxHQUFRO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBRUosQ0FBQztBQUVGLGtCQUFlLE9BQU8sQ0FBQyJ9
|
package/lib/appData/index.ts
CHANGED
|
@@ -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
|
-
|
|
33
|
-
|
|
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>> {
|
package/lib/getMongoLocker.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TW9uZ29Mb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRNb25nb0xvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUM1QyxxQ0FBK0M7QUFDL0Msc0VBQThDO0FBRTlDLHdFQUFnRDtBQVVoRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxVQUFzQixFQUFFLEVBQUU7SUFDNUQsSUFBSSxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQzlDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsS0FBSyxFQUFFLFVBQXNCLEVBQUUsRUFBRTtJQUU1QyxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsT0FBTyxLQUFLLEVBQ1IsR0FBUSxFQUNSLFFBQXlCLEVBQ3pCLEVBQUUsV0FBVyxHQUFHLElBQUksRUFBRSxrQkFBa0IsR0FBRyxFQUFFLEVBQUUsUUFBUSxHQUFHLE1BQU0sS0FBb0IsRUFBRSxFQUM1RSxFQUFFO1FBRVosTUFBTSxNQUFNLEdBQUcsSUFBSSxrQkFBUSxFQUFFLENBQUM7UUFFOUIsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUU1RSxNQUFNLFdBQVcsR0FBRyxLQUFLLElBQUksRUFBRTtZQUMzQixJQUFJO2dCQUNBLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCOzs7Ozs7bUJBTUc7Z0JBQ0gsTUFBTSxVQUFVLENBQUMsVUFBVSxDQUN2QixFQUFFLEdBQUcsRUFBRSxHQUFVLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUM3QyxnRkFBZ0Y7Z0JBQ2hGLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsRUFDekQsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ25CLENBQUM7YUFDTDtZQUFDLE9BQU8sR0FBTyxFQUFFO2dCQUNkLElBQUkseUJBQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxpQkFBUSxDQUFDLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7aUJBQ3JFO2dCQUNELE1BQU0sV0FBVyxFQUFFLENBQUMsQ0FBQyxzQ0FBc0M7Z0JBQzNELE1BQU0sR0FBRyxDQUFDO2FBQ2I7UUFDTCxDQUFDLENBQUM7UUFFRixNQUFNLElBQUEsd0JBQWMsRUFBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLElBQUk7WUFDQSxPQUFPLE1BQU0sUUFBUSxFQUFFLENBQUM7U0FFM0I7Z0JBQVM7WUFDTixNQUFNLFdBQVcsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIn0=
|
package/lib/getMongoLocker.ts
CHANGED
|
@@ -13,16 +13,15 @@ export type LockerOptions = {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
const _removeDeprecatedIndex = async (collection: Collection) => {
|
|
16
|
-
|
|
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.
|
|
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": "^
|
|
44
|
+
"mongodb": "^6.8.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"mongodb": "
|
|
47
|
+
"mongodb": "^6.8.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "ebb317129687bc1e9619bf312b41598680fdd2c3"
|
|
50
50
|
}
|