@webda/core 1.5.0 → 1.6.0-beta.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.
- package/lib/application.d.ts +0 -7
- package/lib/application.js +20 -18
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +32 -11
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +20 -2
- package/lib/core.js +73 -32
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +7 -7
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +40 -1
- package/lib/models/aclmodel.js +55 -0
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +17 -5
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +22 -6
- package/lib/models/coremodel.js +15 -7
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +6 -7
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ownermodel.spec.js +11 -11
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +2 -0
- package/lib/models/user.js +4 -2
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +9 -2
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.js +6 -5
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +3 -3
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +27 -0
- package/lib/queues/pubsubservice.js +21 -0
- package/lib/queues/pubsubservice.js.map +1 -0
- package/lib/queues/queueservice.d.ts +3 -16
- package/lib/queues/queueservice.js +2 -13
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/services/authentication.js +11 -6
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +14 -7
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.js +11 -6
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +6 -6
- package/lib/services/binary.spec.js +22 -21
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +9 -0
- package/lib/services/configuration.js +27 -2
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +19 -2
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.spec.js +2 -2
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/filebinary.js +9 -12
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.js +1 -1
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +7 -1
- package/lib/services/fileconfiguration.js +9 -0
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +83 -4
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +6 -0
- package/lib/services/kubernetesconfiguration.js +13 -0
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +40 -16
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +51 -2
- package/lib/services/mailer.js +24 -9
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +1 -1
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/oauth.js +1 -1
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/service.d.ts +10 -0
- package/lib/services/service.js +35 -5
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +28 -5
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +43 -0
- package/lib/stores/aggregator.js +106 -0
- package/lib/stores/aggregator.js.map +1 -0
- package/lib/stores/file.d.ts +1 -1
- package/lib/stores/file.js +5 -5
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +3 -1
- package/lib/stores/file.spec.js +48 -20
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +151 -0
- package/lib/stores/mapper.js +294 -0
- package/lib/stores/mapper.js.map +1 -0
- package/lib/{policies/aclpolicy.spec.d.ts → stores/mapper.spec.d.ts} +0 -0
- package/lib/stores/mapper.spec.js +55 -0
- package/lib/stores/mapper.spec.js.map +1 -0
- package/lib/stores/memory.js +0 -3
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +3 -1
- package/lib/stores/memory.spec.js +12 -0
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +31 -110
- package/lib/stores/store.js +51 -281
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +12 -0
- package/lib/stores/store.spec.js +116 -24
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/utils/context.d.ts +10 -0
- package/lib/utils/context.js +15 -3
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +5 -0
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +12 -0
- package/lib/utils/cookie.js +13 -1
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +13 -13
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/serializers.js +4 -4
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +11 -11
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/waiter.js +1 -1
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +6 -6
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +11 -9
- package/test/config-file-no-reload.json +70 -0
- package/test/config-file-reload.json +7 -1
- package/test/config-kube-reload.json +7 -1
- package/test/config.json +35 -23
- package/test/config.old-default.json +0 -16
- package/test/config.old.json +0 -16
- package/lib/policies/aclpolicy.d.ts +0 -16
- package/lib/policies/aclpolicy.js +0 -72
- package/lib/policies/aclpolicy.js.map +0 -1
- package/lib/policies/aclpolicy.spec.js +0 -104
- package/lib/policies/aclpolicy.spec.js.map +0 -1
- package/lib/policies/ownerpolicy.d.ts +0 -25
- package/lib/policies/ownerpolicy.js +0 -80
- package/lib/policies/ownerpolicy.js.map +0 -1
- package/lib/policies/ownerpolicy.spec.d.ts +0 -1
- package/lib/policies/ownerpolicy.spec.js +0 -199
- package/lib/policies/ownerpolicy.spec.js.map +0 -1
- package/lib/policies/rolepolicy.d.ts +0 -10
- package/lib/policies/rolepolicy.js +0 -47
- package/lib/policies/rolepolicy.js.map +0 -1
- package/lib/policies/rolepolicy.spec.d.ts +0 -1
- package/lib/policies/rolepolicy.spec.js +0 -91
- package/lib/policies/rolepolicy.spec.js.map +0 -1
- package/lib/utils/json.d.ts +0 -8
- package/lib/utils/json.js +0 -74
- package/lib/utils/json.js.map +0 -1
- package/lib/utils/json.spec.d.ts +0 -1
- package/lib/utils/json.spec.js +0 -83
- package/lib/utils/json.spec.js.map +0 -1
package/lib/stores/store.js
CHANGED
|
@@ -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) {
|
|
@@ -20,7 +21,7 @@ class StoreNotFoundError extends core_1.WebdaError {
|
|
|
20
21
|
exports.StoreNotFoundError = StoreNotFoundError;
|
|
21
22
|
class UpdateConditionFailError extends core_1.WebdaError {
|
|
22
23
|
constructor(uuid, conditionField, condition) {
|
|
23
|
-
super("STORE_UPDATE_CONDITION_FAILED", `UpdateCondition not met on ${uuid}.${conditionField} === ${condition}`);
|
|
24
|
+
super("STORE_UPDATE_CONDITION_FAILED", `UpdateCondition not met on ${uuid}.${conditionField} === ${condition instanceof Date ? condition.toISOString() : condition}`);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
exports.UpdateConditionFailError = UpdateConditionFailError;
|
|
@@ -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
|
|
33
|
-
var _f;
|
|
33
|
+
var _a, _b;
|
|
34
34
|
super(params);
|
|
35
|
-
(_a = this.
|
|
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
|
-
(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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 =
|
|
133
|
-
this._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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
|
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
|
}
|
|
@@ -571,16 +499,18 @@ class Store extends service_1.Service {
|
|
|
571
499
|
}
|
|
572
500
|
}
|
|
573
501
|
let partialEvent = partial ? "Patch" : "";
|
|
574
|
-
if (Object.keys(object).length
|
|
502
|
+
if (Object.keys(object).length < 2) {
|
|
575
503
|
return {};
|
|
576
504
|
}
|
|
577
505
|
object[this._lastUpdateField] = new Date();
|
|
578
506
|
let load = yield this._get(object[this._uuidField], true);
|
|
507
|
+
if (load.__type !== this._model.name && this.parameters.strict) {
|
|
508
|
+
this.log("WARN", `Object '${object[this._uuidField]}' was not created by this store`);
|
|
509
|
+
throw new StoreNotFoundError(object[this._uuidField], this.getName());
|
|
510
|
+
}
|
|
579
511
|
loaded = this.initModel(load);
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
if (this.parameters.index && loaded[this._uuidField] !== "index" && loaded[this._uuidField]) {
|
|
583
|
-
yield this.handleIndex(loaded, object);
|
|
512
|
+
if (object instanceof coremodel_1.CoreModel) {
|
|
513
|
+
loaded.setContext(object.getContext());
|
|
584
514
|
}
|
|
585
515
|
yield this.emitSync(`Store.${partialEvent}Update`, {
|
|
586
516
|
object: loaded,
|
|
@@ -616,121 +546,6 @@ class Store extends service_1.Service {
|
|
|
616
546
|
return saved;
|
|
617
547
|
});
|
|
618
548
|
}
|
|
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
549
|
/**
|
|
735
550
|
* Remove an attribute from an object
|
|
736
551
|
*
|
|
@@ -749,57 +564,6 @@ class Store extends service_1.Service {
|
|
|
749
564
|
});
|
|
750
565
|
});
|
|
751
566
|
}
|
|
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
567
|
/**
|
|
804
568
|
* Cascade delete a related object
|
|
805
569
|
*
|
|
@@ -810,7 +574,7 @@ class Store extends service_1.Service {
|
|
|
810
574
|
cascadeDelete(obj, uuid) {
|
|
811
575
|
return __awaiter(this, void 0, void 0, function* () {
|
|
812
576
|
// We dont need uuid but Binary store will need it
|
|
813
|
-
return this.delete(obj
|
|
577
|
+
return this.delete(obj.getUuid());
|
|
814
578
|
});
|
|
815
579
|
}
|
|
816
580
|
/**
|
|
@@ -843,6 +607,10 @@ class Store extends service_1.Service {
|
|
|
843
607
|
if (to_delete === undefined) {
|
|
844
608
|
return;
|
|
845
609
|
}
|
|
610
|
+
if (to_delete.__type !== this._model.name && this.parameters.strict) {
|
|
611
|
+
this.log("WARN", `Object '${uid}' was not created by this store`);
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
846
614
|
to_delete = this.initModel(to_delete);
|
|
847
615
|
}
|
|
848
616
|
// Check condition as we have the object
|
|
@@ -857,20 +625,6 @@ class Store extends service_1.Service {
|
|
|
857
625
|
store: this
|
|
858
626
|
});
|
|
859
627
|
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
628
|
// If async we just tag the object as deleted
|
|
875
629
|
if (this.parameters.asyncDelete && !sync) {
|
|
876
630
|
yield this._patch({
|
|
@@ -935,6 +689,10 @@ class Store extends service_1.Service {
|
|
|
935
689
|
if (!object) {
|
|
936
690
|
return undefined;
|
|
937
691
|
}
|
|
692
|
+
if (object.__type !== this._model.name && this.parameters.strict) {
|
|
693
|
+
this.log("WARN", `Object '${uid}' was not created by this store`);
|
|
694
|
+
return undefined;
|
|
695
|
+
}
|
|
938
696
|
object = this.initModel(object);
|
|
939
697
|
object.setContext(ctx);
|
|
940
698
|
yield this.emitSync("Store.Get", {
|
|
@@ -1102,6 +860,13 @@ class Store extends service_1.Service {
|
|
|
1102
860
|
throw 400;
|
|
1103
861
|
}
|
|
1104
862
|
let updateObject = new this._model();
|
|
863
|
+
// Clean any default attributes from the model
|
|
864
|
+
for (let i in updateObject) {
|
|
865
|
+
if (i.startsWith("__")) {
|
|
866
|
+
continue;
|
|
867
|
+
}
|
|
868
|
+
delete updateObject[i];
|
|
869
|
+
}
|
|
1105
870
|
updateObject.setContext(ctx);
|
|
1106
871
|
updateObject.load(body);
|
|
1107
872
|
yield this.patch(updateObject);
|
|
@@ -1146,6 +911,11 @@ class Store extends service_1.Service {
|
|
|
1146
911
|
let uuid = ctx.parameter("uuid");
|
|
1147
912
|
if (uuid) {
|
|
1148
913
|
let object = yield this.get(uuid, ctx);
|
|
914
|
+
yield this.emitSync("Store.WebGetNotFound", {
|
|
915
|
+
context: ctx,
|
|
916
|
+
uuid,
|
|
917
|
+
store: this
|
|
918
|
+
});
|
|
1149
919
|
if (object === undefined || object.__deleted) {
|
|
1150
920
|
throw 404;
|
|
1151
921
|
}
|
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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"}
|
|
@@ -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>;
|
|
@@ -14,7 +24,9 @@ declare abstract class StoreTest extends WebdaTest {
|
|
|
14
24
|
incrementAttribute(): Promise<void>;
|
|
15
25
|
removeAttribute(): Promise<void>;
|
|
16
26
|
setAttribute(): Promise<void>;
|
|
27
|
+
deleteAsync(): Promise<void>;
|
|
17
28
|
delete(): Promise<void>;
|
|
29
|
+
deleteConcurrent(): Promise<void>;
|
|
18
30
|
update(): Promise<void>;
|
|
19
31
|
upsertItem(): Promise<void>;
|
|
20
32
|
find(): Promise<void>;
|