@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.
- package/lib/application.d.ts +7 -1
- package/lib/application.js.map +1 -1
- package/lib/core.d.ts +9 -0
- package/lib/core.js +44 -1
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +5 -4
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +5 -4
- package/lib/index.js +5 -4
- package/lib/index.js.map +1 -1
- package/lib/models/coremodel.d.ts +102 -11
- package/lib/models/coremodel.js +226 -31
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +21 -4
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ident.d.ts +2 -6
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/relations.d.ts +10 -14
- package/lib/models/relations.js +6 -2
- package/lib/models/relations.js.map +1 -1
- package/lib/models/relations.spec.d.ts +11 -0
- package/lib/models/relations.spec.js +115 -0
- package/lib/models/relations.spec.js.map +1 -0
- package/lib/models/user.d.ts +2 -2
- package/lib/models/user.js.map +1 -1
- package/lib/services/asyncevents.d.ts +4 -3
- package/lib/services/asyncevents.js +17 -4
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/authentication.js +1 -1
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/binary.d.ts +26 -2
- package/lib/services/binary.js +160 -63
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.js +3 -1
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +0 -18
- package/lib/services/cloudbinary.js +0 -94
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.js +18 -11
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/domainservice.d.ts +2 -1
- package/lib/services/domainservice.js +13 -22
- package/lib/services/domainservice.js.map +1 -1
- package/lib/services/filebinary.js +1 -1
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +1 -0
- package/lib/services/filebinary.spec.js +24 -2
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/invitationservice.spec.js +3 -1
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/service.d.ts +0 -5
- package/lib/services/service.js +3 -34
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +2 -2
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/aliasstore.js +5 -1
- package/lib/stores/aliasstore.js.map +1 -1
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.spec.js +1 -1
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +1 -0
- package/lib/stores/memory.spec.js +28 -1
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/modelmapper.d.ts +21 -0
- package/lib/stores/modelmapper.js +127 -0
- package/lib/stores/modelmapper.js.map +1 -0
- package/lib/stores/store.d.ts +27 -9
- package/lib/stores/store.js +132 -78
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.js +2 -2
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/test.js +1 -1
- package/lib/test.js.map +1 -1
- package/lib/utils/case.d.ts +7 -0
- package/lib/utils/case.js +43 -0
- package/lib/utils/case.js.map +1 -0
- package/lib/utils/case.spec.d.ts +1 -0
- package/lib/utils/case.spec.js +50 -0
- package/lib/utils/case.spec.js.map +1 -0
- package/lib/utils/context.d.ts +3 -2
- package/lib/utils/context.js +6 -2
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/cookie.spec.js +2 -2
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +9 -0
- package/lib/utils/esm.js +9 -0
- package/lib/utils/esm.js.map +1 -1
- package/lib/utils/logger.spec.js +5 -2
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +8 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +6 -0
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.spec.js +1 -1
- package/lib/utils/session.spec.js.map +1 -1
- package/lib/utils/throttler.d.ts +22 -2
- package/lib/utils/throttler.js +35 -3
- package/lib/utils/throttler.js.map +1 -1
- package/lib/utils/throttler.spec.js +10 -2
- package/lib/utils/throttler.spec.js.map +1 -1
- package/package.json +10 -10
- package/webda.module.json +60 -26
package/lib/stores/store.js
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
405
|
+
object = this._model.factory(object);
|
|
395
406
|
}
|
|
396
407
|
}
|
|
397
408
|
else {
|
|
398
|
-
object = this._model.factory(
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
|
540
|
-
const res = [];
|
|
553
|
+
async *iterate(query = "", context) {
|
|
541
554
|
if (query.includes("OFFSET")) {
|
|
542
|
-
throw new Error("Cannot contain an OFFSET for
|
|
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
|
-
|
|
722
|
-
|
|
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
|
-
|
|
764
|
+
// Handle object auto listener
|
|
765
|
+
const evt = {
|
|
729
766
|
object: object,
|
|
730
767
|
store: this,
|
|
731
768
|
context: ctx
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
|
|
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
|
-
|
|
779
|
+
const evtSaved = {
|
|
740
780
|
object: object,
|
|
741
781
|
store: this,
|
|
742
782
|
context: ctx
|
|
743
|
-
}
|
|
744
|
-
await
|
|
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
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
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
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
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
|
-
|
|
1137
|
-
await this.emitSync("Store.Delete", {
|
|
1171
|
+
const evt = {
|
|
1138
1172
|
object: to_delete,
|
|
1139
1173
|
store: this
|
|
1140
|
-
}
|
|
1141
|
-
|
|
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
|
-
|
|
1198
|
+
const evtDeleted = {
|
|
1160
1199
|
object: to_delete,
|
|
1161
1200
|
store: this
|
|
1162
|
-
}
|
|
1163
|
-
await
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/lib/stores/store.js.map
CHANGED
|
@@ -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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"}
|