@webda/core 1.5.2 → 1.6.0-beta.3

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.
Files changed (150) hide show
  1. package/lib/application.d.ts +0 -7
  2. package/lib/application.js +33 -27
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +23 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +20 -2
  7. package/lib/core.js +74 -34
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +5 -5
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +12 -7
  12. package/lib/index.js +12 -7
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +63 -5
  15. package/lib/models/aclmodel.js +115 -12
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +65 -19
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +22 -6
  20. package/lib/models/coremodel.js +14 -6
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +0 -1
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/ident.d.ts +5 -0
  25. package/lib/models/ident.js +6 -0
  26. package/lib/models/ident.js.map +1 -1
  27. package/lib/models/ident.spec.js +3 -0
  28. package/lib/models/ident.spec.js.map +1 -1
  29. package/lib/models/ownermodel.js +1 -2
  30. package/lib/models/ownermodel.js.map +1 -1
  31. package/lib/models/user.d.ts +30 -0
  32. package/lib/models/user.js +34 -2
  33. package/lib/models/user.js.map +1 -1
  34. package/lib/models/user.spec.js +18 -0
  35. package/lib/models/user.spec.js.map +1 -1
  36. package/lib/queues/memoryqueue.spec.js +0 -1
  37. package/lib/queues/memoryqueue.spec.js.map +1 -1
  38. package/lib/queues/pubsubservice.d.ts +27 -0
  39. package/lib/queues/pubsubservice.js +21 -0
  40. package/lib/queues/pubsubservice.js.map +1 -0
  41. package/lib/queues/queueservice.d.ts +3 -16
  42. package/lib/queues/queueservice.js +2 -13
  43. package/lib/queues/queueservice.js.map +1 -1
  44. package/lib/router.js +1 -1
  45. package/lib/router.js.map +1 -1
  46. package/lib/router.spec.js +1 -1
  47. package/lib/router.spec.js.map +1 -1
  48. package/lib/services/authentication.d.ts +35 -1
  49. package/lib/services/authentication.js +55 -5
  50. package/lib/services/authentication.js.map +1 -1
  51. package/lib/services/authentication.spec.js +9 -0
  52. package/lib/services/authentication.spec.js.map +1 -1
  53. package/lib/services/binary.js +15 -10
  54. package/lib/services/binary.js.map +1 -1
  55. package/lib/services/binary.spec.d.ts +1 -1
  56. package/lib/services/configuration.d.ts +9 -0
  57. package/lib/services/configuration.js +27 -2
  58. package/lib/services/configuration.js.map +1 -1
  59. package/lib/services/configuration.spec.js +19 -2
  60. package/lib/services/configuration.spec.js.map +1 -1
  61. package/lib/services/cron.spec.js +2 -2
  62. package/lib/services/cron.spec.js.map +1 -1
  63. package/lib/services/debugmailer.d.ts +10 -3
  64. package/lib/services/debugmailer.js +18 -4
  65. package/lib/services/debugmailer.js.map +1 -1
  66. package/lib/services/debugmailer.spec.js +1 -0
  67. package/lib/services/debugmailer.spec.js.map +1 -1
  68. package/lib/services/filebinary.spec.js +0 -1
  69. package/lib/services/filebinary.spec.js.map +1 -1
  70. package/lib/services/fileconfiguration.d.ts +7 -1
  71. package/lib/services/fileconfiguration.js +9 -0
  72. package/lib/services/fileconfiguration.js.map +1 -1
  73. package/lib/services/fileconfiguration.spec.js +81 -2
  74. package/lib/services/fileconfiguration.spec.js.map +1 -1
  75. package/lib/services/invitationservice.d.ts +196 -0
  76. package/lib/services/invitationservice.js +441 -0
  77. package/lib/services/invitationservice.js.map +1 -0
  78. package/lib/services/invitationservice.spec.d.ts +1 -0
  79. package/lib/services/invitationservice.spec.js +516 -0
  80. package/lib/services/invitationservice.spec.js.map +1 -0
  81. package/lib/services/kubernetesconfiguration.d.ts +6 -0
  82. package/lib/services/kubernetesconfiguration.js +13 -0
  83. package/lib/services/kubernetesconfiguration.js.map +1 -1
  84. package/lib/services/kubernetesconfiguration.spec.js +31 -7
  85. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  86. package/lib/services/mailer.d.ts +93 -3
  87. package/lib/services/mailer.js +55 -11
  88. package/lib/services/mailer.js.map +1 -1
  89. package/lib/services/mailer.spec.js +30 -1
  90. package/lib/services/mailer.spec.js.map +1 -1
  91. package/lib/services/notificationservice.d.ts +74 -0
  92. package/lib/services/notificationservice.js +89 -0
  93. package/lib/services/notificationservice.js.map +1 -0
  94. package/lib/services/notificationservice.spec.d.ts +1 -0
  95. package/lib/services/notificationservice.spec.js +104 -0
  96. package/lib/services/notificationservice.spec.js.map +1 -0
  97. package/lib/services/oauth.spec.js +7 -10
  98. package/lib/services/oauth.spec.js.map +1 -1
  99. package/lib/services/service.d.ts +20 -4
  100. package/lib/services/service.js +35 -5
  101. package/lib/services/service.js.map +1 -1
  102. package/lib/services/service.spec.js +26 -0
  103. package/lib/services/service.spec.js.map +1 -1
  104. package/lib/stores/aggregator.d.ts +43 -0
  105. package/lib/stores/aggregator.js +106 -0
  106. package/lib/stores/aggregator.js.map +1 -0
  107. package/lib/stores/file.d.ts +1 -1
  108. package/lib/stores/file.js +5 -5
  109. package/lib/stores/file.js.map +1 -1
  110. package/lib/stores/file.spec.d.ts +3 -1
  111. package/lib/stores/file.spec.js +48 -19
  112. package/lib/stores/file.spec.js.map +1 -1
  113. package/lib/stores/mapper.d.ts +151 -0
  114. package/lib/stores/mapper.js +320 -0
  115. package/lib/stores/mapper.js.map +1 -0
  116. package/lib/stores/mapper.spec.d.ts +1 -0
  117. package/lib/stores/mapper.spec.js +174 -0
  118. package/lib/stores/mapper.spec.js.map +1 -0
  119. package/lib/stores/memory.js +0 -3
  120. package/lib/stores/memory.js.map +1 -1
  121. package/lib/stores/memory.spec.d.ts +3 -1
  122. package/lib/stores/memory.spec.js +12 -0
  123. package/lib/stores/memory.spec.js.map +1 -1
  124. package/lib/stores/store.d.ts +30 -109
  125. package/lib/stores/store.js +57 -285
  126. package/lib/stores/store.js.map +1 -1
  127. package/lib/stores/store.spec.d.ts +10 -0
  128. package/lib/stores/store.spec.js +41 -14
  129. package/lib/stores/store.spec.js.map +1 -1
  130. package/lib/test.d.ts +2 -1
  131. package/lib/test.js +21 -3
  132. package/lib/test.js.map +1 -1
  133. package/lib/utils/context.d.ts +12 -1
  134. package/lib/utils/context.js +21 -5
  135. package/lib/utils/context.js.map +1 -1
  136. package/lib/utils/context.spec.js +6 -1
  137. package/lib/utils/context.spec.js.map +1 -1
  138. package/lib/utils/cookie.d.ts +12 -0
  139. package/lib/utils/cookie.js +29 -19
  140. package/lib/utils/cookie.js.map +1 -1
  141. package/lib/utils/cookie.spec.js +0 -1
  142. package/lib/utils/cookie.spec.js.map +1 -1
  143. package/package.json +9 -7
  144. package/test/config-file-no-reload.json +70 -0
  145. package/test/config-file-reload.json +7 -1
  146. package/test/config-invitation.json +63 -0
  147. package/test/config-kube-reload.json +7 -1
  148. package/test/config.json +35 -23
  149. package/test/config.old-default.json +0 -16
  150. package/test/config.old.json +0 -16
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Store = exports.StoreParameters = exports.UpdateConditionFailError = exports.StoreNotFoundError = void 0;
13
13
  const core_1 = require("../core");
