ts-patch-mongoose 1.2.0 → 1.2.1

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.
@@ -78,12 +78,15 @@ const patchHistoryPlugin = function plugin(schema, opts) {
78
78
  collectionName: opts.collectionName ?? this.model.collection.collectionName,
79
79
  isNew: options.upsert && count === 0
80
80
  };
81
- const keys = lodash_1.default.keys(update).filter((key) => key.startsWith('$'));
82
- if (update && !lodash_1.default.isEmpty(keys)) {
83
- lodash_1.default.forEach(keys, (key) => {
84
- commands.push({ [key]: update[key] });
85
- delete update[key];
86
- });
81
+ if (update) {
82
+ delete update.$setOnInsert;
83
+ const keys = lodash_1.default.keys(update).filter((key) => key.startsWith('$'));
84
+ if (!lodash_1.default.isEmpty(keys)) {
85
+ lodash_1.default.forEach(keys, (key) => {
86
+ commands.push({ [key]: update[key] });
87
+ delete update[key];
88
+ });
89
+ }
87
90
  }
88
91
  const cursor = this.model.find(filter).cursor();
89
92
  await cursor.eachAsync(async (doc) => {
@@ -104,7 +107,7 @@ const patchHistoryPlugin = function plugin(schema, opts) {
104
107
  schema.post(updateMethods, async function (_, next) {
105
108
  const options = this.getOptions();
106
109
  if (options.ignoreHook)
107
- return;
110
+ return next();
108
111
  const update = this.getUpdate();
109
112
  if (!update || !this._context.isNew)
110
113
  return;
@@ -160,7 +163,7 @@ const patchHistoryPlugin = function plugin(schema, opts) {
160
163
  schema.post(deleteMethods, options, async function (_, next) {
161
164
  const options = this.getOptions();
162
165
  if (options.ignoreHook)
163
- return;
166
+ return next();
164
167
  await (0, patch_1.deletePatch)(opts, this._context);
165
168
  next();
166
169
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;;AAAA,4DAAsB;AACtB,+CAAqC;AAQrC,mCAA+D;AAC/D,sDAAqB;AAErB,MAAM,OAAO,GAAG;IACd,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAM,eAAe,GAAoB;IACvC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACpB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,WAAW;IACX,YAAY;CACb,CAAA;AAKY,QAAA,iBAAiB,GAAG,YAAE,CAAA;AAQ5B,MAAM,kBAAkB,GAAG,SAAS,MAAM,CAAK,MAAiB,EAAE,IAAuB;IAC9F,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,WAAW,IAAI;QACrC,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;YACd,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACjC;aAAM;YACL,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;aACpD;SACF;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI;QAClD,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;QAEhC,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,KAAK,WAAkC,IAAI;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAsC,CAAA;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACnD,MAAM,QAAQ,GAAiC,EAAE,CAAA;QAEjD,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,MAAM,IAAI,KAAK,KAAK,CAAC;SACrC,CAAA;QAED,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,MAAM,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,gBAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAErC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;SACH;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;QACpE,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnC,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YAErE,OAAO,GAAG,IAAA,qBAAM,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACjC,gBAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC9B,IAAI;oBACF,OAAO,GAAG,IAAA,qBAAM,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;iBACnC;gBAAC,OAAO,KAAK,EAAE;iBAEf;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,KAAK,WAAkC,CAAC,EAAE,IAAI;QACpG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAM;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE/B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAM;QAE3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1E,IAAI,KAAK,EAAE;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YACtE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,CAAA;YAErC,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;SACvC;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAsC,CAAC,EAAE,IAAI;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;SACvE,CAAA;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,YAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;SACjD;QAED,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhC,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,OAAO,EAAE,KAAK,WAAkC,IAAI;QACzG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,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;SAC5E,CAAA;QAED,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACtE,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAA;aACjC;SACF;aAAM;YACL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACxE,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAA;aAClC;SACF;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC3G,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;SACxD;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,OAAO,EAAE,KAAK,WAAkC,CAAC,EAAE,IAAI;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAM;QAE9B,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEtC,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AA/JY,QAAA,kBAAkB,sBA+J9B"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAAmB,MAAM,UAAU,CAAA;AAEzG,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAwC7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,IA+JlG,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAAmB,MAAM,UAAU,CAAA;AAEzG,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAwC7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,IAkKlG,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAQrC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,MAAM,MAAM,CAAA;AAErB,MAAM,OAAO,GAAG;IACd,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAM,eAAe,GAAoB;IACvC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACpB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,WAAW;IACX,YAAY;CACb,CAAA;AAKD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAQnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,MAAM,CAAK,MAAiB,EAAE,IAAuB;IAC9F,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,WAAW,IAAI;QACrC,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;YACd,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SACjC;aAAM;YACL,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,QAAQ,EAAE;gBACZ,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;aACpD;SACF;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,WAAW,IAAI,EAAE,IAAI;QAClD,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,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhC,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,KAAK,WAAkC,IAAI;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAsC,CAAA;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACnD,MAAM,QAAQ,GAAiC,EAAE,CAAA;QAEjD,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,MAAM,IAAI,KAAK,KAAK,CAAC;SACrC,CAAA;QAED,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,YAAY,CAAA;YAC1B,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;YAChE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBAErC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;gBACpB,CAAC,CAAC,CAAA;aACH;SACF;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,MAAM,CAAC,CAAC,MAAM,EAAE,CAAA;QACpE,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnC,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YAErE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACjC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC9B,IAAI;oBACF,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;iBACnC;gBAAC,OAAO,KAAK,EAAE;iBAEf;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QAEF,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,KAAK,WAAkC,CAAC,EAAE,IAAI;QACpG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE/B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAM;QAE3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1E,IAAI,KAAK,EAAE;YACT,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAwB,CAAA;YACtE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,CAAA;YAErC,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;SACvC;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAsC,CAAC,EAAE,IAAI;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAuB,CAAA;QAE1C,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc;SACvE,CAAA;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;SACjD;QAED,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhC,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,aAA0C,EAAE,OAAO,EAAE,KAAK,WAAkC,IAAI;QACzG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,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;SAC5E,CAAA;QAED,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACtE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAA;aACjC;SACF;aAAM;YACL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACxE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAA;aAClC;SACF;QAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC3G,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;SACxD;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,CAAC,aAA0C,EAAE,OAAO,EAAE,KAAK,WAAkC,CAAC,EAAE,IAAI;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,IAAI,EAAE,CAAA;QAErC,MAAM,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEtC,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -74,12 +74,15 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
74
74
  collectionName: opts.collectionName ?? this.model.collection.collectionName,
75
75
  isNew: options.upsert && count === 0
76
76
  };
77
- const keys = _.keys(update).filter((key) => key.startsWith('$'));
78
- if (update && !_.isEmpty(keys)) {
79
- _.forEach(keys, (key) => {
80
- commands.push({ [key]: update[key] });
81
- delete update[key];
82
- });
77
+ if (update) {
78
+ delete update.$setOnInsert;
79
+ const keys = _.keys(update).filter((key) => key.startsWith('$'));
80
+ if (!_.isEmpty(keys)) {
81
+ _.forEach(keys, (key) => {
82
+ commands.push({ [key]: update[key] });
83
+ delete update[key];
84
+ });
85
+ }
83
86
  }
84
87
  const cursor = this.model.find(filter).cursor();
85
88
  await cursor.eachAsync(async (doc) => {
@@ -100,7 +103,7 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
100
103
  schema.post(updateMethods, async function (_, next) {
101
104
  const options = this.getOptions();
102
105
  if (options.ignoreHook)
103
- return;
106
+ return next();
104
107
  const update = this.getUpdate();
105
108
  if (!update || !this._context.isNew)
106
109
  return;
@@ -156,7 +159,7 @@ export const patchHistoryPlugin = function plugin(schema, opts) {
156
159
  schema.post(deleteMethods, options, async function (_, next) {
157
160
  const options = this.getOptions();
158
161
  if (options.ignoreHook)
159
- return;
162
+ return next();
160
163
  await deletePatch(opts, this._context);
161
164
  next();
162
165
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAAmB,MAAM,UAAU,CAAA;AAEzG,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAwC7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,IA+JlG,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA,OAAO,KAAK,EAAoB,KAAK,EAA2B,MAAM,EAAmB,MAAM,UAAU,CAAA;AAEzG,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAwC7D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAAK,CAAA;AAQnC,eAAO,MAAM,kBAAkB,oOAAoE,IAkKlG,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-patch-mongoose",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Patch history & events for mongoose models",
5
5
  "author": "Alex Eagle",
6
6
  "license": "MIT",
package/src/plugin.ts CHANGED
@@ -104,13 +104,16 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
104
104
  isNew: options.upsert && count === 0
105
105
  }
106
106
 
107
- const keys = _.keys(update).filter((key) => key.startsWith('$'))
108
- if (update && !_.isEmpty(keys)) {
109
- _.forEach(keys, (key) => {
110
- commands.push({ [key]: update[key] })
111
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
112
- delete update[key]
113
- })
107
+ if (update) {
108
+ delete update.$setOnInsert
109
+ const keys = _.keys(update).filter((key) => key.startsWith('$'))
110
+ if (!_.isEmpty(keys)) {
111
+ _.forEach(keys, (key) => {
112
+ commands.push({ [key]: update[key] })
113
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
114
+ delete update[key]
115
+ })
116
+ }
114
117
  }
115
118
 
116
119
  const cursor = this.model.find<HydratedDocument<T>>(filter).cursor()
@@ -135,7 +138,7 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
135
138
 
136
139
  schema.post(updateMethods as MongooseQueryMiddleware[], async function (this: IHookContext<T>, _, next) {
137
140
  const options = this.getOptions()
138
- if (options.ignoreHook) return
141
+ if (options.ignoreHook) return next()
139
142
 
140
143
  const update = this.getUpdate()
141
144
 
@@ -204,7 +207,7 @@ export const patchHistoryPlugin = function plugin<T> (schema: Schema<T>, opts: I
204
207
 
205
208
  schema.post(deleteMethods as MongooseQueryMiddleware[], options, async function (this: IHookContext<T>, _, next) {
206
209
  const options = this.getOptions()
207
- if (options.ignoreHook) return
210
+ if (options.ignoreHook) return next()
208
211
 
209
212
  await deletePatch(opts, this._context)
210
213
 
@@ -54,6 +54,12 @@ describe('plugin - event created & patch history disabled', () => {
54
54
  updatedAt: john.updatedAt
55
55
  })
56
56
  })
57
+
58
+ // Check if the document is saved
59
+ const found = await User.findOne({})
60
+ expect(found).not.toBeNull()
61
+ expect(found?.name).toBe('John')
62
+ expect(found?.role).toBe('user')
57
63
  })
58
64
 
59
65
  it('should create() and emit one create event', async () => {
@@ -72,6 +78,12 @@ describe('plugin - event created & patch history disabled', () => {
72
78
  updatedAt: user.updatedAt
73
79
  })
74
80
  })
81
+
82
+ // Check if the document is saved
83
+ const found = await User.findOne({})
84
+ expect(found).not.toBeNull()
85
+ expect(found?.name).toBe('John')
86
+ expect(found?.role).toBe('user')
75
87
  })
76
88
 
77
89
  it('should insertMany() and emit three create events', async () => {
@@ -79,7 +91,7 @@ describe('plugin - event created & patch history disabled', () => {
79
91
  { name: 'John', role: 'user' },
80
92
  { name: 'Alice', role: 'user' },
81
93
  { name: 'Bob', role: 'user' }
82
- ])
94
+ ], { ordered: true })
83
95
 
84
96
  const [john, alice, bob] = users
85
97
 
@@ -114,6 +126,21 @@ describe('plugin - event created & patch history disabled', () => {
114
126
  updatedAt: bob.updatedAt
115
127
  })
116
128
  })
129
+
130
+ // Check if the documents are saved
131
+ const found = await User.find({})
132
+ expect(found).toHaveLength(3)
133
+
134
+ const [foundJohn, foundAlice, foundBob] = found
135
+
136
+ expect(foundJohn.name).toBe('John')
137
+ expect(foundJohn.role).toBe('user')
138
+
139
+ expect(foundAlice.name).toBe('Alice')
140
+ expect(foundAlice.role).toBe('user')
141
+
142
+ expect(foundBob.name).toBe('Bob')
143
+ expect(foundBob.role).toBe('user')
117
144
  })
118
145
  })
119
146
 
@@ -140,6 +167,12 @@ describe('plugin - event created & patch history disabled', () => {
140
167
  // Upsert does not set createdAt and updatedAt
141
168
  })
142
169
  })
170
+
171
+ // Check if the document is saved
172
+ const found = await User.findOne({})
173
+ expect(found).not.toBeNull()
174
+ expect(found?.name).toBe('John')
175
+ expect(found?.role).toBe('admin')
143
176
  })
144
177
 
145
178
  it('should updateOne() + upsert and emit one create event', async () => {
@@ -164,6 +197,12 @@ describe('plugin - event created & patch history disabled', () => {
164
197
  // Upsert does not set createdAt and updatedAt
165
198
  })
166
199
  })
200
+
201
+ // Check if the document is saved
202
+ const found = await User.findOne({})
203
+ expect(found).not.toBeNull()
204
+ expect(found?.name).toBe('John')
205
+ expect(found?.role).toBe('admin')
167
206
  })
168
207
 
169
208
  it('should replaceOne() + upsert and emit one create event', async () => {
@@ -188,6 +227,12 @@ describe('plugin - event created & patch history disabled', () => {
188
227
  // Upsert does not set createdAt and updatedAt
189
228
  })
190
229
  })
230
+
231
+ // Check if the document is saved
232
+ const found = await User.findOne({})
233
+ expect(found).not.toBeNull()
234
+ expect(found?.name).toBe('John')
235
+ expect(found?.role).toBe('admin')
191
236
  })
192
237
 
193
238
  it('should updateMany() + upsert and emit one create event', async () => {
@@ -211,6 +256,12 @@ describe('plugin - event created & patch history disabled', () => {
211
256
  // Upsert does not set createdAt and updatedAt
212
257
  })
213
258
  })
259
+
260
+ // Check if the document is saved
261
+ const found = await User.findById(users?._id)
262
+ expect(found).not.toBeNull()
263
+ expect(found?.name).toBe('Steve')
264
+ expect(found?.role).toBe('admin')
214
265
  })
