@webda/core 3.6.0 → 3.7.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.
Files changed (104) hide show
  1. package/lib/application.d.ts +7 -1
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +9 -0
  4. package/lib/core.js +44 -1
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +5 -4
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/index.d.ts +5 -4
  9. package/lib/index.js +5 -4
  10. package/lib/index.js.map +1 -1
  11. package/lib/models/coremodel.d.ts +102 -11
  12. package/lib/models/coremodel.js +226 -31
  13. package/lib/models/coremodel.js.map +1 -1
  14. package/lib/models/coremodel.spec.js +21 -4
  15. package/lib/models/coremodel.spec.js.map +1 -1
  16. package/lib/models/ident.d.ts +2 -6
  17. package/lib/models/ident.js.map +1 -1
  18. package/lib/models/ident.spec.js.map +1 -1
  19. package/lib/models/relations.d.ts +10 -14
  20. package/lib/models/relations.js +6 -2
  21. package/lib/models/relations.js.map +1 -1
  22. package/lib/models/relations.spec.d.ts +11 -0
  23. package/lib/models/relations.spec.js +115 -0
  24. package/lib/models/relations.spec.js.map +1 -0
  25. package/lib/models/user.d.ts +2 -2
  26. package/lib/models/user.js.map +1 -1
  27. package/lib/services/asyncevents.d.ts +4 -3
  28. package/lib/services/asyncevents.js +17 -4
  29. package/lib/services/asyncevents.js.map +1 -1
  30. package/lib/services/authentication.js +1 -1
  31. package/lib/services/authentication.js.map +1 -1
  32. package/lib/services/binary.d.ts +26 -2
  33. package/lib/services/binary.js +160 -63
  34. package/lib/services/binary.js.map +1 -1
  35. package/lib/services/binary.spec.js +3 -1
  36. package/lib/services/binary.spec.js.map +1 -1
  37. package/lib/services/cloudbinary.d.ts +0 -18
  38. package/lib/services/cloudbinary.js +0 -94
  39. package/lib/services/cloudbinary.js.map +1 -1
  40. package/lib/services/cloudbinary.spec.js +18 -11
  41. package/lib/services/cloudbinary.spec.js.map +1 -1
  42. package/lib/services/domainservice.d.ts +2 -1
  43. package/lib/services/domainservice.js +13 -22
  44. package/lib/services/domainservice.js.map +1 -1
  45. package/lib/services/filebinary.js +1 -1
  46. package/lib/services/filebinary.js.map +1 -1
  47. package/lib/services/filebinary.spec.d.ts +1 -0
  48. package/lib/services/filebinary.spec.js +24 -2
  49. package/lib/services/filebinary.spec.js.map +1 -1
  50. package/lib/services/invitationservice.spec.js +3 -1
  51. package/lib/services/invitationservice.spec.js.map +1 -1
  52. package/lib/services/service.d.ts +0 -5
  53. package/lib/services/service.js +3 -34
  54. package/lib/services/service.js.map +1 -1
  55. package/lib/services/service.spec.js +2 -2
  56. package/lib/services/service.spec.js.map +1 -1
  57. package/lib/stores/aliasstore.js +5 -1
  58. package/lib/stores/aliasstore.js.map +1 -1
  59. package/lib/stores/file.js.map +1 -1
  60. package/lib/stores/mapper.d.ts +4 -4
  61. package/lib/stores/mapper.spec.js +1 -1
  62. package/lib/stores/mapper.spec.js.map +1 -1
  63. package/lib/stores/memory.spec.d.ts +1 -0
  64. package/lib/stores/memory.spec.js +28 -1
  65. package/lib/stores/memory.spec.js.map +1 -1
  66. package/lib/stores/modelmapper.d.ts +21 -0
  67. package/lib/stores/modelmapper.js +127 -0
  68. package/lib/stores/modelmapper.js.map +1 -0
  69. package/lib/stores/store.d.ts +27 -9
  70. package/lib/stores/store.js +132 -78
  71. package/lib/stores/store.js.map +1 -1
  72. package/lib/stores/store.spec.js +2 -2
  73. package/lib/stores/store.spec.js.map +1 -1
  74. package/lib/test.js +1 -1
  75. package/lib/test.js.map +1 -1
  76. package/lib/utils/case.d.ts +7 -0
  77. package/lib/utils/case.js +43 -0
  78. package/lib/utils/case.js.map +1 -0
  79. package/lib/utils/case.spec.d.ts +1 -0
  80. package/lib/utils/case.spec.js +50 -0
  81. package/lib/utils/case.spec.js.map +1 -0
  82. package/lib/utils/context.d.ts +3 -2
  83. package/lib/utils/context.js +6 -2
  84. package/lib/utils/context.js.map +1 -1
  85. package/lib/utils/cookie.spec.js +2 -2
  86. package/lib/utils/cookie.spec.js.map +1 -1
  87. package/lib/utils/esm.d.ts +9 -0
  88. package/lib/utils/esm.js +9 -0
  89. package/lib/utils/esm.js.map +1 -1
  90. package/lib/utils/logger.spec.js +5 -2
  91. package/lib/utils/logger.spec.js.map +1 -1
  92. package/lib/utils/serializers.js +8 -1
  93. package/lib/utils/serializers.js.map +1 -1
  94. package/lib/utils/serializers.spec.js +6 -0
  95. package/lib/utils/serializers.spec.js.map +1 -1
  96. package/lib/utils/session.spec.js +1 -1
  97. package/lib/utils/session.spec.js.map +1 -1
  98. package/lib/utils/throttler.d.ts +22 -2
  99. package/lib/utils/throttler.js +35 -3
  100. package/lib/utils/throttler.js.map +1 -1
  101. package/lib/utils/throttler.spec.js +10 -2
  102. package/lib/utils/throttler.spec.js.map +1 -1
  103. package/package.json +10 -10
  104. package/webda.module.json +60 -26