14
+ const coremodel_1 = require("../models/coremodel");
14
15
  const service_1 = require("../services/service");
15
16
  class StoreNotFoundError extends core_1.WebdaError {
16
17
  constructor(uuid, storeName) {
@@ -29,12 +30,9 @@ exports.UpdateConditionFailError = UpdateConditionFailError;
29
30
  */
30
31
  class StoreParameters extends service_1.ServiceParameters {
31
32
  constructor(params, service) {
32
- var _a, _b, _c, _d, _e;
33
- var _f;
33
+ var _a, _b;
34
34
  super(params);
35
- (_a = this.lastUpdateField) !== null && _a !== void 0 ? _a : (this.lastUpdateField = "_lastUpdate");
36
- (_b = this.creationDateField) !== null && _b !== void 0 ? _b : (this.creationDateField = "_creationDate");
37
- (_c = this.model) !== null && _c !== void 0 ? _c : (this.model = "Webda/CoreModel");
35
+ (_a = this.model) !== null && _a !== void 0 ? _a : (this.model = "Webda/CoreModel");
38
36
  let expose = params.expose;
39
37
  if (typeof expose == "boolean") {
40
38
  expose = {};
@@ -52,14 +50,13 @@ class StoreParameters extends service_1.ServiceParameters {
52
50
  expose.restrict = expose.restrict || {};
53
51
  this.expose = expose;
54
52
  }
55
- (_d = this.map) !== null && _d !== void 0 ? _d : (this.map = {});
56
- // Init map the right way
57
- for (let i in this.map) {
58
- (_e = (_f = this.map[i]).fields) !== null && _e !== void 0 ? _e : (_f.fields = []);
59
- if (typeof this.map[i].fields === "string") {
60
- this.map[i].fields = this.map[i].fields.split(",");
61
- }
53
+ if (params.map) {
54
+ throw new Error("Deprecated map usage, use a MapperService");
55
+ }
56
+ if (params.index) {
57
+ throw new Error("Deprecated index usage, use an AggregatorService");
62
58
  }
59
+ (_b = this.strict) !== null && _b !== void 0 ? _b : (this.strict = true);
63
60
  }
64
61
  }
65
62
  exports.StoreParameters = StoreParameters;
@@ -104,10 +101,6 @@ class Store extends service_1.Service {
104
101
  * Contain the reverse map
105
102
  */
106
103
  this._reverseMap = [];
107
- /**
108
- * Contains cascade delete information
109
- */
110
- this._cascadeDeletes = [];
111
104
  /**
112
105
  * Contain the model uuid field
113
106
  */
@@ -129,8 +122,8 @@ class Store extends service_1.Service {
129
122
  const p = this.parameters;
130
123
  this._model = this._webda.getModel(p.model);
131
124
  this._uuidField = this._model.getUuidField();
132
- this._lastUpdateField = p.lastUpdateField;
133
- this._creationDateField = p.creationDateField;
125
+ this._lastUpdateField = this._model.getLastUpdateField();
126
+ this._creationDateField = this._model.getCreationField();
134
127
  }
135
128
  /**
136
129
  * Return Store current model
@@ -139,18 +132,11 @@ class Store extends service_1.Service {
139
132
  getModel() {
140
133
  return this._model;
141
134
  }
142
- /**
143
- * Create index if not existing
144
- *
145
- * @inheritdoc
146
- */
147
- init() {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- this.initMap();
150
- if (this.parameters.index) {
151
- yield this.createIndex();
152
- }
153
- });
135
+ getLastUpdateField() {
136
+ return this._model.getLastUpdateField();
137
+ }
138
+ getObject(uid) {
139
+ return this._get(uid);
154
140
  }
155
141
  /**
156
142
  * @inheritdoc
@@ -318,29 +304,11 @@ class Store extends service_1.Service {
318
304
  * @param cascade
319
305
  * @param store
320
306
  */
321
- addReverseMap(prop, store, cascade = false) {
307
+ addReverseMap(prop, store) {
322
308
  this._reverseMap.push({
323
309
  property: prop,
324
310
  mapper: store
325
311
  });
326
- if (cascade) {
327
- this._cascadeDeletes.push({
328
- mapper: store,
329
- property: prop
330
- });
331
- }
332
- }
333
- isMapped(property) {
334
- if (property === undefined) {
335
- return false;
336
- }
337
- let map = this.parameters.map;
338
- for (let prop in map) {
339
- if (map[prop].fields.indexOf(property) >= 0) {
340
- return true;
341
- }
342
- }
343
- return false;
344
312
  }
345
313
  incrementAttribute(uid, prop, value) {
346
314
  return __awaiter(this, void 0, void 0, function* () {
@@ -350,10 +318,10 @@ class Store extends service_1.Service {
350
318
  }
351
319
  let updateDate = new Date();
352
320
  yield this._incrementAttribute(uid, prop, value, updateDate);
353
- yield this._handleMapFromPartial(uid, updateDate, prop);
354
321
  return this.emitSync("Store.PartialUpdated", {
355
322
  object_id: uid,
356
323
  store: this,
324
+ updateDate,
357
325
  partial_update: {
358
326
  increment: {
359
327
  value: value,
@@ -370,10 +338,10 @@ class Store extends service_1.Service {
370
338
  }
371
339
  let updateDate = new Date();
372
340
  yield this._upsertItemToCollection(uid, prop, item, index, itemWriteCondition, itemWriteConditionField, updateDate);
373
- yield this._handleMapFromPartial(uid, updateDate);
374
341
  yield this.emitSync("Store.PartialUpdated", {
375
342
  object_id: uid,
376
343
  store: this,
344
+ updateDate,
377
345
  partial_update: {
378
346
  addItem: {
379
347
  value: item,
@@ -384,28 +352,14 @@ class Store extends service_1.Service {
384
352
  });
385
353
  });
386
354
  }
387
- _handleMapFromPartial(uid, updateDate, prop = undefined) {
388
- return __awaiter(this, void 0, void 0, function* () {
389
- if (this.isMapped(prop) || this.isMapped(this._lastUpdateField)) {
390
- // Not optimal need to reload the object
391
- let object = yield this._get(uid);
392
- let updates = {};
393
- updates[this._lastUpdateField] = updateDate;
394
- if (this.isMapped(prop)) {
395
- updates[prop] = object[prop];
396
- }
397
- yield this.handleMap(object, updates);
398
- }
399
- });
400
- }
401
355
  deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField = this._uuidField) {
402
356
  return __awaiter(this, void 0, void 0, function* () {
403
357
  let updateDate = new Date();
404
358
  yield this._deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate);
405
- yield this._handleMapFromPartial(uid, updateDate);
406
359
  yield this.emitSync("Store.PartialUpdated", {
407
360
  object_id: uid,
408
361
  store: this,
362
+ updateDate,
409
363
  partial_update: {
410
364
  deleteItem: {
411
365
  property: prop,
@@ -415,35 +369,14 @@ class Store extends service_1.Service {
415
369
  });
416
370
  });
417
371
  }
418
- createIndex() {
419
- return __awaiter(this, void 0, void 0, function* () {
420
- if (!this.parameters.index || (yield this.exists("index"))) {
421
- return;
422
- }
423
- let index = {};
424
- index[this._uuidField] = "index";
425
- index[this._lastUpdateField] = new Date();
426
- yield this.save(index);
427
- });
428
- }
429
- initMap() {
430
- let map = this.parameters.map;
431
- for (let prop in map) {
432
- let reverseStore = this._webda.getService(prop);
433
- if (reverseStore === undefined || !(reverseStore instanceof Store)) {
434
- map[prop]["-onerror"] = "NoStore";
435
- this.log("WARN", "Can't setup mapping as store \"", prop, "\" doesn't exist");
436
- continue;
437
- }
438
- reverseStore.addReverseMap(map[prop].target, this, map[prop].cascade);
439
- }
440
- }
441
372
  /**
442
373
  * Save an object
443
374
  *
444
375
  * @param {Object} Object to save
445
376
  * @param {String} Uuid to use, if not specified take the object.uuid or generate one if not found
446
377
  * @return {Promise} with saved object
378
+ *
379
+ * Might want to rename to create
447
380
  */
448
381
  save(object, ctx = undefined) {
449
382
  var _a;
@@ -469,11 +402,6 @@ class Store extends service_1.Service {
469
402
  store: this
470
403
  });
471
404
  yield object._onSaved();
472
- yield this.handleMap(object, "created");
473
- // Handle index
474
- if (this.parameters.index && object.getUuid() !== "index" && object.getUuid()) {
475
- yield this.handleIndex(object, "created");
476
- }
477
405
  return object;
478
406
  });
479
407
  }
@@ -534,6 +462,9 @@ class Store extends service_1.Service {
534
462
  */
535
463
  simulateUpsertItemToCollection(model, prop, item, updateDate, index, itemWriteCondition, itemWriteConditionField) {
536
464
  return __awaiter(this, void 0, void 0, function* () {
465
+ if (prop === "__proto__") {
466
+ throw new Error("Cannot update __proto__: js/prototype-polluting-assignment");
467
+ }
537
468
  this.checkCollectionUpdateCondition(model, prop, itemWriteConditionField, itemWriteCondition, index);
538
469
  if (index === undefined) {
539
470
  if (model[prop] === undefined) {
@@ -571,16 +502,18 @@ class Store extends service_1.Service {
571
502
  }
572
503
  }
573
504
  let partialEvent = partial ? "Patch" : "";
574
- if (Object.keys(object).length === 0) {
505
+ if (Object.keys(object).length < 2) {
575
506
  return {};
576
507
  }
577
508
  object[this._lastUpdateField] = new Date();
578
509
  let load = yield this._get(object[this._uuidField], true);
510
+ if (load.__type !== this._model.name && this.parameters.strict) {
511
+ this.log("WARN", `Object '${object[this._uuidField]}' was not created by this store`);
512
+ throw new StoreNotFoundError(object[this._uuidField], this.getName());
513
+ }
579
514
  loaded = this.initModel(load);
580
- yield this.handleMap(loaded, object);
581
- // Handle index
582
- if (this.parameters.index && loaded[this._uuidField] !== "index" && loaded[this._uuidField]) {
583
- yield this.handleIndex(loaded, object);
515
+ if (object instanceof coremodel_1.CoreModel) {
516
+ loaded.setContext(object.getContext());
584
517
  }
585
518
  yield this.emitSync(`Store.${partialEvent}Update`, {
586
519
  object: loaded,
@@ -616,121 +549,6 @@ class Store extends service_1.Service {
616
549
  return saved;
617
550
  });
618
551
  }
619
- /**
620
- * Get index of the mapper for an object
621
- * @param map
622
- * @param uuid
623
- * @returns
624
- */
625
- getMapper(map, uuid) {
626
- for (var i = 0; i < map.length; i++) {
627
- if (map[i][this._uuidField] === uuid) {
628
- return i;
629
- }
630
- }
631
- return -1;
632
- }
633
- /**
634
- * Create an object mapper
635
- *
636
- * @param map map to create mapper for
637
- * @param object for the mapper to represent
638
- * @param updates to the object being made
639
- * @returns mapper object and found = true if updates will impact the mapper
640
- */
641
- createMapper(map, object, updates) {
642
- var mapper = {};
643
- let found = Object.keys(updates).includes(map.key);
644
- mapper[this._uuidField] = object[this._uuidField];
645
- for (let mapperfield of map.fields) {
646
- // Create the mapper object
647
- if (updates[mapperfield] !== undefined) {
648
- mapper[mapperfield] = updates[mapperfield];
649
- found = true;
650
- }
651
- else if (object[mapperfield] !== undefined) {
652
- mapper[mapperfield] = object[mapperfield];
653
- }
654
- }
655
- return [mapper, found];
656
- }
657
- _handleUpdatedMap(object, map, mapped, store, updates) {
658
- return __awaiter(this, void 0, void 0, function* () {
659
- let [mapper, found] = this.createMapper(map, object, updates);
660
- if (!found) {
661
- // None of the mapped keys has been modified -> return
662
- return;
663
- }
664
- // check if reference object has changed
665
- if (updates[map.key] != undefined && mapped[this._uuidField] != updates[map.key]) {
666
- let i = this.getMapper(mapped[map.target], object[this._uuidField]);
667
- if (i >= 0) {
668
- // Remove the data from old object
669
- yield store.deleteItemFromCollection(mapped[this._uuidField], map.target, i, object[this._uuidField], this._uuidField);
670
- }
671
- // Add the data to new object
672
- yield store.upsertItemToCollection(updates[map.key], map.target, mapper);
673
- }
674
- else {
675
- return this._handleUpdatedMapMapper(object, map, mapped, store, mapper);
676
- }
677
- });
678
- }
679
- _handleUpdatedMapMapper(object, map, mapped, store, mapper) {
680
- // Remove old reference
681
- let i = this.getMapper(mapped[map.target], object[this._uuidField]);
682
- // If not found just add it to the collection
683
- if (i < 0) {
684
- return store.upsertItemToCollection(mapped[this._uuidField], map.target, mapper);
685
- }
686
- // Else update with a check on the uuid
687
- return store.upsertItemToCollection(mapped[this._uuidField], map.target, mapper, i, object[this._uuidField], this._uuidField);
688
- }
689
- _handleDeletedMap(object, map, mapped, store) {
690
- return __awaiter(this, void 0, void 0, function* () {
691
- // Remove from the collection
692
- if (mapped[map.target] === undefined) {
693
- return;
694
- }
695
- let i = this.getMapper(mapped[map.target], object[this._uuidField]);
696
- if (i >= 0) {
697
- return store.deleteItemFromCollection(mapped[this._uuidField], map.target, i, object[this._uuidField], this._uuidField);
698
- }
699
- });
700
- }
701
- _handleCreatedMap(object, map, mapped, store) {
702
- return __awaiter(this, void 0, void 0, function* () {
703
- // Add to the object
704
- let [mapper] = this.createMapper(map, object, {});
705
- return store.upsertItemToCollection(mapped[this._uuidField], map.target, mapper);
706
- });
707
- }
708
- /**
709
- * Manage one mapping update
710
- *
711
- * @param store
712
- * @param object
713
- * @param map
714
- * @param updates
715
- * @returns
716
- */
717
- _handleMapProperty(store, object, map, updates) {
718
- return __awaiter(this, void 0, void 0, function* () {
719
- let mapped = yield store.get(object[map.key] || updates[map.key]);
720
- if (mapped == undefined) {
721
- return;
722
- }
723
- if (updates === "created") {
724
- return this._handleCreatedMap(object, map, mapped, store);
725
- }
726
- else if (updates == "deleted") {
727
- return this._handleDeletedMap(object, map, mapped, store);
728
- }
729
- else if (typeof updates == "object") {
730
- return this._handleUpdatedMap(object, map, mapped, store, updates);
731
- }
732
- });
733
- }
734
552
  /**
735
553
  * Remove an attribute from an object
736
554
  *
@@ -749,57 +567,6 @@ class Store extends service_1.Service {
749
567
  });
750
568
  });
751
569
  }
752
- handleIndex(object, updates) {
753
- return __awaiter(this, void 0, void 0, function* () {
754
- let mapUpdates = {};
755
- if (typeof updates === "object") {
756
- let toUpdate = false;
757
- for (let i in updates) {
758
- if (this.parameters.index.indexOf(i) >= 0) {
759
- toUpdate = true;
760
- }
761
- }
762
- if (!toUpdate) {
763
- return;
764
- }
765
- }
766
- else if (updates === "deleted") {
767
- yield this.removeAttribute("index", object[this._uuidField]);
768
- return;
769
- }
770
- else if (updates === "created") {
771
- updates = object;
772
- }
773
- let mapper = {};
774
- this.parameters.index.forEach(id => {
775
- mapper[id] = updates[id];
776
- });
777
- mapUpdates[object[this._uuidField]] = mapper;
778
- mapUpdates[this._lastUpdateField] = new Date();
779
- yield this._patch(mapUpdates, "index");
780
- });
781
- }
782
- /**
783
- * Handle all maps of an object
784
- *
785
- * @param object
786
- * @param updates to the object to be made
787
- * @returns
788
- */
789
- handleMap(object, updates) {
790
- return __awaiter(this, void 0, void 0, function* () {
791
- let promises = [];
792
- for (let prop in this.parameters.map) {
793
- // No mapped property or not in the object
794
- if (object[this.parameters.map[prop].key] === undefined && updates[this.parameters.map[prop].key] === undefined) {
795
- continue;
796
- }
797
- let store = this.getService(prop);
798
- promises.push(this._handleMapProperty(store, object, this.parameters.map[prop], updates));
799
- }
800
- return Promise.all(promises);
801
- });
802
- }
803
570
  /**
804
571
  * Cascade delete a related object
805
572
  *
@@ -810,7 +577,7 @@ class Store extends service_1.Service {
810
577
  cascadeDelete(obj, uuid) {
811
578
  return __awaiter(this, void 0, void 0, function* () {
812
579
  // We dont need uuid but Binary store will need it
813
- return this.delete(obj[this._uuidField]);
580
+ return this.delete(obj.getUuid());
814
581
  });
815
582
  }
816
583
  /**
@@ -843,6 +610,10 @@ class Store extends service_1.Service {
843
610
  if (to_delete === undefined) {
844
611
  return;
845
612
  }
613
+ if (to_delete.__type !== this._model.name && this.parameters.strict) {
614
+ this.log("WARN", `Object '${uid}' was not created by this store`);
615
+ return;
616
+ }
846
617
  to_delete = this.initModel(to_delete);
847
618
  }
848
619
  // Check condition as we have the object
@@ -857,20 +628,6 @@ class Store extends service_1.Service {
857
628
  store: this
858
629
  });
859
630
  yield to_delete._onDelete();
860
- // Handle map
861
- yield this.handleMap(to_delete, "deleted");
862
- // Handle index
863
- if (this.parameters.index && to_delete.getUuid() !== "index" && to_delete.getUuid()) {
864
- yield this.handleIndex(to_delete, "deleted");
865
- }
866
- // Should deactivate the mapping in that case
867
- var promises = [];
868
- for (let cascade of this._cascadeDeletes) {
869
- for (let item of to_delete[cascade.property]) {
870
- promises.push(cascade.mapper.cascadeDelete(item, to_delete.getUuid()));
871
- }
872
- }
873
- yield Promise.all(promises);
874
631
  // If async we just tag the object as deleted
875
632
  if (this.parameters.asyncDelete && !sync) {
876
633
  yield this._patch({
@@ -935,6 +692,10 @@ class Store extends service_1.Service {
935
692
  if (!object) {
936
693
  return undefined;
937
694
  }
695
+ if (object.__type !== this._model.name && this.parameters.strict) {
696
+ this.log("WARN", `Object '${uid}' was not created by this store`);
697
+ return undefined;
698
+ }
938
699
  object = this.initModel(object);
939
700
  object.setContext(ctx);
940
701
  yield this.emitSync("Store.Get", {
@@ -1102,6 +863,12 @@ class Store extends service_1.Service {
1102
863
  throw 400;
1103
864
  }
1104
865
  let updateObject = new this._model();
866
+ // Clean any default attributes from the model
867
+ Object.keys(updateObject)
868
+ .filter(i => i !== "__class")
869
+ .forEach(i => {
870
+ delete updateObject[i];
871
+ });
1105
872
  updateObject.setContext(ctx);
1106
873
  updateObject.load(body);
1107
874
  yield this.patch(updateObject);
@@ -1111,11 +878,11 @@ class Store extends service_1.Service {
1111
878
  let updateObject = new this._model();
1112
879
  updateObject.load(body);
1113
880
  // Copy back the _ attributes
1114
- for (let i in object) {
1115
- if (i.startsWith("_")) {
1116
- updateObject[i] = object[i];
1117
- }
1118
- }
881
+ Object.keys(object)
882
+ .filter(i => i.startsWith("_"))
883
+ .forEach(i => {
884
+ updateObject[i] = object[i];
885
+ });
1119
886
  try {
1120
887
  yield updateObject.validate(ctx);
1121
888
  }
@@ -1146,6 +913,11 @@ class Store extends service_1.Service {
1146
913
  let uuid = ctx.parameter("uuid");
1147
914
  if (uuid) {
1148
915
  let object = yield this.get(uuid, ctx);
916
+ yield this.emitSync("Store.WebGetNotFound", {
917
+ context: ctx,
918
+ uuid,
919
+ store: this
920
+ });
1149
921
  if (object === undefined || object.__deleted) {
1150
922
  throw 404;
1151
923
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,18 @@
1
1
  import { Store } from "../index";
2
2
  import { WebdaTest } from "../test";
3
+ import { CoreModel } from "../models/coremodel";
3
4
  declare abstract class StoreTest extends WebdaTest {
4
5
  abstract getIdentStore(): Store<any>;
5
6
  abstract getUserStore(): Store<any>;
7
+ /**
8
+ * By default no testing index
9
+ * @returns
10
+ */
11
+ getIndex(): Promise<CoreModel>;
12
+ /**
13
+ * Recreate index if needed
14
+ */
15
+ recreateIndex(): Promise<void>;
6
16
  before(): Promise<void>;
7
17
  getModelClass(): any;
8
18
  mapper(): Promise<void>;