215
266
 
216
267
  it('should findOneAndUpdate() + upsert and emit one create event', async () => {
@@ -235,6 +286,12 @@ describe('plugin - event created & patch history disabled', () => {
235
286
  // Upsert does not set createdAt and updatedAt
236
287
  })
237
288
  })
289
+
290
+ // Check if the document is saved
291
+ const found = await User.findOne({})
292
+ expect(found).not.toBeNull()
293
+ expect(found?.name).toBe('John')
294
+ expect(found?.role).toBe('admin')
238
295
  })
239
296
 
240
297
  it('should findOneAndReplace() + upsert and emit one create event', async () => {
@@ -259,6 +316,12 @@ describe('plugin - event created & patch history disabled', () => {
259
316
  // Upsert does not set createdAt and updatedAt
260
317
  })
261
318
  })
319
+
320
+ // Check if the document is saved
321
+ const found = await User.findOne({})
322
+ expect(found).not.toBeNull()
323
+ expect(found?.name).toBe('John')
324
+ expect(found?.role).toBe('admin')
262
325
  })
263
326
 
264
327
  it('should findByIdAndUpdate() + upsert and emit one create event', async () => {
@@ -279,6 +342,12 @@ describe('plugin - event created & patch history disabled', () => {
279
342
  role: user?.role
280
343
  })
281
344
  })