@@ -57,6 +57,7 @@ export class StoreParameters extends ServiceParameters {
57
57
  this.forceModel ?? (this.forceModel = false);
58
58
  this.slowQueryThreshold ?? (this.slowQueryThreshold = 30000);
59
59
  this.modelAliases ?? (this.modelAliases = {});
60
+ this.additionalModels ?? (this.additionalModels = []);
60
61
  }
61
62
  }
62
63
  /**
@@ -139,6 +140,21 @@ class Store extends Service {
139
140
  if (!this.parameters.strict) {
140
141
  recursive(this._model.getHierarchy().children, 1);
141
142
  }
143
+ // Add additional models
144
+ if (this.parameters.additionalModels.length) {
145
+ // Strict mode is to only allow one model per store
146
+ if (this.parameters.strict) {
147
+ this.log("ERROR", "Cannot add additional models in strict mode");
148
+ }
149
+ else {
150
+ for (let modelType of this.parameters.additionalModels) {
151
+ const model = app.getModel(modelType);
152
+ this._modelsHierarchy[model.getIdentifier(false)] = 0;
153
+ this._modelsHierarchy[model.getIdentifier()] = 0;
154
+ recursive(model.getHierarchy().children, 1);
155
+ }
156
+ }
157
+ }
142
158
  if (this.getParameters().expose) {
143
159
  this.log("WARN", "Exposing a store is not recommended, use a DomainService instead to expose all your CoreModel");
144
160
  }
@@ -371,12 +387,7 @@ class Store extends Service {
371
387
  */
