ts-patch-mongoose 2.5.5 → 2.6.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/.eslintrc +5 -25
- package/dist/cjs/helpers.js +1 -1
- package/dist/cjs/hooks/delete-hooks.js +2 -2
- package/dist/cjs/hooks/save-hooks.js +3 -1
- package/dist/cjs/hooks/save-hooks.js.map +1 -1
- package/dist/cjs/hooks/update-hooks.js +11 -7
- package/dist/cjs/hooks/update-hooks.js.map +1 -1
- package/dist/cjs/models/History.js +11 -11
- package/dist/cjs/patch.js +5 -5
- package/dist/cjs/patch.js.map +1 -1
- package/dist/cjs/plugin.js +2 -2
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/cjs/types/helpers.d.ts.map +1 -1
- package/dist/cjs/types/hooks/delete-hooks.d.ts +2 -2
- package/dist/cjs/types/hooks/delete-hooks.d.ts.map +1 -1
- package/dist/cjs/types/hooks/save-hooks.d.ts +2 -2
- package/dist/cjs/types/hooks/save-hooks.d.ts.map +1 -1
- package/dist/cjs/types/hooks/update-hooks.d.ts +2 -2
- package/dist/cjs/types/hooks/update-hooks.d.ts.map +1 -1
- package/dist/cjs/types/patch.d.ts.map +1 -1
- package/dist/cjs/types/plugin.d.ts +15 -15
- package/dist/cjs/types/plugin.d.ts.map +1 -1
- package/dist/esm/helpers.js +1 -1
- package/dist/esm/hooks/delete-hooks.js +2 -2
- package/dist/esm/hooks/save-hooks.js +3 -1
- package/dist/esm/hooks/save-hooks.js.map +1 -1
- package/dist/esm/hooks/update-hooks.js +12 -8
- package/dist/esm/hooks/update-hooks.js.map +1 -1
- package/dist/esm/models/History.js +11 -11
- package/dist/esm/patch.js +5 -5
- package/dist/esm/patch.js.map +1 -1
- package/dist/esm/plugin.js +2 -2
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/types/helpers.d.ts.map +1 -1
- package/dist/esm/types/hooks/delete-hooks.d.ts +2 -2
- package/dist/esm/types/hooks/delete-hooks.d.ts.map +1 -1
- package/dist/esm/types/hooks/save-hooks.d.ts +2 -2
- package/dist/esm/types/hooks/save-hooks.d.ts.map +1 -1
- package/dist/esm/types/hooks/update-hooks.d.ts +2 -2
- package/dist/esm/types/hooks/update-hooks.d.ts.map +1 -1
- package/dist/esm/types/patch.d.ts.map +1 -1
- package/dist/esm/types/plugin.d.ts +15 -15
- package/dist/esm/types/plugin.d.ts.map +1 -1
- package/jest-mongodb-config.ts +3 -3
- package/jest.config.ts +7 -7
- package/package.json +11 -10
- package/src/helpers.ts +2 -2
- package/src/hooks/delete-hooks.ts +3 -3
- package/src/hooks/save-hooks.ts +5 -2
- package/src/hooks/update-hooks.ts +14 -9
- package/src/models/History.ts +11 -11
- package/src/patch.ts +17 -17
- package/src/plugin.ts +8 -8
- package/tests/constants/events.ts +4 -0
- package/tests/em.test.ts +2 -2
- package/tests/interfaces/IDescription.ts +5 -0
- package/tests/interfaces/IProduct.ts +14 -0
- package/tests/patch.test.ts +15 -15
- package/tests/plugin-event-created.test.ts +34 -34
- package/tests/plugin-event-deleted.test.ts +24 -25
- package/tests/plugin-event-updated.test.ts +42 -42
- package/tests/plugin-global.test.ts +538 -0
- package/tests/plugin-omit-all.test.ts +1 -1
- package/tests/plugin-patch-history-disabled.test.ts +1 -1
- package/tests/plugin-pre-delete.test.ts +15 -15
- package/tests/plugin.test.ts +20 -20
- package/tests/schemas/DescriptionSchema.ts +12 -0
- package/tests/schemas/ProductSchema.ts +28 -0
- package/tests/schemas/UserSchema.ts +3 -3
- package/tsconfig.json +2 -1
package/.eslintrc
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
],
|
|
14
14
|
"extends": [
|
|
15
15
|
"eslint:recommended",
|
|
16
|
+
"plugin:sonarjs/recommended",
|
|
16
17
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
17
|
-
"plugin
|
|
18
|
+
"plugin:@stylistic/recommended-extends"
|
|
18
19
|
],
|
|
19
20
|
"globals": {
|
|
20
21
|
"Atomics": "readonly",
|
|
@@ -25,33 +26,12 @@
|
|
|
25
26
|
"sourceType": "module"
|
|
26
27
|
},
|
|
27
28
|
"rules": {
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
"never"
|
|
31
|
-
],
|
|
29
|
+
"@stylistic/arrow-parens": ["error", "always"],
|
|
30
|
+
"@stylistic/brace-style": ["error", "1tbs"],
|
|
32
31
|
"@typescript-eslint/array-type": "error",
|
|
33
32
|
"@typescript-eslint/consistent-type-imports": "error",
|
|
34
33
|
"@typescript-eslint/method-signature-style": "error",
|
|
35
|
-
"@typescript-eslint/consistent-indexed-object-style": "error"
|
|
36
|
-
"indent": [
|
|
37
|
-
"error",
|
|
38
|
-
2
|
|
39
|
-
],
|
|
40
|
-
"arrow-parens": [
|
|
41
|
-
"error"
|
|
42
|
-
],
|
|
43
|
-
"linebreak-style": [
|
|
44
|
-
"error",
|
|
45
|
-
"unix"
|
|
46
|
-
],
|
|
47
|
-
"quotes": [
|
|
48
|
-
"error",
|
|
49
|
-
"single"
|
|
50
|
-
],
|
|
51
|
-
"semi": [
|
|
52
|
-
"error",
|
|
53
|
-
"never"
|
|
54
|
-
]
|
|
34
|
+
"@typescript-eslint/consistent-indexed-object-style": "error"
|
|
55
35
|
},
|
|
56
36
|
"overrides": [
|
|
57
37
|
{
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -12,7 +12,7 @@ const deleteMethods = [
|
|
|
12
12
|
'findByIdAndDelete',
|
|
13
13
|
'findByIdAndRemove',
|
|
14
14
|
'deleteOne',
|
|
15
|
-
'deleteMany'
|
|
15
|
+
'deleteMany',
|
|
16
16
|
];
|
|
17
17
|
const deleteHooksInitialize = (schema, opts) => {
|
|
18
18
|
schema.pre(deleteMethods, { document: false, query: true }, async function () {
|
|
@@ -26,7 +26,7 @@ const deleteHooksInitialize = (schema, opts) => {
|
|
|
26
26
|
modelName: opts.modelName ?? this.model.modelName,
|
|
27
27
|
collectionName: opts.collectionName ?? this.model.collection.collectionName,
|
|
28
28
|
ignoreEvent: options['ignoreEvent'],
|
|
29
|
-
ignorePatchHistory: options['ignorePatchHistory']
|
|
29
|
+
ignorePatchHistory: options['ignorePatchHistory'],
|
|
30
30
|
};
|
|
31
31
|
if (['remove', 'deleteMany'].includes(this._context.op) && !options['single']) {
|
|
32
32
|
const docs = await model.find(filter).lean().exec();
|
|
@@ -5,13 +5,15 @@ const patch_1 = require("../patch");
|
|
|
5
5
|
const helpers_1 = require("../helpers");
|
|
6
6
|
const saveHooksInitialize = (schema, opts) => {
|
|
7
7
|
schema.pre('save', async function () {
|
|
8
|
+
if (this.constructor.name !== 'model')
|
|
9
|
+
return;
|
|
8
10
|
const current = this.toObject(helpers_1.toObjectOptions);
|
|
9
11
|
const model = this.constructor;
|
|
10
12
|
const context = {
|
|
11
13
|
op: this.isNew ? 'create' : 'update',
|
|
12
14
|
modelName: opts.modelName ?? model.modelName,
|
|
13
15
|
collectionName: opts.collectionName ?? model.collection.collectionName,
|
|
14
|
-
createdDocs: [current]
|
|
16
|
+
createdDocs: [current],
|
|
15
17
|
};
|
|
16
18
|
if (this.isNew) {
|
|
17
19
|
await (0, patch_1.createPatch)(opts, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,wCAA4C;AAMrC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IACzF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;YACtE,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAA+B,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,wCAA4C;AAMrC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IACzF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;YACnC,OAAM;QAER,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;YACtE,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAA+B,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAxBY,QAAA,mBAAmB,uBAwB/B"}
|
|
@@ -13,10 +13,10 @@ const updateMethods = [
|
|
|
13
13
|
'updateMany',
|
|
14
14
|
'findOneAndUpdate',
|
|
15
15
|
'findOneAndReplace',
|
|
16
|
-
'findByIdAndUpdate'
|
|
16
|
+
'findByIdAndUpdate',
|
|
17
17
|
];
|
|
18
18
|
const assignUpdate = (document, update, commands) => {
|
|
19
|
-
let updated = (0, power_assign_1.assign)(document, update);
|
|
19
|
+
let updated = (0, power_assign_1.assign)(document.toObject(helpers_1.toObjectOptions), update);
|
|
20
20
|
lodash_1.default.forEach(commands, (command) => {
|
|
21
21
|
try {
|
|
22
22
|
updated = (0, power_assign_1.assign)(updated, command);
|
|
@@ -24,7 +24,10 @@ const assignUpdate = (document, update, commands) => {
|
|
|
24
24
|
catch {
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
|
-
|
|
27
|
+
const doc = document.set(updated).toObject(helpers_1.toObjectOptions);
|
|
28
|
+
if (update['createdAt'])
|
|
29
|
+
doc.createdAt = update['createdAt'];
|
|
30
|
+
return doc;
|
|
28
31
|
};
|
|
29
32
|
exports.assignUpdate = assignUpdate;
|
|
30
33
|
const splitUpdateAndCommands = (updateQuery) => {
|
|
@@ -57,13 +60,14 @@ const updateHooksInitialize = (schema, opts) => {
|
|
|
57
60
|
collectionName: opts.collectionName ?? this.model.collection.collectionName,
|
|
58
61
|
isNew: Boolean(options.upsert) && count === 0,
|
|
59
62
|
ignoreEvent: options['ignoreEvent'],
|
|
60
|
-
ignorePatchHistory: options['ignorePatchHistory']
|
|
63
|
+
ignorePatchHistory: options['ignorePatchHistory'],
|
|
61
64
|
};
|
|
62
65
|
const updateQuery = this.getUpdate();
|
|
63
66
|
const { update, commands } = (0, exports.splitUpdateAndCommands)(updateQuery);
|
|
64
|
-
const cursor = model.find(filter).
|
|
67
|
+
const cursor = model.find(filter).cursor();
|
|
65
68
|
await cursor.eachAsync(async (doc) => {
|
|
66
|
-
|
|
69
|
+
const origDoc = doc.toObject(helpers_1.toObjectOptions);
|
|
70
|
+
await (0, patch_1.updatePatch)(opts, this._context, (0, exports.assignUpdate)(doc, update, commands), origDoc);
|
|
67
71
|
});
|
|
68
72
|
});
|
|
69
73
|
schema.post(updateMethods, async function () {
|
|
@@ -75,7 +79,7 @@ const updateHooksInitialize = (schema, opts) => {
|
|
|
75
79
|
const model = this.model;
|
|
76
80
|
const updateQuery = this.getUpdate();
|
|
77
81
|
const { update, commands } = (0, exports.splitUpdateAndCommands)(updateQuery);
|
|
78
|
-
const filter = (0, exports.assignUpdate)({}, update, commands);
|
|
82
|
+
const filter = (0, exports.assignUpdate)(model.hydrate({}), update, commands);
|
|
79
83
|
if (!lodash_1.default.isEmpty(filter)) {
|
|
80
84
|
const current = await model.findOne(update).lean().exec();
|
|
81
85
|
if (current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,+CAAqC;AAErC,oCAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,+CAAqC;AAErC,oCAAmD;AACnD,wCAA2D;AAM3D,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACpB,CAAA;AAEM,MAAM,YAAY,GAAG,CAAI,QAA6B,EAAE,MAAsB,EAAE,QAAmC,EAAuB,EAAE;IACjJ,IAAI,OAAO,GAAG,IAAA,qBAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,yBAAe,CAAC,EAAE,MAAM,CAAC,CAAA;IAChE,gBAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,qBAAM,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,yBAAe,CAA+C,CAAA;IACzG,IAAI,MAAM,CAAC,WAAW,CAAC;QAErB,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAfY,QAAA,YAAY,gBAexB;AAEM,MAAM,sBAAsB,GAAG,CAAI,WAAkE,EAAmE,EAAE;IAC/K,IAAI,MAAM,GAAmB,EAAE,CAAA;IAC/B,MAAM,QAAQ,GAA8B,EAAE,CAAA;IAE9C,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,gBAAC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QACtF,MAAM,GAAG,gBAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,gBAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAY,EAAE,CAAC,CAAA;gBAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC7B,CAAC,CAAA;AAjBY,QAAA,sBAAsB,0BAiBlC;AAEM,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IAC3F,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,KAAK;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiB,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAE5D,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACjD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc;YAC3E,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;YAC7C,WAAW,EAAE,OAAO,CAAC,aAAa,CAAY;YAC9C,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAY;SAC7D,CAAA;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAsB,EAAC,WAAW,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;QAC1C,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAwB,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;YACpE,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAA,oBAAY,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,KAAK;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC;YAAE,OAAM;QAElC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAM;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiB,CAAA;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAsB,EAAC,WAAW,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChE,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,OAAO,CAA0B,CAAA;gBAE9D,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAhDY,QAAA,qBAAqB,yBAgDjC"}
|
|
@@ -4,40 +4,40 @@ const mongoose_1 = require("mongoose");
|
|
|
4
4
|
const HistorySchema = new mongoose_1.Schema({
|
|
5
5
|
op: {
|
|
6
6
|
type: String,
|
|
7
|
-
required: true
|
|
7
|
+
required: true,
|
|
8
8
|
},
|
|
9
9
|
modelName: {
|
|
10
10
|
type: String,
|
|
11
|
-
required: true
|
|
11
|
+
required: true,
|
|
12
12
|
},
|
|
13
13
|
collectionName: {
|
|
14
14
|
type: String,
|
|
15
|
-
required: true
|
|
15
|
+
required: true,
|
|
16
16
|
},
|
|
17
17
|
collectionId: {
|
|
18
18
|
type: mongoose_1.Schema.Types.ObjectId,
|
|
19
|
-
required: true
|
|
19
|
+
required: true,
|
|
20
20
|
},
|
|
21
21
|
doc: {
|
|
22
|
-
type: Object
|
|
22
|
+
type: Object,
|
|
23
23
|
},
|
|
24
24
|
patch: {
|
|
25
|
-
type: Array
|
|
25
|
+
type: Array,
|
|
26
26
|
},
|
|
27
27
|
user: {
|
|
28
|
-
type: Object
|
|
28
|
+
type: Object,
|
|
29
29
|
},
|
|
30
30
|
reason: {
|
|
31
|
-
type: String
|
|
31
|
+
type: String,
|
|
32
32
|
},
|
|
33
33
|
metadata: {
|
|
34
|
-
type: Object
|
|
34
|
+
type: Object,
|
|
35
35
|
},
|
|
36
36
|
version: {
|
|
37
37
|
type: Number,
|
|
38
38
|
min: 0,
|
|
39
|
-
default: 0
|
|
40
|
-
}
|
|
39
|
+
default: 0,
|
|
40
|
+
},
|
|
41
41
|
}, { timestamps: true });
|
|
42
42
|
HistorySchema.index({ collectionId: 1, version: -1 });
|
|
43
43
|
HistorySchema.index({ op: 1, modelName: 1, collectionName: 1, collectionId: 1, reason: 1, version: 1 });
|
package/dist/cjs/patch.js
CHANGED
|
@@ -52,7 +52,7 @@ async function getData(opts) {
|
|
|
52
52
|
return [
|
|
53
53
|
getValue(user),
|
|
54
54
|
getValue(reason),
|
|
55
|
-
getValue(metadata)
|
|
55
|
+
getValue(metadata),
|
|
56
56
|
];
|
|
57
57
|
});
|
|
58
58
|
}
|
|
@@ -88,9 +88,9 @@ async function bulkPatch(opts, context, eventKey, docsKey) {
|
|
|
88
88
|
user,
|
|
89
89
|
reason,
|
|
90
90
|
metadata,
|
|
91
|
-
version: 0
|
|
92
|
-
}
|
|
93
|
-
}
|
|
91
|
+
version: 0,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -129,7 +129,7 @@ async function updatePatch(opts, context, current, original) {
|
|
|
129
129
|
user,
|
|
130
130
|
reason,
|
|
131
131
|
metadata,
|
|
132
|
-
version
|
|
132
|
+
version,
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
}
|
package/dist/cjs/patch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,kEAA4B;AAC5B,8EAAuC;AASvC,uEAAsC;AACtC,sDAAqB;AAErB,SAAS,qBAAqB,
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/plugin.js
CHANGED
|
@@ -21,7 +21,7 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
21
21
|
op: 'create',
|
|
22
22
|
modelName: opts.modelName ?? this.modelName,
|
|
23
23
|
collectionName: opts.collectionName ?? this.collection.collectionName,
|
|
24
|
-
createdDocs: docs
|
|
24
|
+
createdDocs: docs,
|
|
25
25
|
};
|
|
26
26
|
await (0, patch_1.createPatch)(opts, context);
|
|
27
27
|
});
|
|
@@ -39,7 +39,7 @@ const patchHistoryPlugin = function plugin(schema, opts) {
|
|
|
39
39
|
op: 'delete',
|
|
40
40
|
modelName: opts.modelName ?? model.modelName,
|
|
41
41
|
collectionName: opts.collectionName ?? model.collection.collectionName,
|
|
42
|
-
deletedDocs: [original]
|
|
42
|
+
deletedDocs: [original],
|
|
43
43
|
};
|
|
44
44
|
await (0, patch_1.deletePatch)(opts, context);
|
|
45
45
|
});
|
package/dist/cjs/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,sDAAqB;AAErB,mCAAkD;AAClD,uCAAoE;AACpE,uCAA2C;AAE3C,mDAAwD;AACxD,uDAA4D;AAC5D,uDAA4D;AAM5D,MAAM,MAAM,GAAG,6BAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;AAK9C,QAAA,iBAAiB,GAAG,YAAE,CAAA;AAQ5B,MAAM,kBAAkB,GAAG,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,sDAAqB;AAErB,mCAAkD;AAClD,uCAAoE;AACpE,uCAA2C;AAE3C,mDAAwD;AACxD,uDAA4D;AAC5D,uDAA4D;AAM5D,MAAM,MAAM,GAAG,6BAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;AAK9C,QAAA,iBAAiB,GAAG,YAAE,CAAA;AAQ5B,MAAM,kBAAkB,GAAG,SAAS,MAAM,CAAI,MAAiB,EAAE,IAAuB;IAE7F,IAAA,gCAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACjC,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAGnC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,WAAW,IAAI;QAC5C,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc;YACrE,WAAW,EAAE,IAAwC;SACtD,CAAA;QAED,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAIF,IAAI,6BAAmB,EAAE,CAAC;QAExB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YAGxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;YAEtE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC,CAAA;QAGF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;YAE1C,MAAM,OAAO,GAAgB;gBAC3B,EAAE,EAAE,QAAQ;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;gBAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;gBACtE,WAAW,EAAE,CAAC,QAAQ,CAAC;aACxB,CAAA;YAED,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AA/CY,QAAA,kBAAkB,sBA+C9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE7D,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE7D,eAAO,MAAM,aAAa,eAAgB,aAAa,CAAC,CAAC,KAAG,OAE3D,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,eAG7B,CAAA"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import type {
|
|
25
|
+
import type { Schema } from 'mongoose';
|
|
26
26
|
import type IPluginOptions from '../interfaces/IPluginOptions';
|
|
27
|
-
export declare const deleteHooksInitialize: <T>(schema: Schema<T
|
|
27
|
+
export declare const deleteHooksInitialize: <T>(schema: Schema<T>, opts: IPluginOptions<T>) => void;
|
|
28
28
|
//# sourceMappingURL=delete-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-hooks.d.ts","sourceRoot":"","sources":["../../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"delete-hooks.d.ts","sourceRoot":"","sources":["../../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA,OAAO,KAAK,EAAoD,MAAM,EAAE,MAAM,UAAU,CAAA;AACxF,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAA;AAa9D,eAAO,MAAM,qBAAqB,cAAe,OAAO,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,KAAG,IAuCrF,CAAA"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import type {
|
|
25
|
+
import type { Schema } from 'mongoose';
|
|
26
26
|
import type IPluginOptions from '../interfaces/IPluginOptions';
|
|
27
|
-
export declare const saveHooksInitialize: <T>(schema: Schema<T
|
|
27
|
+
export declare const saveHooksInitialize: <T>(schema: Schema<T>, opts: IPluginOptions<T>) => void;
|
|
28
28
|
//# sourceMappingURL=save-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-hooks.d.ts","sourceRoot":"","sources":["../../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"save-hooks.d.ts","sourceRoot":"","sources":["../../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAA2B,MAAM,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAA;AAG9D,eAAO,MAAM,mBAAmB,cAAe,OAAO,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,KAAG,IAwBnF,CAAA"}
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import type { HydratedDocument,
|
|
25
|
+
import type { HydratedDocument, Schema, UpdateQuery, UpdateWithAggregationPipeline } from 'mongoose';
|
|
26
26
|
import type IPluginOptions from '../interfaces/IPluginOptions';
|
|
27
27
|
export declare const assignUpdate: <T>(document: HydratedDocument<T>, update: UpdateQuery<T>, commands: Record<string, unknown>[]) => HydratedDocument<T>;
|
|
28
28
|
export declare const splitUpdateAndCommands: <T>(updateQuery: UpdateWithAggregationPipeline | UpdateQuery<T> | null) => {
|
|
29
29
|
update: UpdateQuery<T>;
|
|
30
30
|
commands: Record<string, unknown>[];
|
|
31
31
|
};
|
|
32
|
-
export declare const updateHooksInitialize: <T>(schema: Schema<T
|
|
32
|
+
export declare const updateHooksInitialize: <T>(schema: Schema<T>, opts: IPluginOptions<T>) => void;
|
|
33
33
|
//# sourceMappingURL=update-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-hooks.d.ts","sourceRoot":"","sources":["../../../../src/hooks/update-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"update-hooks.d.ts","sourceRoot":"","sources":["../../../../src/hooks/update-hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAkC,MAAM,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AACpI,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAA;AAa9D,eAAO,MAAM,YAAY,gBAAiB,iBAAiB,CAAC,CAAC,UAAU,YAAY,CAAC,CAAC,YAAY,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE,KAAG,iBAAiB,CAAC,CAe9I,CAAA;AAED,eAAO,MAAM,sBAAsB,mBAAoB,6BAA6B,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI;YAAa,YAAY,CAAC,CAAC;cAAY,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;CAiB3K,CAAA;AAED,eAAO,MAAM,qBAAqB,cAAe,OAAO,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,KAAG,IAgDrF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,UAAU,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AASjE,wBAAgB,UAAU,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,UAAU,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AASjE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAU7K;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAKnF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKvF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAK3F;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAExE;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAU/H;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAInG;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwClL;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC9J;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG"}
|
|
@@ -23,25 +23,25 @@
|
|
|
23
23
|
/// <reference types="mongoose/types/validation" />
|
|
24
24
|
/// <reference types="mongoose/types/virtuals" />
|
|
25
25
|
/// <reference types="mongoose/types/inferschematype" />
|
|
26
|
-
import type {
|
|
26
|
+
import type { Schema } from 'mongoose';
|
|
27
27
|
import type IPluginOptions from './interfaces/IPluginOptions';
|
|
28
28
|
export declare const patchEventEmitter: {
|
|
29
|
-
[EventEmitter.captureRejectionSymbol]
|
|
30
|
-
addListener(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
31
|
-
on(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
32
|
-
once(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
33
|
-
removeListener(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
34
|
-
off(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
35
|
-
removeAllListeners(
|
|
29
|
+
[EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: any[]): void;
|
|
30
|
+
addListener<K_1>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
31
|
+
on<K_2>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
32
|
+
once<K_3>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
33
|
+
removeListener<K_4>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
34
|
+
off<K_5>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
35
|
+
removeAllListeners(eventName?: string | symbol | undefined): any;
|
|
36
36
|
setMaxListeners(n: number): any;
|
|
37
37
|
getMaxListeners(): number;
|
|
38
|
-
listeners(eventName: string | symbol): Function[];
|
|
39
|
-
rawListeners(eventName: string | symbol): Function[];
|
|
40
|
-
emit(eventName: string | symbol, ...args: any[]): boolean;
|
|
41
|
-
listenerCount(eventName: string | symbol, listener?: Function | undefined): number;
|
|
42
|
-
prependListener(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
43
|
-
prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
38
|
+
listeners<K_6>(eventName: string | symbol): Function[];
|
|
39
|
+
rawListeners<K_7>(eventName: string | symbol): Function[];
|
|
40
|
+
emit<K_8>(eventName: string | symbol, ...args: any[]): boolean;
|
|
41
|
+
listenerCount<K_9>(eventName: string | symbol, listener?: Function | undefined): number;
|
|
42
|
+
prependListener<K_10>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
43
|
+
prependOnceListener<K_11>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
44
44
|
eventNames(): (string | symbol)[];
|
|
45
45
|
};
|
|
46
|
-
export declare const patchHistoryPlugin: <T>(schema: Schema<T
|
|
46
|
+
export declare const patchHistoryPlugin: <T>(schema: Schema<T>, opts: IPluginOptions<T>) => void;
|
|
47
47
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWA,OAAO,KAAK,EAA2B,MAAM,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAQ7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,cAA8B,OAAO,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,KAAG,IA+CjG,CAAA"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -8,7 +8,7 @@ const deleteMethods = [
|
|
|
8
8
|
'findByIdAndDelete',
|
|
9
9
|
'findByIdAndRemove',
|
|
10
10
|
'deleteOne',
|
|
11
|
-
'deleteMany'
|
|
11
|
+
'deleteMany',
|
|
12
12
|
];
|
|
13
13
|
export const deleteHooksInitialize = (schema, opts) => {
|
|
14
14
|
schema.pre(deleteMethods, { document: false, query: true }, async function () {
|
|
@@ -22,7 +22,7 @@ export const deleteHooksInitialize = (schema, opts) => {
|
|
|
22
22
|
modelName: opts.modelName ?? this.model.modelName,
|
|
23
23
|
collectionName: opts.collectionName ?? this.model.collection.collectionName,
|
|
24
24
|
ignoreEvent: options['ignoreEvent'],
|
|
25
|
-
ignorePatchHistory: options['ignorePatchHistory']
|
|
25
|
+
ignorePatchHistory: options['ignorePatchHistory'],
|
|
26
26
|
};
|
|
27
27
|
if (['remove', 'deleteMany'].includes(this._context.op) && !options['single']) {
|
|
28
28
|
const docs = await model.find(filter).lean().exec();
|
|
@@ -2,13 +2,15 @@ import { createPatch, updatePatch } from '../patch.js';
|
|
|
2
2
|
import { toObjectOptions } from '../helpers.js';
|
|
3
3
|
export const saveHooksInitialize = (schema, opts) => {
|
|
4
4
|
schema.pre('save', async function () {
|
|
5
|
+
if (this.constructor.name !== 'model')
|
|
6
|
+
return;
|
|
5
7
|
const current = this.toObject(toObjectOptions);
|
|
6
8
|
const model = this.constructor;
|
|
7
9
|
const context = {
|
|
8
10
|
op: this.isNew ? 'create' : 'update',
|
|
9
11
|
modelName: opts.modelName ?? model.modelName,
|
|
10
12
|
collectionName: opts.collectionName ?? model.collection.collectionName,
|
|
11
|
-
createdDocs: [current]
|
|
13
|
+
createdDocs: [current],
|
|
12
14
|
};
|
|
13
15
|
if (this.isNew) {
|
|
14
16
|
await createPatch(opts, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAM5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IACzF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;YACtE,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAA+B,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAM5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IACzF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;YACnC,OAAM;QAER,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;YACtE,WAAW,EAAE,CAAC,OAAO,CAAC;SACvB,CAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAA+B,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import { assign } from 'power-assign';
|
|
3
3
|
import { createPatch, updatePatch } from '../patch.js';
|
|
4
|
-
import { isHookIgnored } from '../helpers.js';
|
|
4
|
+
import { isHookIgnored, toObjectOptions } from '../helpers.js';
|
|
5
5
|
const updateMethods = [
|
|
6
6
|
'update',
|
|
7
7
|
'updateOne',
|
|
@@ -9,10 +9,10 @@ const updateMethods = [
|
|
|
9
9
|
'updateMany',
|
|
10
10
|
'findOneAndUpdate',
|
|
11
11
|
'findOneAndReplace',
|
|
12
|
-
'findByIdAndUpdate'
|
|
12
|
+
'findByIdAndUpdate',
|
|
13
13
|
];
|
|
14
14
|
export const assignUpdate = (document, update, commands) => {
|
|
15
|
-
let updated = assign(document, update);
|
|
15
|
+
let updated = assign(document.toObject(toObjectOptions), update);
|
|
16
16
|
_.forEach(commands, (command) => {
|
|
17
17
|
try {
|
|
18
18
|
updated = assign(updated, command);
|
|
@@ -20,7 +20,10 @@ export const assignUpdate = (document, update, commands) => {
|
|
|
20
20
|
catch {
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
|
-
|
|
23
|
+
const doc = document.set(updated).toObject(toObjectOptions);
|
|
24
|
+
if (update['createdAt'])
|
|
25
|
+
doc.createdAt = update['createdAt'];
|
|
26
|
+
return doc;
|
|
24
27
|
};
|
|
25
28
|
export const splitUpdateAndCommands = (updateQuery) => {
|
|
26
29
|
let update = {};
|
|
@@ -51,13 +54,14 @@ export const updateHooksInitialize = (schema, opts) => {
|
|
|
51
54
|
collectionName: opts.collectionName ?? this.model.collection.collectionName,
|
|
52
55
|
isNew: Boolean(options.upsert) && count === 0,
|
|
53
56
|
ignoreEvent: options['ignoreEvent'],
|
|
54
|
-
ignorePatchHistory: options['ignorePatchHistory']
|
|
57
|
+
ignorePatchHistory: options['ignorePatchHistory'],
|
|
55
58
|
};
|
|
56
59
|
const updateQuery = this.getUpdate();
|
|
57
60
|
const { update, commands } = splitUpdateAndCommands(updateQuery);
|
|
58
|
-
const cursor = model.find(filter).
|
|
61
|
+
const cursor = model.find(filter).cursor();
|
|
59
62
|
await cursor.eachAsync(async (doc) => {
|
|
60
|
-
|
|
63
|
+
const origDoc = doc.toObject(toObjectOptions);
|
|
64
|
+
await updatePatch(opts, this._context, assignUpdate(doc, update, commands), origDoc);
|
|
61
65
|
});
|
|
62
66
|
});
|
|
63
67
|
schema.post(updateMethods, async function () {
|
|
@@ -69,7 +73,7 @@ export const updateHooksInitialize = (schema, opts) => {
|
|
|
69
73
|
const model = this.model;
|
|
70
74
|
const updateQuery = this.getUpdate();
|
|
71
75
|
const { update, commands } = splitUpdateAndCommands(updateQuery);
|
|
72
|
-
const filter = assignUpdate({}, update, commands);
|
|
76
|
+
const filter = assignUpdate(model.hydrate({}), update, commands);
|
|
73
77
|
if (!_.isEmpty(filter)) {
|
|
74
78
|
const current = await model.findOne(update).lean().exec();
|
|
75
79
|
if (current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAM3D,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACpB,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,QAA6B,EAAE,MAAsB,EAAE,QAAmC,EAAuB,EAAE;IACjJ,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAA+C,CAAA;IACzG,IAAI,MAAM,CAAC,WAAW,CAAC;QAErB,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAI,WAAkE,EAAmE,EAAE;IAC/K,IAAI,MAAM,GAAmB,EAAE,CAAA;IAC/B,MAAM,QAAQ,GAA8B,EAAE,CAAA;IAE9C,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;QACtF,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAY,EAAE,CAAC,CAAA;gBAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAuB,EAAQ,EAAE;IAC3F,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,KAAK;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiB,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAE5D,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACjD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc;YAC3E,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;YAC7C,WAAW,EAAE,OAAO,CAAC,aAAa,CAAY;YAC9C,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,CAAY;SAC7D,CAAA;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;QAC1C,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAwB,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YACpE,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,KAAK;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QAElC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAM;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAiB,CAAA;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACpC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAA;QAEhE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,OAAO,CAA0B,CAAA;gBAE9D,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|