345
+
346
+ // Check if the document is saved
347
+ const found = await User.findOne({})
348
+ expect(found).not.toBeNull()
349
+ expect(found?.name).toBe('John')
350
+ expect(found?.role).toBe('admin')
282
351
  })
283
352
  })
284
353
  })
@@ -54,6 +54,10 @@ describe('plugin - event delete & patch history disabled', () => {
54
54
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
55
55
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
56
56
  })
57
+
58
+ // Check if data is deleted
59
+ const user = await User.findById(john._id)
60
+ expect(user).toBeNull()
57
61
  })
58
62
 
59
63
  it('should remove() and emit two delete events', async () => {
@@ -67,10 +71,6 @@ describe('plugin - event delete & patch history disabled', () => {
67
71
 
68
72
  await User.remove({ role: 'user' }).exec()
69
73
 
70
- const remaining = await User.find({})
71
-
72
- expect(remaining).toHaveLength(1)
73
-
74
74
  const history = await History.find({})
75
75
  expect(history).toHaveLength(0)
76
76
 
@@ -81,6 +81,16 @@ describe('plugin - event delete & patch history disabled', () => {
81
81
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
82
82
  oldDoc: expect.objectContaining(alice.toObject(toObjectOptions))
83
83
  })
84
+
85
+ // Check if data is deleted
86
+ const deletedJohn = await User.findById(john._id)
87
+ expect(deletedJohn).toBeNull()
88
+
89
+ const deletedAlice = await User.findById(alice._id)
90
+ expect(deletedAlice).toBeNull()
91
+
92
+ const remaining = await User.find({})
93
+ expect(remaining).toHaveLength(1)
84
94
  })
85
95
 
86
96
  it('should remove() and emit one delete event { single: true }', async () => {
@@ -101,6 +111,13 @@ describe('plugin - event delete & patch history disabled', () => {
101
111
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
102
112
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
103
113
  })
114
+
115
+ // Check if data is deleted
116
+ const deletedJohn = await User.findById(john._id)
117
+ expect(deletedJohn).toBeNull()
118
+
119
+ const remaining = await User.find({})
120
+ expect(remaining).toHaveLength(2)
104
121
  })
105
122
 
106
123
  it('should findOneAndDelete() and emit one delete event', async () => {
@@ -121,6 +138,13 @@ describe('plugin - event delete & patch history disabled', () => {
121
138
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
122
139
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
123
140
  })
141
+
142
+ // Check if data is deleted
143
+ const deletedJohn = await User.findById(john._id)
144
+ expect(deletedJohn).toBeNull()
145
+
146
+ const remaining = await User.find({})
147
+ expect(remaining).toHaveLength(2)
124
148
  })
125
149
 
126
150
  it('should findOneAndRemove() and emit one delete event', async () => {
@@ -141,6 +165,13 @@ describe('plugin - event delete & patch history disabled', () => {
141
165
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
142
166
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
143
167
  })
168
+
169
+ // Check if data is deleted
170
+ const deletedJohn = await User.findById(john._id)
171
+ expect(deletedJohn).toBeNull()
172
+
173
+ const remaining = await User.find({ name: { $in: ['Alice', 'Bob'] } })
174
+ expect(remaining).toHaveLength(2)
144
175
  })
145
176
 
146
177
  it('should findByIdAndDelete() and emit one delete event', async () => {
@@ -161,6 +192,13 @@ describe('plugin - event delete & patch history disabled', () => {
161
192
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
162
193
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
163
194
  })
195
+
196
+ // Check if data is deleted
197
+ const deletedJohn = await User.findById(john._id)
198
+ expect(deletedJohn).toBeNull()
199
+
200
+ const remaining = await User.find({ name: { $in: ['Alice', 'Bob'] } })
201
+ expect(remaining).toHaveLength(2)
164
202
  })
165
203
 
166
204
  it('should findByIdAndRemove() and emit one delete event', async () => {
@@ -181,6 +219,13 @@ describe('plugin - event delete & patch history disabled', () => {
181
219
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
182
220
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
183
221
  })
222
+
223
+ // Check if data is deleted
224
+ const deletedJohn = await User.findById(john._id)
225
+ expect(deletedJohn).toBeNull()
226
+
227
+ const remaining = await User.find({ name: { $in: ['Alice', 'Bob'] } })
228
+ expect(remaining).toHaveLength(2)
184
229
  })
185
230
 
186
231
  it('should deleteOne() and emit one delete event', async () => {
@@ -201,6 +246,13 @@ describe('plugin - event delete & patch history disabled', () => {
201
246
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
202
247
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
203
248
  })
249
+
250
+ // Check if data is deleted
251
+ const deletedJohn = await User.findById(john._id)
252
+ expect(deletedJohn).toBeNull()
253
+
254
+ const remaining = await User.find({ name: { $in: ['Alice', 'Bob'] } })
255
+ expect(remaining).toHaveLength(2)
204
256
  })
205
257
 
206
258
  it('should deleteMany() and emit two delete events', async () => {
@@ -224,6 +276,16 @@ describe('plugin - event delete & patch history disabled', () => {
224
276
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
225
277
  oldDoc: expect.objectContaining(alice.toObject(toObjectOptions))
226
278
  })
279
+
280
+ // Check if data is deleted
281
+ const deletedJohn = await User.findById(john._id)
282
+ expect(deletedJohn).toBeNull()
283
+
284
+ const deletedAlice = await User.findById(alice._id)
285
+ expect(deletedAlice).toBeNull()
286
+
287
+ const remaining = await User.find({})
288
+ expect(remaining).toHaveLength(1)
227
289
  })
228
290
 
229
291
  it('should deleteMany() and emit one delete event { single: true }', async () => {
@@ -244,6 +306,13 @@ describe('plugin - event delete & patch history disabled', () => {
244
306
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
245
307
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
246
308
  })
309
+
310
+ // Check if data is deleted
311
+ const deletedJohn = await User.findById(john._id)
312
+ expect(deletedJohn).toBeNull()
313
+
314
+ const remaining = await User.find({})
315
+ expect(remaining).toHaveLength(2)
247
316
  })
248
317
 
249
318
  it('should create then delete and emit one delete event', async () => {
@@ -257,35 +326,43 @@ describe('plugin - event delete & patch history disabled', () => {
257
326
  expect(em.emit).toHaveBeenCalledWith(USER_DELETED, {
258
327
  oldDoc: expect.objectContaining(john.toObject(toObjectOptions))
259
328
  })
329
+
330
+ // Check if data is deleted
331
+ const deletedJohn = await User.findById(john._id)
332
+ expect(deletedJohn).toBeNull()
333
+
334
+ const remaining = await User.find({})
335
+ expect(remaining).toHaveLength(0)
260
336
  })
261
337
 
262
338
  it('should ignoreHook option on deleteMany', async () => {
263
- await User.create({ name: 'John', role: 'user' })
339
+ const john = await User.create({ name: 'John', role: 'user' })
264
340
  await User.deleteMany({ role: 'user' }, { ignoreHook: true }).exec()
265
341
 
266
342
  const history = await History.find({})
267
343
  expect(history).toHaveLength(0)
268
344
 
269
345
  expect(em.emit).toHaveBeenCalledTimes(0)
346
+
347
+ // Check if data is deleted
348
+ const deletedJohn = await User.findById(john._id)
349
+ expect(deletedJohn).toBeNull()
270
350
  })
271
351
 
272
352
  it('should ignoreHook option on deleteOne', async () => {
273
- await User.create({ name: 'John', role: 'user' })
353
+ const john = await User.create({ name: 'John', role: 'user' })
274
354
  await User.deleteOne({ role: 'user' }, { ignoreHook: true }).exec()
275
355
 
276
356
  const history = await History.find({})
277
357
  expect(history).toHaveLength(0)
278
358
 
279
359
  expect(em.emit).toHaveBeenCalledTimes(0)
280
- })
281
360
 
282
- it('should ignoreHook option on updateMany', async () => {
283
- await User.create({ name: 'John', role: 'user' })
284
- await User.updateMany({ role: 'user' }, { role: 'admin' }, { ignoreHook: true }).exec()
361
+ // Check if data is deleted
362
+ const deletedJohn = await User.findById(john._id)
363
+ expect(deletedJohn).toBeNull()
285
364
 
286
- const history = await History.find({})
287
- expect(history).toHaveLength(0)
288
-
289
- expect(em.emit).toHaveBeenCalledTimes(0)
365
+ const remaining = await User.find({})
366
+ expect(remaining).toHaveLength(0)
290
367
  })
291
368
  })
@@ -72,6 +72,13 @@ describe('plugin - event updated & patch history disabled', () => {
72
72
  { op: 'replace', path: '/name', value: 'John Doe' }
73
73
  ])
74
74
  })