372
388
  initModel(object = {}) {
373
389
  var _a;
374
- if (object instanceof CoreModel) {
375
- object.__type ?? (object.__type = this.getWebda().getApplication().getModelFromInstance(object) || this._modelType);
376
- }
377
- else {
378
- object.__type ?? (object.__type = this._modelType);
379
- }
390
+ object.__type ?? (object.__type = this.getWebda().getApplication().getModelFromInstance(object) || this._modelType);
380
391
  // Make sure to send a model object
381
392
  if (!(object instanceof this._model)) {
382
393
  // Dynamic load type
@@ -391,11 +402,11 @@ class Store extends Service {
391
402
  if (!this.parameters.defaultModel) {
392
403
  throw new Error(`Unknown model ${object.__type} found for Store(${this.getName()})`);
393
404
  }
394
- object = this._model.factory(this._model, object);
405
+ object = this._model.factory(object);
395
406
  }
396
407
  }
397
408
  else {
398
- object = this._model.factory(this._model, object);
409
+ object = this._model.factory(object);
399
410
  }
400
411
  }
401
412
  if (!object.getUuid()) {
@@ -455,7 +466,7 @@ class Store extends Service {
455
466
  this.metrics.operations_total.inc({ operation: "increment" });
456
467
  await this._incrementAttributes(uid, params, updateDate);
457
468
  await this._cacheStore?._incrementAttributes(uid, params, updateDate);
458
- return this.emitSync("Store.PartialUpdated", {
469
+ this.emitSync("Store.PartialUpdated", {
459
470
  object_id: uid,
460
471
  store: this,
461
472
  updateDate,
@@ -463,6 +474,7 @@ class Store extends Service {
463
474
  increments: params
464
475
  }
465
476
  });
477
+ return updateDate;
466
478
  }
467
479
  /**
468
480
  * Helper function that call incrementAttributes
@@ -501,6 +513,7 @@ class Store extends Service {
501
513
  }
502
514
  }
503
515
  });
516
+ return updateDate;
504
517
  }
505
518
  /**
506
519
  * Remove an item from an array in the model
@@ -527,29 +540,48 @@ class Store extends Service {
527
540
  }
528
541
  }
529
542
  });
543
+ return updateDate;
530
544
  }
531
545
  /**
532
- * Get all results without pagination
546
+ * Iterate through the results
533
547
  *
534
548
  * This can be resource consuming
535
549
  *
536
550
  * @param query
537
551
  * @param context
538
552
  */
539
- async queryAll(query, context) {
540
- const res = [];
553
+ async *iterate(query = "", context) {
541
554
  if (query.includes("OFFSET")) {
542
- throw new Error("Cannot contain an OFFSET for queryAll method");
555
+ throw new Error("Cannot contain an OFFSET for iterate method");
543
556
  }
544
557
  let continuationToken;
545
558
  do {
546
559
  let q = query + (continuationToken !== undefined ? ` OFFSET "${continuationToken}"` : "");
547
560
  let page = await this.query(q, context);
561
+ for (let item of page.results) {
562
+ yield item;
563
+ }
548
564
  continuationToken = page.continuationToken;
549
- res.push(...page.results);
550
565
  } while (continuationToken);
566
+ }
567
+ // REFACTOR . >= 4
568
+ /**
569
+ * Query all the results
570
+ *
571
+ *
572
+ * @param query
573
+ * @param context
574
+ * @returns
575
+ * @deprecated use iterate instead
576
+ */
577
+ async queryAll(query, context) {
578
+ let res = [];
579
+ for await (let item of this.iterate(query, context)) {
580
+ res.push(item);
581
+ }
551
582
  return res;
552
583
  }
584
+ // END_REFACTOR
553
585
  /**
554
586
  * Check that __type Comparison is only used with = and CONTAINS
555
587
  * If CONTAINS is used, move __type to __types
@@ -718,30 +750,42 @@ class Store extends Service {
718
750
  async create(object, ctx = undefined) {
719
751
  object = this.initModel(object);
720
752
  // Dates should be store by the Store
721
- object._creationDate ?? (object._creationDate = new Date());
722
- object._lastUpdate = new Date();
753
+ if (!object._creationDate) {
754
+ object._creationDate = object._lastUpdate = new Date();
755
+ }
756
+ else {
757
+ object._lastUpdate = new Date();
758
+ }
723
759
  const ancestors = this.getWebda().getApplication().getModelHierarchy(object.__type).ancestors;
724
760
  object.__types = [object.__type, ...ancestors].filter(i => i !== "Webda/CoreModel" && i !== "CoreModel");
725
761
  if (ctx) {
726
762
  object.setContext(ctx);
727
763
  }
728
- await this.emitSync("Store.Save", {
764
+ // Handle object auto listener
765
+ const evt = {
729
766
  object: object,
730
767
  store: this,
731
768
  context: ctx
732
- });
733
- // Handle object auto listener
734
- await object._onSave();
769
+ };
770
+ await Promise.all([
771
+ this.emitSync("Store.Save", evt),
772
+ object?.__class.emitSync("Store.Save", evt),
773
+ object._onSave()
774
+ ]);
735
775
  this.metrics.operations_total.inc({ operation: "save" });
736
776
  let res = await this._save(object);
737
777
  await this._cacheStore?._save(object);
738
778
  object = this.initModel(res);
739
- await this.emitSync("Store.Saved", {
779
+ const evtSaved = {
740
780
  object: object,
741
781
  store: this,
742
782
  context: ctx
743
- });
744
- await object._onSaved();
783
+ };
784
+ await Promise.all([
785
+ this.emitSync("Store.Saved", evtSaved),
786
+ object?.__class.emitSync("Store.Saved", evtSaved),
787
+ object._onSaved()
788
+ ]);
745
789
  return object;
746
790
  }
747
791
  /**
@@ -872,21 +916,16 @@ class Store extends Service {
872
916
  if (object instanceof CoreModel) {
873
917
  loaded.setContext(object.getContext());
874
918
  }
875
- if (partial) {
876
- await this.emitSync(`Store.PatchUpdate`, {
877
- object: loaded,
878
- store: this,
879
- update: object
880
- });
881
- }
882
- else {
883
- await this.emitSync(`Store.Update`, {
884
- object: loaded,
885
- store: this,
886
- update: object
887
- });
888
- }
889
- await loaded._onUpdate(object);
919
+ const evt = {
920
+ object: loaded,
921
+ store: this,
922
+ update: object
923
+ };
924
+ await Promise.all([
925
+ this.emitSync(partial ? `Store.PatchUpdate` : `Store.Update`, evt),
926
+ object?.__class?.emitSync(partial ? `Store.PatchUpdate` : `Store.Update`, evt),
927
+ loaded._onUpdate(object)
928
+ ]);
890
929
  let res;
891
930
  if (conditionField !== null) {
892
931
  conditionField ?? (conditionField = "_lastUpdate");
@@ -916,19 +955,15 @@ class Store extends Service {
916
955
  loaded[i] = object[i];
917
956
  }
918
957
  saved = this.initModel(loaded);
919
- if (partial) {
920
- await this.emitSync(`Store.PatchUpdated`, {
921
- object: saved,
922
- store: this
923
- });
924
- }
925
- else {
926
- await this.emitSync(`Store.Updated`, {
927
- object: saved,
928
- store: this
929
- });
930
- }
931
- await saved._onUpdated();
958
+ const evtUpdated = {
959
+ object: saved,
960
+ store: this
961
+ };
962
+ await Promise.all([
963
+ this.emitSync(partial ? `Store.PatchUpdated` : `Store.Updated`, evtUpdated),
964
+ saved?.__class.emitSync(partial ? `Store.PatchUpdated` : `Store.Updated`, evtUpdated),
965
+ saved._onUpdated()
966
+ ]);
932
967
  return saved;
933
968
  }
934
969
  /**
@@ -1133,12 +1168,16 @@ class Store extends Service {
1133
1168
  throw new UpdateConditionFailError(to_delete.getUuid(), writeConditionField, writeCondition);
1134
1169
  }
1135
1170
  }
1136
- // Send preevent
1137
- await this.emitSync("Store.Delete", {
1171
+ const evt = {
1138
1172
  object: to_delete,
1139
1173
  store: this
1140
- });
1141
- await to_delete._onDelete();
1174
+ };
1175
+ // Send preevent
1176
+ await Promise.all([
1177
+ this.emitSync("Store.Delete", evt),
1178
+ to_delete?.__class.emitSync("Store.Delete", evt),
1179
+ to_delete._onDelete()
1180
+ ]);
1142
1181
  // If async we just tag the object as deleted
1143
1182
  if (this.parameters.asyncDelete && !sync) {
1144
1183
  this.metrics.operations_total.inc({ operation: "partialUpdate" });
@@ -1156,11 +1195,15 @@ class Store extends Service {
1156
1195
  await this._cacheStore?._delete(to_delete.getUuid(), writeCondition, writeConditionField);
1157
1196
  }
1158
1197
  // Send post event
1159
- await this.emitSync("Store.Deleted", {
1198
+ const evtDeleted = {
1160
1199
  object: to_delete,
1161
1200
  store: this
1162
- });
1163
- await to_delete._onDeleted();
1201
+ };
1202
+ await Promise.all([
1203
+ this.emitSync("Store.Deleted", evtDeleted),
1204
+ to_delete.__class.emitSync("Store.Deleted", evtDeleted),
1205
+ to_delete._onDeleted()
1206
+ ]);
1164
1207
  }
1165
1208
  /**
1166
1209
  * By default we cannot know if the store will trigger or not
@@ -1224,12 +1267,12 @@ class Store extends Service {
1224
1267
  }
1225
1268
  object = this.initModel(object);
1226
1269
  object.setContext(ctx);
1227
- await this.emitSync("Store.Get", {
1270
+ const evt = {
1228
1271
  object: object,
1229
1272
  store: this,
1230
1273
  context: ctx
1231
- });
1232
- await object._onGet();
1274
+ };
1275
+ await Promise.all([this.emitSync("Store.Get", evt), object.__class.emitSync("Store.Get", evt), object._onGet()]);
1233
1276
  return object;
1234
1277
  }
1235
1278
  /**
@@ -1328,7 +1371,7 @@ class Store extends Service {
1328
1371
  async operationCreate(ctx, model) {
1329
1372
  let body = await ctx.getInput();
1330
1373
  const modelPrototype = this.getWebda().getApplication().getModel(model);
1331
- let object = modelPrototype.factory(modelPrototype, body, ctx);
1374
+ let object = modelPrototype.factory(body, ctx);
1332
1375
  object._creationDate = new Date();
1333
1376
  await object.checkAct(ctx, "create");
1334
1377
  try {
@@ -1343,12 +1386,13 @@ class Store extends Service {
1343
1386
  }
1344
1387
  await this.save(object, ctx);
1345
1388
  ctx.write(object);
1346
- await this.emitSync("Store.WebCreate", {
1389
+ const evt = {
1347
1390
  context: ctx,
1348
1391
  values: body,
1349
1392
  object: object,
1350
1393
  store: this
1351
- });
1394
+ };
1395
+ await Promise.all([object.__class.emitSync("Store.WebCreate", evt), this.emitSync("Store.WebCreate", evt)]);
1352
1396
  }
1353
1397
  /**
1354
1398
  * Handle obect action
@@ -1361,23 +1405,28 @@ class Store extends Service {
1361
1405
  throw new WebdaError.NotFound("Object not found or is deleted");
1362
1406
  }
1363
1407
  await object.checkAct(ctx, action);
1364
- await this.emitSync("Store.Action", {
1408
+ const evt = {
1365
1409
  action: action,
1366
1410
  object: object,
1367
1411
  store: this,
1368
1412
  context: ctx
1369
- });
1413
+ };
1414
+ await Promise.all([this.emitSync("Store.Action", evt), object.__class.emitSync("Store.Action", evt)]);
1370
1415
  const res = await object[action](ctx);
1371
1416
  if (res) {
1372
1417
  ctx.write(res);
1373
1418
  }
1374
- await this.emitSync("Store.Actioned", {
1419
+ const evtActioned = {
1375
1420
  action: action,
1376
1421
  object: object,
1377
1422
  store: this,
1378
1423
  context: ctx,
1379
1424
  result: res
1380
- });
1425
+ };
1426
+ await Promise.all([
1427
+ this.emitSync("Store.Actioned", evtActioned),
1428
+ object?.__class.emitSync("Store.Actioned", evtActioned)
1429
+ ]);
1381
1430
  }
1382
1431
  /**
1383
1432
  * Handle collection action
@@ -1385,23 +1434,25 @@ class Store extends Service {
1385
1434
  */
1386
1435
  async httpGlobalAction(ctx, model = this._model) {
1387
1436
  let action = ctx.getHttpContext().getUrl().split("/").pop();
1388
- await this.emitSync("Store.Action", {
1437
+ const evt = {
1389
1438
  action: action,
1390
1439
  store: this,
1391
1440
  context: ctx,
1392
1441
  model
1393
- });
1442
+ };
1443
+ await Promise.all([this.emitSync("Store.Action", evt), model.emitSync("Store.Action", evt)]);
1394
1444
  const res = await model[action](ctx);
1395
1445
  if (res) {
1396
1446
  ctx.write(res);
1397
1447
  }
1398
- await this.emitSync("Store.Actioned", {
1448
+ const evtActioned = {
1399
1449
  action: action,
1400
1450
  store: this,
1401
1451
  context: ctx,
1402
1452
  result: res,
1403
1453
  model
1404
- });
1454
+ };
1455
+ await Promise.all([this.emitSync("Store.Actioned", evtActioned), model?.emitSync("Store.Actioned", evtActioned)]);
1405
1456
  }
1406
1457
  /**
1407
1458
  * Handle HTTP Update for an object
@@ -1457,13 +1508,14 @@ class Store extends Service {
1457
1508
  object = await this.update(updateObject);
1458
1509
  }
1459
1510
  ctx.write(object);
1460
- await this.emitSync("Store.WebUpdate", {
1511
+ const evt = {
1461
1512
  context: ctx,
1462
1513
  updates: body,
1463
1514
  object: object,
1464
1515
  store: this,
1465
1516
  method: ctx.getHttpContext().getMethod()
1466
- });
1517
+ };
1518
+ await Promise.all([object?.__class.emitSync("Store.WebUpdate", evt), this.emitSync("Store.WebUpdate", evt)]);
1467
1519
  }
1468
1520
  /**
1469
1521
  * Handle GET on object
@@ -1483,11 +1535,12 @@ class Store extends Service {
1483
1535
  }
1484
1536
  await object.checkAct(ctx, "get");
1485
1537
  ctx.write(object);
1486
- await this.emitSync("Store.WebGet", {
1538
+ const evt = {
1487
1539
  context: ctx,
1488
1540
  object: object,
1489
1541
  store: this
1490
- });
1542
+ };
1543
+ await Promise.all([this.emitSync("Store.WebGet", evt), object.__class.emitSync("Store.WebGet", evt)]);
1491
1544
  ctx.write(object);
1492
1545
  }
1493
1546
  /**
@@ -1507,11 +1560,12 @@ class Store extends Service {
1507
1560
  // Might still run into: Have trouble to handle the Content-Length on API Gateway so returning an empty object for now
1508
1561
  ctx.writeHead(204, { "Content-Length": "0" });
1509
1562
  await this.delete(uuid);
1510
- await this.emitSync("Store.WebDelete", {
1563
+ const evt = {
1511
1564
  context: ctx,
1512
1565
  object_id: uuid,
1513
1566
  store: this
1514
- });
1567
+ };
1568
+ await Promise.all([this.emitSync("Store.WebDelete", evt), object.__class.emitSync("Store.WebDelete", evt)]);
1515
1569
  }
1516
1570
  /**
1517
1571
  * Return the model uuid field
@@ -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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"}