ts-patch-mongoose 2.7.1 → 2.8.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/biome.json +1 -1
- package/dist/cjs/helpers.js +6 -6
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/hooks/delete-hooks.js.map +1 -1
- package/dist/cjs/hooks/save-hooks.js.map +1 -1
- package/dist/cjs/hooks/update-hooks.js.map +1 -1
- package/dist/cjs/models/History.js +5 -5
- package/dist/cjs/models/History.js.map +1 -1
- package/dist/cjs/patch.js +4 -4
- package/dist/cjs/patch.js.map +1 -1
- package/dist/cjs/plugin.js.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/models/History.d.ts +6 -6
- package/dist/cjs/types/models/History.d.ts.map +1 -1
- package/dist/cjs/types/patch.d.ts +12 -15
- package/dist/cjs/types/patch.d.ts.map +1 -1
- package/dist/cjs/types/plugin.d.ts +2 -2
- package/dist/cjs/types/plugin.d.ts.map +1 -1
- package/dist/cjs/types/types.d.ts +49 -0
- package/dist/cjs/types/types.d.ts.map +1 -0
- package/dist/cjs/{interfaces/IEvent.js → types.js} +1 -1
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/helpers.js +6 -6
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/hooks/delete-hooks.js.map +1 -1
- package/dist/esm/hooks/save-hooks.js.map +1 -1
- package/dist/esm/hooks/update-hooks.js.map +1 -1
- package/dist/esm/models/History.js +2 -3
- package/dist/esm/models/History.js.map +1 -1
- package/dist/esm/patch.js +4 -4
- package/dist/esm/patch.js.map +1 -1
- package/dist/esm/plugin.js.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/models/History.d.ts +6 -6
- package/dist/esm/types/models/History.d.ts.map +1 -1
- package/dist/esm/types/patch.d.ts +12 -15
- package/dist/esm/types/patch.d.ts.map +1 -1
- package/dist/esm/types/plugin.d.ts +2 -2
- package/dist/esm/types/plugin.d.ts.map +1 -1
- package/dist/esm/types/types.d.ts +49 -0
- package/dist/esm/types/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +1 -4
- package/src/helpers.ts +6 -6
- package/src/hooks/delete-hooks.ts +4 -5
- package/src/hooks/save-hooks.ts +3 -4
- package/src/hooks/update-hooks.ts +4 -5
- package/src/models/History.ts +3 -5
- package/src/patch.ts +17 -21
- package/src/plugin.ts +25 -9
- package/src/types.ts +52 -0
- package/tests/helpers.test.ts +5 -6
- package/tests/patch.test.ts +21 -26
- package/tests/plugin-event-created.test.ts +50 -51
- package/tests/plugin-event-deleted.test.ts +76 -77
- package/tests/plugin-event-updated.test.ts +65 -67
- package/tests/plugin-global.test.ts +24 -25
- package/tests/plugin-omit-all.test.ts +36 -37
- package/tests/plugin-patch-history-disabled.test.ts +36 -37
- package/tests/plugin-pre-delete.test.ts +17 -18
- package/tests/plugin-pre-save.test.ts +6 -7
- package/tests/plugin.test.ts +37 -39
- package/tests/schemas/{DescriptionSchema.ts → Description.ts} +4 -4
- package/tests/schemas/{ProductSchema.ts → Product.ts} +12 -5
- package/tests/schemas/{UserSchema.ts → User.ts} +7 -4
- package/.swcrc +0 -17
- package/dist/cjs/interfaces/IContext.js +0 -3
- package/dist/cjs/interfaces/IContext.js.map +0 -1
- package/dist/cjs/interfaces/IEvent.js.map +0 -1
- package/dist/cjs/interfaces/IHistory.js +0 -3
- package/dist/cjs/interfaces/IHistory.js.map +0 -1
- package/dist/cjs/interfaces/IHookContext.js +0 -3
- package/dist/cjs/interfaces/IHookContext.js.map +0 -1
- package/dist/cjs/interfaces/IPluginOptions.js +0 -3
- package/dist/cjs/interfaces/IPluginOptions.js.map +0 -1
- package/dist/cjs/types/interfaces/IContext.d.ts +0 -13
- package/dist/cjs/types/interfaces/IContext.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IEvent.d.ts +0 -9
- package/dist/cjs/types/interfaces/IEvent.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IHistory.d.ts +0 -16
- package/dist/cjs/types/interfaces/IHistory.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IHookContext.d.ts +0 -8
- package/dist/cjs/types/interfaces/IHookContext.d.ts.map +0 -1
- package/dist/cjs/types/interfaces/IPluginOptions.d.ts +0 -18
- package/dist/cjs/types/interfaces/IPluginOptions.d.ts.map +0 -1
- package/dist/esm/interfaces/IContext.js +0 -2
- package/dist/esm/interfaces/IContext.js.map +0 -1
- package/dist/esm/interfaces/IEvent.js +0 -2
- package/dist/esm/interfaces/IEvent.js.map +0 -1
- package/dist/esm/interfaces/IHistory.js +0 -2
- package/dist/esm/interfaces/IHistory.js.map +0 -1
- package/dist/esm/interfaces/IHookContext.js +0 -2
- package/dist/esm/interfaces/IHookContext.js.map +0 -1
- package/dist/esm/interfaces/IPluginOptions.js +0 -2
- package/dist/esm/interfaces/IPluginOptions.js.map +0 -1
- package/dist/esm/types/interfaces/IContext.d.ts +0 -13
- package/dist/esm/types/interfaces/IContext.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IEvent.d.ts +0 -9
- package/dist/esm/types/interfaces/IEvent.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IHistory.d.ts +0 -16
- package/dist/esm/types/interfaces/IHistory.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IHookContext.d.ts +0 -8
- package/dist/esm/types/interfaces/IHookContext.d.ts.map +0 -1
- package/dist/esm/types/interfaces/IPluginOptions.d.ts +0 -18
- package/dist/esm/types/interfaces/IPluginOptions.d.ts.map +0 -1
- package/src/interfaces/IContext.ts +0 -14
- package/src/interfaces/IEvent.ts +0 -10
- package/src/interfaces/IHistory.ts +0 -17
- package/src/interfaces/IHookContext.ts +0 -6
- package/src/interfaces/IPluginOptions.ts +0 -20
- package/tests/interfaces/IDescription.ts +0 -5
- package/tests/interfaces/IProduct.ts +0 -14
- package/tests/interfaces/IUser.ts +0 -8
package/biome.json
CHANGED
package/dist/cjs/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setPatchHistoryTTL = exports.toObjectOptions = exports.isHookIgnored = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const ms_1 = tslib_1.__importDefault(require("ms"));
|
|
6
|
-
const History_1 =
|
|
6
|
+
const History_1 = require("./models/History");
|
|
7
7
|
const isHookIgnored = (options) => {
|
|
8
8
|
return options.ignoreHook === true || (options.ignoreEvent === true && options.ignorePatchHistory === true);
|
|
9
9
|
};
|
|
@@ -15,15 +15,15 @@ exports.toObjectOptions = {
|
|
|
15
15
|
const setPatchHistoryTTL = async (ttl) => {
|
|
16
16
|
const name = 'createdAt_1_TTL';
|
|
17
17
|
try {
|
|
18
|
-
const indexes = await History_1.
|
|
18
|
+
const indexes = await History_1.HistoryModel.collection.indexes();
|
|
19
19
|
const existingIndex = indexes?.find((index) => index.name === name);
|
|
20
20
|
if (!ttl && existingIndex) {
|
|
21
|
-
await History_1.
|
|
21
|
+
await History_1.HistoryModel.collection.dropIndex(name);
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
const milliseconds = typeof ttl === 'string' ? (0, ms_1.default)(ttl) : ttl;
|
|
25
25
|
if (milliseconds < 1000 && existingIndex) {
|
|
26
|
-
await History_1.
|
|
26
|
+
await History_1.HistoryModel.collection.dropIndex(name);
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
29
|
const expireAfterSeconds = milliseconds / 1000;
|
|
@@ -31,9 +31,9 @@ const setPatchHistoryTTL = async (ttl) => {
|
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
if (existingIndex) {
|
|
34
|
-
await History_1.
|
|
34
|
+
await History_1.HistoryModel.collection.dropIndex(name);
|
|
35
35
|
}
|
|
36
|
-
await History_1.
|
|
36
|
+
await History_1.HistoryModel.collection.createIndex({ createdAt: 1 }, { expireAfterSeconds, name });
|
|
37
37
|
}
|
|
38
38
|
catch (err) {
|
|
39
39
|
console.error("Couldn't create or update index for history collection", err);
|
package/dist/cjs/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;;AAAA,oDAAmB;AAEnB,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;;AAAA,oDAAmB;AAEnB,8CAA+C;AAIxC,MAAM,aAAa,GAAG,CAAI,OAAwB,EAAW,EAAE;IACpE,OAAO,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAA;AAC7G,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEY,QAAA,eAAe,GAAoB;IAC9C,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAEM,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAA4B,EAAiB,EAAE;IACtF,MAAM,IAAI,GAAG,iBAAiB,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QACvD,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAGnE,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,sBAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,YAAE,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAG5D,IAAI,YAAY,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,sBAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAAA;QAE9C,IAAI,aAAa,IAAI,aAAa,CAAC,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;YAE7E,OAAM;QACR,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAElB,MAAM,sBAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;QAGD,MAAM,sBAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAA;IAC9E,CAAC;AACH,CAAC,CAAA;AArCY,QAAA,kBAAkB,sBAqC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-hooks.js","sourceRoot":"","sources":["../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC,wCAA0C;AAC1C,oCAAsC;
|
|
1
|
+
{"version":3,"file":"delete-hooks.js","sourceRoot":"","sources":["../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC,wCAA0C;AAC1C,oCAAsC;AAKtC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAEtI,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAsB,EAAQ,EAAE;IAC1F,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC5F,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;QAE/B,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,WAAW,EAAE,OAAO,CAAC,WAAsB;YAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAA6B;SAC1D,CAAA;QAED,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACtD,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAA6B,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACxD,IAAI,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAA0B,CAAA;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,IAAA,uBAAa,EAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAvCY,QAAA,qBAAqB,yBAuCjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,oCAAmD;
|
|
1
|
+
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,oCAAmD;AAK5C,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAsB,EAAQ,EAAE;IACxF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;YAAE,OAAM;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAoB;YAC/B,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;AAvBY,QAAA,mBAAmB,uBAuB/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":";;;AAAA,mCAAiF;AACjF,+CAAqC;AAErC,wCAA2D;AAC3D,oCAAmD;
|
|
1
|
+
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":";;;AAAA,mCAAiF;AACjF,+CAAqC;AAErC,wCAA2D;AAC3D,oCAAmD;AAKnD,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;AAEhI,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;IAEhE,IAAA,gBAAO,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QAC5B,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,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACtD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAdY,QAAA,YAAY,gBAcxB;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,IAAA,gBAAO,EAAC,WAAW,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,WAAW,CAAC,IAAI,IAAA,qBAAY,EAAC,WAAW,CAAC,EAAE,CAAC;QAChF,MAAM,GAAG,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAA;QAC/B,MAAM,kBAAkB,GAAG,IAAA,aAAI,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAA,gBAAO,EAAC,kBAAkB,CAAC,EAAE,CAAC;YACjC,IAAA,gBAAO,EAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAY,EAAE,CAAC,CAAA;gBAChD,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;AAhBY,QAAA,sBAAsB,0BAgBlC;AAEM,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAsB,EAAQ,EAAE;IAC1F,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,WAAsB;YAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAA6B;SAC1D,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,IAAI,OAAO,GAA+B,IAAI,CAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAwB,CAAA;QAC3F,CAAC;QAED,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAwB,CAAA;QAC7F,CAAC;QAED,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC7B,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAwB,CAAA;QAC3F,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,OAAO,CAA0B,CAAA;YAE9D,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AA5DY,QAAA,qBAAqB,yBA4DjC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HistoryModel = exports.HistorySchema = void 0;
|
|
3
4
|
const mongoose_1 = require("mongoose");
|
|
4
|
-
|
|
5
|
+
exports.HistorySchema = new mongoose_1.Schema({
|
|
5
6
|
op: {
|
|
6
7
|
type: String,
|
|
7
8
|
required: true,
|
|
@@ -39,8 +40,7 @@ const HistorySchema = new mongoose_1.Schema({
|
|
|
39
40
|
default: 0,
|
|
40
41
|
},
|
|
41
42
|
}, { timestamps: true });
|
|
42
|
-
HistorySchema.index({ collectionId: 1, version: -1 });
|
|
43
|
-
HistorySchema.index({ op: 1, modelName: 1, collectionName: 1, collectionId: 1, reason: 1, version: 1 });
|
|
44
|
-
|
|
45
|
-
exports.default = History;
|
|
43
|
+
exports.HistorySchema.index({ collectionId: 1, version: -1 });
|
|
44
|
+
exports.HistorySchema.index({ op: 1, modelName: 1, collectionName: 1, collectionId: 1, reason: 1, version: 1 });
|
|
45
|
+
exports.HistoryModel = (0, mongoose_1.model)('History', exports.HistorySchema, 'history');
|
|
46
46
|
//# sourceMappingURL=History.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/models/History.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/models/History.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAI3B,QAAA,aAAa,GAAG,IAAI,iBAAM,CACrC;IACE,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;KACb;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,CAAC;KACX;CACF,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAA;AAED,qBAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;AACrD,qBAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AAE1F,QAAA,YAAY,GAAG,IAAA,gBAAK,EAAU,SAAS,EAAE,qBAAa,EAAE,SAAS,CAAC,CAAA"}
|
package/dist/cjs/patch.js
CHANGED
|
@@ -17,7 +17,7 @@ const fast_json_patch_1 = tslib_1.__importDefault(require("fast-json-patch"));
|
|
|
17
17
|
const lodash_1 = require("lodash");
|
|
18
18
|
const omit_deep_1 = tslib_1.__importDefault(require("omit-deep"));
|
|
19
19
|
const em_1 = tslib_1.__importDefault(require("./em"));
|
|
20
|
-
const History_1 =
|
|
20
|
+
const History_1 = require("./models/History");
|
|
21
21
|
function isPatchHistoryEnabled(opts, context) {
|
|
22
22
|
return !opts.patchHistoryDisabled && !context.ignorePatchHistory;
|
|
23
23
|
}
|
|
@@ -97,7 +97,7 @@ async function bulkPatch(opts, context, eventKey, docsKey) {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
if (history && !(0, lodash_1.isEmpty)(bulk)) {
|
|
100
|
-
await History_1.
|
|
100
|
+
await History_1.HistoryModel.bulkWrite(bulk, { ordered: false }).catch((error) => {
|
|
101
101
|
console.error(error.message);
|
|
102
102
|
});
|
|
103
103
|
}
|
|
@@ -118,14 +118,14 @@ async function updatePatch(opts, context, current, original) {
|
|
|
118
118
|
emitEvent(context, opts.eventUpdated, { oldDoc: original, doc: current, patch });
|
|
119
119
|
if (history) {
|
|
120
120
|
let version = 0;
|
|
121
|
-
const lastHistory = await History_1.
|
|
121
|
+
const lastHistory = await History_1.HistoryModel.findOne({ collectionId: original._id })
|
|
122
122
|
.sort('-version')
|
|
123
123
|
.exec();
|
|
124
124
|
if (lastHistory && lastHistory.version >= 0) {
|
|
125
125
|
version = lastHistory.version + 1;
|
|
126
126
|
}
|
|
127
127
|
const [user, reason, metadata] = await getData(opts);
|
|
128
|
-
await History_1.
|
|
128
|
+
await History_1.HistoryModel.create({
|
|
129
129
|
op: context.op,
|
|
130
130
|
modelName: context.modelName,
|
|
131
131
|
collectionName: context.collectionName,
|
package/dist/cjs/patch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;;AAAA,mCAAgC;AAChC,sDAAqB;AAErB,uCAA2C;AAC3C,mCAAkD;AAClD,uCAAoE;AAEpE,uDAA4D;AAC5D,mDAAwD;AACxD,uDAA4D;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;;AAAA,mCAAgC;AAChC,sDAAqB;AAErB,uCAA2C;AAC3C,mCAAkD;AAClD,uCAAoE;AAEpE,uDAA4D;AAC5D,mDAAwD;AACxD,uDAA4D;AAK5D,MAAM,MAAM,GAAG,6BAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;AAK9C,QAAA,iBAAiB,GAAG,YAAE,CAAA;AAEnC,qCAA8C;AAArC,6GAAA,kBAAkB,OAAA;AAYpB,MAAM,kBAAkB,GAAG,SAAS,MAAM,CAAI,MAAiB,EAAE,IAAsB;IAE5F,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;IAOnC,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;QAMxB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK;YAExD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAe,CAAwB,CAAA;YAEtE,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC,CAAA;QAQF,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,GAAoB;gBAC/B,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;AA3DY,QAAA,kBAAkB,sBA2D9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Schema } from 'mongoose';
|
|
2
|
-
import type
|
|
3
|
-
export declare const deleteHooksInitialize: <T>(schema: Schema<T>, opts:
|
|
2
|
+
import type { PluginOptions } from '../types';
|
|
3
|
+
export declare const deleteHooksInitialize: <T>(schema: Schema<T>, opts: PluginOptions<T>) => void;
|
|
4
4
|
//# 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,EAAoD,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
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,EAAe,aAAa,EAAE,MAAM,UAAU,CAAA;AAI1D,eAAO,MAAM,qBAAqB,GAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAG,IAuCpF,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Schema } from 'mongoose';
|
|
2
|
-
import type
|
|
3
|
-
export declare const saveHooksInitialize: <T>(schema: Schema<T>, opts:
|
|
2
|
+
import type { PluginOptions } from '../types';
|
|
3
|
+
export declare const saveHooksInitialize: <T>(schema: Schema<T>, opts: PluginOptions<T>) => void;
|
|
4
4
|
//# 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,EAA2B,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
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,EAAgB,aAAa,EAAE,MAAM,UAAU,CAAA;AAE3D,eAAO,MAAM,mBAAmB,GAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAG,IAuBlF,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { HydratedDocument, Schema, UpdateQuery, UpdateWithAggregationPipeline } from 'mongoose';
|
|
2
|
-
import type
|
|
2
|
+
import type { PluginOptions } from '../types';
|
|
3
3
|
export declare const assignUpdate: <T>(document: HydratedDocument<T>, update: UpdateQuery<T>, commands: Record<string, unknown>[]) => HydratedDocument<T>;
|
|
4
4
|
export declare const splitUpdateAndCommands: <T>(updateQuery: UpdateWithAggregationPipeline | UpdateQuery<T> | null) => {
|
|
5
5
|
update: UpdateQuery<T>;
|
|
6
6
|
commands: Record<string, unknown>[];
|
|
7
7
|
};
|
|
8
|
-
export declare const updateHooksInitialize: <T>(schema: Schema<T>, opts:
|
|
8
|
+
export declare const updateHooksInitialize: <T>(schema: Schema<T>, opts: PluginOptions<T>) => void;
|
|
9
9
|
//# 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,EAAkC,MAAM,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;
|
|
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,EAAe,aAAa,EAAE,MAAM,UAAU,CAAA;AAI1D,eAAO,MAAM,YAAY,GAAI,CAAC,YAAY,gBAAgB,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAG,gBAAgB,CAAC,CAAC,CAc9I,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,CAAC,eAAe,6BAA6B,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,KAAG;IAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAgB3K,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAG,IA4DpF,CAAA"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Schema } from 'mongoose';
|
|
2
|
-
import type
|
|
3
|
-
declare const
|
|
2
|
+
import type { History } from '../types';
|
|
3
|
+
export declare const HistorySchema: Schema<History, import("mongoose").Model<History, any, any, any, import("mongoose").Document<unknown, any, History> & History & {
|
|
4
4
|
_id: import("mongoose").Types.ObjectId;
|
|
5
5
|
} & {
|
|
6
6
|
__v: number;
|
|
7
|
-
},
|
|
7
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, History, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<History>> & import("mongoose").FlatRecord<History> & {
|
|
8
8
|
_id: import("mongoose").Types.ObjectId;
|
|
9
9
|
} & {
|
|
10
10
|
__v: number;
|
|
11
|
-
}
|
|
11
|
+
}>;
|
|
12
|
+
export declare const HistoryModel: import("mongoose").Model<History, {}, {}, {}, import("mongoose").Document<unknown, {}, History> & History & {
|
|
12
13
|
_id: import("mongoose").Types.ObjectId;
|
|
13
14
|
} & {
|
|
14
15
|
__v: number;
|
|
15
|
-
}
|
|
16
|
-
export default History;
|
|
16
|
+
}, any>;
|
|
17
17
|
//# sourceMappingURL=History.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../../../src/models/History.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,UAAU,CAAA;AAExC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../../../src/models/History.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,UAAU,CAAA;AAExC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,eAAO,MAAM,aAAa;;;;;;;;EAwCzB,CAAA;AAKD,eAAO,MAAM,YAAY;;;;OAAsD,CAAA"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import type { HydratedDocument } from 'mongoose';
|
|
2
|
-
import type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function getUser<T>(opts: IPluginOptions<T>): Promise<User | undefined>;
|
|
9
|
-
export declare function getReason<T>(opts: IPluginOptions<T>): Promise<string | undefined>;
|
|
10
|
-
export declare function getMetadata<T>(opts: IPluginOptions<T>): Promise<Metadata | undefined>;
|
|
2
|
+
import type { Metadata, PatchContext, PatchEvent, PluginOptions, User } from './types';
|
|
3
|
+
export declare function getJsonOmit<T>(opts: PluginOptions<T>, doc: HydratedDocument<T>): Partial<T>;
|
|
4
|
+
export declare function getObjectOmit<T>(opts: PluginOptions<T>, doc: HydratedDocument<T>): Partial<T>;
|
|
5
|
+
export declare function getUser<T>(opts: PluginOptions<T>): Promise<User | undefined>;
|
|
6
|
+
export declare function getReason<T>(opts: PluginOptions<T>): Promise<string | undefined>;
|
|
7
|
+
export declare function getMetadata<T>(opts: PluginOptions<T>): Promise<Metadata | undefined>;
|
|
11
8
|
export declare function getValue<T>(item: PromiseSettledResult<T>): T | undefined;
|
|
12
|
-
export declare function getData<T>(opts:
|
|
13
|
-
export declare function emitEvent<T>(context:
|
|
14
|
-
export declare function bulkPatch<T>(opts:
|
|
15
|
-
export declare function createPatch<T>(opts:
|
|
16
|
-
export declare function updatePatch<T>(opts:
|
|
17
|
-
export declare function deletePatch<T>(opts:
|
|
9
|
+
export declare function getData<T>(opts: PluginOptions<T>): Promise<[User | undefined, string | undefined, Metadata | undefined]>;
|
|
10
|
+
export declare function emitEvent<T>(context: PatchContext<T>, event: string | undefined, data: PatchEvent<T>): void;
|
|
11
|
+
export declare function bulkPatch<T>(opts: PluginOptions<T>, context: PatchContext<T>, eventKey: 'eventCreated' | 'eventDeleted', docsKey: 'createdDocs' | 'deletedDocs'): Promise<void>;
|
|
12
|
+
export declare function createPatch<T>(opts: PluginOptions<T>, context: PatchContext<T>): Promise<void>;
|
|
13
|
+
export declare function updatePatch<T>(opts: PluginOptions<T>, context: PatchContext<T>, current: HydratedDocument<T>, original: HydratedDocument<T>): Promise<void>;
|
|
14
|
+
export declare function deletePatch<T>(opts: PluginOptions<T>, context: PatchContext<T>): Promise<void>;
|
|
18
15
|
//# sourceMappingURL=patch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/patch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAStF,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ3F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAM7F;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAKlF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKtF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAK1F;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,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAI9H;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAI3G;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAG,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CrL;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpG;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCjK;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Schema } from 'mongoose';
|
|
2
|
-
import type
|
|
2
|
+
import type { PluginOptions } from './types';
|
|
3
3
|
export declare const patchEventEmitter: {
|
|
4
4
|
[EventEmitter.captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: any[]): void;
|
|
5
5
|
addListener<K>(eventName: string | symbol, listener: (...args: any[]) => void): any;
|
|
@@ -19,5 +19,5 @@ export declare const patchEventEmitter: {
|
|
|
19
19
|
eventNames(): (string | symbol)[];
|
|
20
20
|
};
|
|
21
21
|
export { setPatchHistoryTTL } from './helpers';
|
|
22
|
-
export declare const patchHistoryPlugin: <T>(schema: Schema<T>, opts:
|
|
22
|
+
export declare const patchHistoryPlugin: <T>(schema: Schema<T>, opts: PluginOptions<T>) => void;
|
|
23
23
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAA2B,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
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,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAO1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAAK,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAY9C,eAAO,MAAM,kBAAkB,GAAmB,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAG,IA2DhG,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Operation } from 'fast-json-patch';
|
|
2
|
+
import type { HydratedDocument, Query, Types } from 'mongoose';
|
|
3
|
+
export interface History {
|
|
4
|
+
op: string;
|
|
5
|
+
modelName: string;
|
|
6
|
+
collectionName: string;
|
|
7
|
+
collectionId: Types.ObjectId;
|
|
8
|
+
version: number;
|
|
9
|
+
doc?: object;
|
|
10
|
+
user?: object;
|
|
11
|
+
reason?: string;
|
|
12
|
+
metadata?: object;
|
|
13
|
+
patch?: Operation[];
|
|
14
|
+
}
|
|
15
|
+
export interface PatchEvent<T> {
|
|
16
|
+
oldDoc?: HydratedDocument<T>;
|
|
17
|
+
doc?: HydratedDocument<T>;
|
|
18
|
+
patch?: Operation[];
|
|
19
|
+
}
|
|
20
|
+
export interface PatchContext<T> {
|
|
21
|
+
op: string;
|
|
22
|
+
modelName: string;
|
|
23
|
+
collectionName: string;
|
|
24
|
+
isNew?: boolean;
|
|
25
|
+
createdDocs?: HydratedDocument<T>[];
|
|
26
|
+
deletedDocs?: HydratedDocument<T>[];
|
|
27
|
+
ignoreEvent?: boolean;
|
|
28
|
+
ignorePatchHistory?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export type HookContext<T> = Query<T, T> & {
|
|
31
|
+
op: string;
|
|
32
|
+
_context: PatchContext<T>;
|
|
33
|
+
};
|
|
34
|
+
export type User = Record<string, unknown>;
|
|
35
|
+
export type Metadata = Record<string, unknown>;
|
|
36
|
+
export interface PluginOptions<T> {
|
|
37
|
+
modelName?: string;
|
|
38
|
+
collectionName?: string;
|
|
39
|
+
eventUpdated?: string;
|
|
40
|
+
eventCreated?: string;
|
|
41
|
+
eventDeleted?: string;
|
|
42
|
+
getUser?: () => Promise<User> | User;
|
|
43
|
+
getReason?: () => Promise<string> | string;
|
|
44
|
+
getMetadata?: () => Promise<Metadata> | Metadata;
|
|
45
|
+
omit?: string[];
|
|
46
|
+
patchHistoryDisabled?: boolean;
|
|
47
|
+
preDelete?: (docs: HydratedDocument<T>[]) => Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAE9D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC5B,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IACnC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAEpF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE1C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9C,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC1C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;IAChD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ms from 'ms';
|
|
2
|
-
import
|
|
2
|
+
import { HistoryModel } from './models/History.js';
|
|
3
3
|
export const isHookIgnored = (options) => {
|
|
4
4
|
return options.ignoreHook === true || (options.ignoreEvent === true && options.ignorePatchHistory === true);
|
|
5
5
|
};
|
|
@@ -10,15 +10,15 @@ export const toObjectOptions = {
|
|
|
10
10
|
export const setPatchHistoryTTL = async (ttl) => {
|
|
11
11
|
const name = 'createdAt_1_TTL';
|
|
12
12
|
try {
|
|
13
|
-
const indexes = await
|
|
13
|
+
const indexes = await HistoryModel.collection.indexes();
|
|
14
14
|
const existingIndex = indexes?.find((index) => index.name === name);
|
|
15
15
|
if (!ttl && existingIndex) {
|
|
16
|
-
await
|
|
16
|
+
await HistoryModel.collection.dropIndex(name);
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
const milliseconds = typeof ttl === 'string' ? ms(ttl) : ttl;
|
|
20
20
|
if (milliseconds < 1000 && existingIndex) {
|
|
21
|
-
await
|
|
21
|
+
await HistoryModel.collection.dropIndex(name);
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
const expireAfterSeconds = milliseconds / 1000;
|
|
@@ -26,9 +26,9 @@ export const setPatchHistoryTTL = async (ttl) => {
|
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
if (existingIndex) {
|
|
29
|
-
await
|
|
29
|
+
await HistoryModel.collection.dropIndex(name);
|
|
30
30
|
}
|
|
31
|
-
await
|
|
31
|
+
await HistoryModel.collection.createIndex({ createdAt: 1 }, { expireAfterSeconds, name });
|
|
32
32
|
}
|
|
33
33
|
catch (err) {
|
|
34
34
|
console.error("Couldn't create or update index for history collection", err);
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,OAAwB,EAAW,EAAE;IACpE,OAAO,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAA;AAC7G,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAA4B,EAAiB,EAAE;IACtF,MAAM,IAAI,GAAG,iBAAiB,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;QACvD,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAGnE,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAG5D,IAAI,YAAY,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAAA;QAE9C,IAAI,aAAa,IAAI,aAAa,CAAC,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;YAE7E,OAAM;QACR,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAElB,MAAM,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;QAGD,MAAM,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAA;IAC9E,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-hooks.js","sourceRoot":"","sources":["../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"delete-hooks.js","sourceRoot":"","sources":["../../../src/hooks/delete-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAKtC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;AAE7I,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAI,MAAiB,EAAE,IAAsB,EAAQ,EAAE;IAC1F,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC5F,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;QAE/B,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,WAAW,EAAE,OAAO,CAAC,WAAsB;YAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAA6B;SAC1D,CAAA;QAED,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAA6B,CAAA;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;YACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAA0B,CAAA;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QAElC,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"save-hooks.js","sourceRoot":"","sources":["../../../src/hooks/save-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAKnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,MAAiB,EAAE,IAAsB,EAAQ,EAAE;IACxF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;YAAE,OAAM;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAoB;YAC/B,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"update-hooks.js","sourceRoot":"","sources":["../../../src/hooks/update-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema, model } from 'mongoose';
|
|
2
|
-
const HistorySchema = new Schema({
|
|
2
|
+
export const HistorySchema = new Schema({
|
|
3
3
|
op: {
|
|
4
4
|
type: String,
|
|
5
5
|
required: true,
|
|
@@ -39,6 +39,5 @@ const HistorySchema = new Schema({
|
|
|
39
39
|
}, { timestamps: true });
|
|
40
40
|
HistorySchema.index({ collectionId: 1, version: -1 });
|
|
41
41
|
HistorySchema.index({ op: 1, modelName: 1, collectionName: 1, collectionId: 1, reason: 1, version: 1 });
|
|
42
|
-
const
|
|
43
|
-
export default History;
|
|
42
|
+
export const HistoryModel = model('History', HistorySchema, 'history');
|
|
44
43
|
//# sourceMappingURL=History.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/models/History.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIxC,MAAM,aAAa,GAAG,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"History.js","sourceRoot":"","sources":["../../../src/models/History.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIxC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,MAAM,CACrC;IACE,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI;KACf;IACD,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;KACb;IACD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;KACb;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;KACb;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,CAAC;KACX;CACF,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAA;AAED,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;AACrD,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AAEvG,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAU,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA"}
|
package/dist/esm/patch.js
CHANGED
|
@@ -2,7 +2,7 @@ import jsonpatch from 'fast-json-patch';
|
|
|
2
2
|
import { chunk, isEmpty, isFunction } from 'lodash';
|
|
3
3
|
import omit from 'omit-deep';
|
|
4
4
|
import em from './em.js';
|
|
5
|
-
import
|
|
5
|
+
import { HistoryModel } from './models/History.js';
|
|
6
6
|
function isPatchHistoryEnabled(opts, context) {
|
|
7
7
|
return !opts.patchHistoryDisabled && !context.ignorePatchHistory;
|
|
8
8
|
}
|
|
@@ -82,7 +82,7 @@ export async function bulkPatch(opts, context, eventKey, docsKey) {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
if (history && !isEmpty(bulk)) {
|
|
85
|
-
await
|
|
85
|
+
await HistoryModel.bulkWrite(bulk, { ordered: false }).catch((error) => {
|
|
86
86
|
console.error(error.message);
|
|
87
87
|
});
|
|
88
88
|
}
|
|
@@ -103,14 +103,14 @@ export async function updatePatch(opts, context, current, original) {
|
|
|
103
103
|
emitEvent(context, opts.eventUpdated, { oldDoc: original, doc: current, patch });
|
|
104
104
|
if (history) {
|
|
105
105
|
let version = 0;
|
|
106
|
-
const lastHistory = await
|
|
106
|
+
const lastHistory = await HistoryModel.findOne({ collectionId: original._id })
|
|
107
107
|
.sort('-version')
|
|
108
108
|
.exec();
|
|
109
109
|
if (lastHistory && lastHistory.version >= 0) {
|
|
110
110
|
version = lastHistory.version + 1;
|
|
111
111
|
}
|
|
112
112
|
const [user, reason, metadata] = await getData(opts);
|
|
113
|
-
await
|
|
113
|
+
await HistoryModel.create({
|
|
114
114
|
op: context.op,
|
|
115
115
|
modelName: context.modelName,
|
|
116
116
|
collectionName: context.collectionName,
|