75
+
76
+ // Confirm that the document is updated
77
+ const users = await User.find({})
78
+ expect(users).toHaveLength(2)
79
+ const [bob, john] = users
80
+ expect(bob.name).toBe('Bob')
81
+ expect(john.name).toBe('John Doe')
75
82
  })
76
83
 
77
84
  it('should update() and emit three update event', async () => {
@@ -89,6 +96,14 @@ describe('plugin - event updated & patch history disabled', () => {
89
96
  expect(history).toHaveLength(0)
90
97
 
91
98
  expect(em.emit).toHaveBeenCalledTimes(3)
99
+
100
+ // Confirm that the document is updated
101
+ const updated = await User.find({})
102
+ expect(updated).toHaveLength(3)
103
+ const [alice, bob, john] = updated
104
+ expect(alice.role).toBe('manager')
105
+ expect(bob.role).toBe('manager')
106
+ expect(john.role).toBe('manager')
92
107
  })
93
108
 
94
109
  it('should updateOne() and emit one update event', async () => {
@@ -106,6 +121,14 @@ describe('plugin - event updated & patch history disabled', () => {
106
121
  expect(history).toHaveLength(0)
107
122
 
108
123
  expect(em.emit).toHaveBeenCalledTimes(1)
124
+
125
+ // Confirm that the document is updated
126
+ const updated = await User.find({})
127
+ expect(updated).toHaveLength(3)
128
+ const [alice, bob, john] = updated
129
+ expect(alice.role).toBe('user')
130
+ expect(bob.role).toBe('manager')
131
+ expect(john.role).toBe('user')
109
132
  })
110
133
 
111
134
  it('should replaceOne() and emit two update event', async () => {
@@ -147,6 +170,14 @@ describe('plugin - event updated & patch history disabled', () => {
147
170
  { op: 'replace', path: '/role', value: 'manager' }
148
171
  ])
149
172
  })
173
+
174
+ // Confirm that the document is updated
175
+ const updated = await User.find({})
176
+ expect(updated).toHaveLength(3)
177
+ const [alice, bob, john] = updated
178
+ expect(alice.role).toBe('user')
179
+ expect(bob.role).toBe('manager')
180
+ expect(john.role).toBe('user')
150
181
  })
151
182
 
152
183
  it('should updateMany() and emit two update event', async () => {
@@ -164,6 +195,14 @@ describe('plugin - event updated & patch history disabled', () => {
164
195
  expect(history).toHaveLength(0)
165
196
 
166
197
  expect(em.emit).toHaveBeenCalledTimes(3)
198
+
199
+ // Confirm that the document is updated
200
+ const updated = await User.find({})
201
+ expect(updated).toHaveLength(3)
202
+ const [alice, bob, john] = updated
203
+ expect(alice.role).toBe('manager')
204
+ expect(bob.role).toBe('manager')
205
+ expect(john.role).toBe('manager')
167
206
  })
168
207
 
169
208
  it('should findOneAndUpdate() and emit one update event', async () => {
@@ -199,6 +238,10 @@ describe('plugin - event updated & patch history disabled', () => {
199
238
  { op: 'replace', path: '/name', value: 'John Doe' }
200
239
  ])
201
240
  })
241
+
242
+ // Confirm that the document is updated
243
+ expect(updated?.name).toBe('John Doe')
244
+ expect(updated?.role).toBe('manager')
202
245
  })
203
246
 
204
247
  it('should findOneAndReplace() and emit one update event', async () => {
@@ -236,6 +279,10 @@ describe('plugin - event updated & patch history disabled', () => {
236
279
  { op: 'replace', path: '/role', value: 'manager' }
237
280
  ])
238
281
  })
282
+
283
+ // Confirm that the document is updated
284
+ expect(updated?.name).toBe('John Doe')
285
+ expect(updated?.role).toBe('manager')
239
286
  })
