@orion-js/mongodb 3.0.37 → 3.0.38

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.
@@ -247,3 +247,41 @@ it('Should allow custom clean function on a blackbox field', async () => {
247
247
  const item = await Tests.findOne(itemId);
248
248
  expect(item).toEqual({ _id: itemId, info: { hello: 'world' } });
249
249
  });
250
+ it('Should be able to use custom clean for models on update', async () => {
251
+ const modelFile = (0, models_1.createModel)({
252
+ name: 'File',
253
+ schema: {
254
+ name: { type: String },
255
+ lastName: { type: String, optional: true }
256
+ },
257
+ async clean(value) {
258
+ if (!value)
259
+ return null;
260
+ expect(typeof value.name).toBe('string');
261
+ return {
262
+ ...value,
263
+ name: value.name.toUpperCase(),
264
+ lastName: '1'
265
+ };
266
+ }
267
+ });
268
+ const model = (0, models_1.createModel)({
269
+ name: 'Item',
270
+ schema: {
271
+ file: { type: modelFile }
272
+ }
273
+ });
274
+ const Tests = (0, __1.default)({ name: (0, helpers_1.generateId)(), model });
275
+ const docId = await Tests.insertOne({
276
+ file: { name: '1' }
277
+ });
278
+ await Tests.updateOne(docId, {
279
+ $set: {
280
+ file: { name: 'Hello' }
281
+ }
282
+ });
283
+ const result = await Tests.findOne(docId);
284
+ expect(result.file.name).toBe('HELLO');
285
+ expect(result.file.lastName).toBe('1');
286
+ expect.assertions(4);
287
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orion-js/mongodb",
3
- "version": "3.0.37",
3
+ "version": "3.0.38",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "files": [
@@ -18,10 +18,10 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@orion-js/helpers": "^3.0.36",
21
- "@orion-js/models": "^3.0.37",
21
+ "@orion-js/models": "^3.0.38",
22
22
  "@orion-js/resolvers": "^3.0.37",
23
23
  "@orion-js/schema": "^3.0.37",
24
- "@orion-js/typed-model": "^3.0.37",
24
+ "@orion-js/typed-model": "^3.0.38",
25
25
  "dataloader": "2.0.0",
26
26
  "dot-object": "2.1.4",
27
27
  "mongodb": "4.1.4"
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "741691d7603f3d42e6e3e8fa9dc0f9de51a29424"
41
+ "gitHead": "00903f1488b72e13b7d5031a916eb897d0d80e0c"
42
42
  }