240
287
 
241
288
  it('should findByIdAndUpdate() and emit one update event', async () => {
@@ -268,6 +315,11 @@ describe('plugin - event updated & patch history disabled', () => {
268
315
  { op: 'replace', path: '/role', value: 'manager' }
269
316
  ])
270
317
  })
318
+
319
+ // Confirm that the document is updated
320
+ const updated = await User.findById(created._id).exec()
321
+ expect(updated?.name).toBe('John Doe')
322
+ expect(updated?.role).toBe('manager')
271
323
  })
272
324
 
273
325
  it('should update and emit one update event', async () => {
@@ -303,6 +355,10 @@ describe('plugin - event updated & patch history disabled', () => {
303
355
  { op: 'replace', path: '/name', value: 'John Doe' }
304
356
  ])
305
357
  })
358
+
359
+ // Confirm that the document is updated
360
+ expect(updated?.name).toBe('John Doe')
361
+ expect(updated?.role).toBe('manager')
306
362
  })
307
363
 
308
364
  it('should updateMany and emit two update events', async () => {
@@ -362,5 +418,66 @@ describe('plugin - event updated & patch history disabled', () => {
362
418
  { op: 'replace', path: '/name', value: 'John Doe' }
363
419
  ])
364
420
  })
421
+
422
+ // Confirm that the documents are updated
423
+ expect(updated1?.name).toBe('John Doe')
424
+ expect(updated1?.role).toBe('manager')
425
+
426
+ expect(updated2?.name).toBe('John Doe')
427
+ expect(updated2?.role).toBe('manager')
428
+ })
429
+
430
+ it('should findOneAndUpdate $set and emit one update event', async () => {
431
+ const created = await User.create({ name: 'Bob', role: 'user' })
432
+ await User.findOneAndUpdate({ _id: created._id }, { $set: { name: 'John Doe', role: 'manager' } })
433
+ const updated = await User.findById(created._id).exec()
434
+ expect(updated).not.toBeNull()
435
+ expect(updated?.name).toBe('John Doe')
436
+ expect(updated?.role).toBe('manager')
437
+
438
+ const history = await History.find({})
439
+ expect(history).toHaveLength(0)
440
+
441
+ expect(em.emit).toHaveBeenCalledTimes(1)
442
+ expect(em.emit).toHaveBeenCalledWith(USER_UPDATED, {
443
+ oldDoc: expect.objectContaining({
444
+ __v: 0,
445
+ _id: created._id,
446
+ name: created.name,
447
+ role: created.role,
448
+ createdAt: created.createdAt
449
+ }),
450
+ doc: expect.objectContaining({
451
+ __v: 0,
452
+ _id: updated?._id,
453
+ name: updated?.name,
454
+ role: updated?.role,
455
+ createdAt: created.createdAt
456
+ }),
457
+ patch: expect.arrayContaining([
458
+ { op: 'test', path: '/name', value: 'Bob' },
459
+ { op: 'replace', path: '/name', value: 'John Doe' },
460
+ { op: 'test', path: '/role', value: 'user' },
461
+ { op: 'replace', path: '/role', value: 'manager' }
462
+ ])
463
+ })
464
+
465
+ // Confirm that the document is updated
466
+ expect(updated?.name).toBe('John Doe')
467
+ expect(updated?.role).toBe('manager')
468
+ })
469
+
470
+ it('should ignoreHook option on updateMany', async () => {
471
+ const john = await User.create({ name: 'John', role: 'user' })
472
+ await User.updateMany({ role: 'user' }, { role: 'admin' }, { ignoreHook: true }).exec()
473
+
474
+ const history = await History.find({})
475
+ expect(history).toHaveLength(0)
476
+
477
+ expect(em.emit).toHaveBeenCalledTimes(0)
478
+
479
+ // Confirm that the document is updated
480
+ const updated = await User.findById(john._id).exec()
481
+ expect(updated?.role).toBe('admin')
365
482
  })
366
483
  })