@webda/core 1.5.2 → 1.6.0-beta.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 (96) hide show
  1. package/lib/application.js +4 -2
  2. package/lib/application.js.map +1 -1
  3. package/lib/application.spec.js +1 -1
  4. package/lib/application.spec.js.map +1 -1
  5. package/lib/core.d.ts +17 -2
  6. package/lib/core.js +72 -32
  7. package/lib/core.js.map +1 -1
  8. package/lib/core.spec.js +3 -3
  9. package/lib/index.d.ts +3 -0
  10. package/lib/index.js +3 -0
  11. package/lib/index.js.map +1 -1
  12. package/lib/models/aclmodel.d.ts +40 -1
  13. package/lib/models/aclmodel.js +55 -0
  14. package/lib/models/aclmodel.js.map +1 -1
  15. package/lib/models/aclmodel.spec.js +17 -5
  16. package/lib/models/aclmodel.spec.js.map +1 -1
  17. package/lib/models/coremodel.d.ts +22 -6
  18. package/lib/models/coremodel.js +14 -6
  19. package/lib/models/coremodel.js.map +1 -1
  20. package/lib/models/coremodel.spec.js +0 -1
  21. package/lib/models/coremodel.spec.js.map +1 -1
  22. package/lib/models/user.d.ts +2 -0
  23. package/lib/models/user.js +4 -2
  24. package/lib/models/user.js.map +1 -1
  25. package/lib/models/user.spec.js +7 -0
  26. package/lib/models/user.spec.js.map +1 -1
  27. package/lib/queues/pubsubservice.d.ts +27 -0
  28. package/lib/queues/pubsubservice.js +21 -0
  29. package/lib/queues/pubsubservice.js.map +1 -0
  30. package/lib/queues/queueservice.d.ts +3 -16
  31. package/lib/queues/queueservice.js +2 -13
  32. package/lib/queues/queueservice.js.map +1 -1
  33. package/lib/services/authentication.js +3 -1
  34. package/lib/services/authentication.js.map +1 -1
  35. package/lib/services/binary.js +11 -6
  36. package/lib/services/binary.js.map +1 -1
  37. package/lib/services/binary.spec.d.ts +1 -1
  38. package/lib/services/configuration.d.ts +9 -0
  39. package/lib/services/configuration.js +27 -2
  40. package/lib/services/configuration.js.map +1 -1
  41. package/lib/services/configuration.spec.js +19 -2
  42. package/lib/services/configuration.spec.js.map +1 -1
  43. package/lib/services/fileconfiguration.d.ts +7 -1
  44. package/lib/services/fileconfiguration.js +9 -0
  45. package/lib/services/fileconfiguration.js.map +1 -1
  46. package/lib/services/fileconfiguration.spec.js +81 -2
  47. package/lib/services/fileconfiguration.spec.js.map +1 -1
  48. package/lib/services/kubernetesconfiguration.d.ts +6 -0
  49. package/lib/services/kubernetesconfiguration.js +13 -0
  50. package/lib/services/kubernetesconfiguration.js.map +1 -1
  51. package/lib/services/kubernetesconfiguration.spec.js +31 -7
  52. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  53. package/lib/services/mailer.d.ts +4 -0
  54. package/lib/services/mailer.js +9 -5
  55. package/lib/services/mailer.js.map +1 -1
  56. package/lib/services/service.d.ts +10 -0
  57. package/lib/services/service.js +35 -5
  58. package/lib/services/service.js.map +1 -1
  59. package/lib/services/service.spec.js +23 -0
  60. package/lib/services/service.spec.js.map +1 -1
  61. package/lib/stores/aggregator.d.ts +43 -0
  62. package/lib/stores/aggregator.js +106 -0
  63. package/lib/stores/aggregator.js.map +1 -0
  64. package/lib/stores/file.d.ts +1 -1
  65. package/lib/stores/file.js +5 -5
  66. package/lib/stores/file.js.map +1 -1
  67. package/lib/stores/file.spec.d.ts +3 -1
  68. package/lib/stores/file.spec.js +43 -15
  69. package/lib/stores/file.spec.js.map +1 -1
  70. package/lib/stores/mapper.d.ts +151 -0
  71. package/lib/stores/mapper.js +294 -0
  72. package/lib/stores/mapper.js.map +1 -0
  73. package/lib/stores/mapper.spec.d.ts +1 -0
  74. package/lib/stores/mapper.spec.js +55 -0
  75. package/lib/stores/mapper.spec.js.map +1 -0
  76. package/lib/stores/memory.js +0 -3
  77. package/lib/stores/memory.js.map +1 -1
  78. package/lib/stores/memory.spec.d.ts +3 -1
  79. package/lib/stores/memory.spec.js +12 -0
  80. package/lib/stores/memory.spec.js.map +1 -1
  81. package/lib/stores/store.d.ts +30 -109
  82. package/lib/stores/store.js +50 -280
  83. package/lib/stores/store.js.map +1 -1
  84. package/lib/stores/store.spec.d.ts +10 -0
  85. package/lib/stores/store.spec.js +41 -14
  86. package/lib/stores/store.spec.js.map +1 -1
  87. package/lib/utils/cookie.d.ts +12 -0
  88. package/lib/utils/cookie.js +12 -0
  89. package/lib/utils/cookie.js.map +1 -1
  90. package/package.json +9 -8
  91. package/test/config-file-no-reload.json +70 -0
  92. package/test/config-file-reload.json +7 -1
  93. package/test/config-kube-reload.json +7 -1
  94. package/test/config.json +35 -23
  95. package/test/config.old-default.json +0 -16
  96. package/test/config.old.json +0 -16
@@ -38,9 +38,44 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
38
38
  });
39
39
  return store;
40
40
  }
41
+ getIndex() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ return this.getService("memoryaggregators").get("idents-index");
44
+ });
45
+ }
46
+ recreateIndex() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ let store = this.getService("memoryaggregators");
49
+ yield store.__clean();
50
+ yield this.getService("identsindexer").createAggregate();
51
+ });
52
+ }
41
53
  cov() {
42
54
  return __awaiter(this, void 0, void 0, function* () {
43
55
  let identStore = this.getService("idents");
56
+ let userStore = this.getService("users");
57
+ let user = yield userStore.save({});
58
+ let ident = yield identStore.save({
59
+ _user: user.getUuid()
60
+ });
61
+ let res = yield identStore.get(user.getUuid());
62
+ assert.strictEqual(res, undefined);
63
+ const stub = sinon.stub(identStore, "_get").callsFake(() => __awaiter(this, void 0, void 0, function* () { return user; }));
64
+ try {
65
+ res = yield identStore.get(user.getUuid());
66
+ assert.strictEqual(res, undefined);
67
+ yield assert.rejects(() => identStore.update({
68
+ uuid: user.getUuid(),
69
+ plop: true
70
+ }), store_1.StoreNotFoundError);
71
+ yield user.refresh();
72
+ assert.strictEqual(user.plop, undefined);
73
+ yield identStore.delete(user.getUuid());
74
+ }
75
+ finally {
76
+ stub.restore();
77
+ }
78
+ yield identStore._find(undefined, undefined, undefined);
44
79
  // Shoud return directly
45
80
  yield identStore.incrementAttribute("test", "test", 0);
46
81
  (0, fs_extra_1.removeSync)(identStore.getParameters().folder);
@@ -49,29 +84,15 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
49
84
  // Should recreate folder
50
85
  identStore.computeParameters();
51
86
  (0, fs_1.existsSync)(identStore.getParameters().folder);
52
- let ident = new identStore._model();
87
+ ident = new identStore._model();
53
88
  identStore.initModel(ident);
54
89
  assert.notStrictEqual(ident.getUuid(), undefined);
55
90
  // Test guard-rails (seems hardly reachable so might be useless)
56
- assert.strictEqual(identStore.getMapper([], "id"), -1);
57
- assert.strictEqual(
58
- // @ts-ignore
59
- yield identStore._handleUpdatedMap(ident, { key: "none", fields: [] }, undefined, undefined, {}), undefined);
60
- assert.strictEqual(
61
- // @ts-ignore
62
- yield identStore._handleDeletedMap(undefined, { target: "plop", fields: [] }, {}, undefined), undefined);
63
- assert.strictEqual(yield identStore.handleIndex(undefined, { plop: true }), undefined);
64
91
  assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), store_1.UpdateConditionFailError);
65
92
  // @ts-ignore
66
93
  ident.plops = [];
67
94
  assert.throws(() => identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 1, null), store_1.UpdateConditionFailError);
68
95
  identStore.checkCollectionUpdateCondition(ident, "plops", undefined, 0, null);
69
- // COV _handleUpdatedMapMapper case where the item collection were modified without webda control
70
- // @ts-ignore - we cheat with a ident also mapping as user
71
- ident.idents = [];
72
- let stb = sinon.stub(identStore, "upsertItemToCollection").callsFake(() => __awaiter(this, void 0, void 0, function* () { }));
73
- yield identStore._handleUpdatedMapMapper(ident, identStore.getParameters().map["Users"], ident, identStore, "plop");
74
- assert.strictEqual(stb.getCall(0).args.length, 3);
75
96
  });
76
97
  }
77
98
  configuration() {
@@ -187,6 +208,11 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
187
208
  assert.strictEqual(user.type, "CRUD2");
188
209
  assert.strictEqual(user.additional, "field");
189
210
  assert.strictEqual(user.user, "fake_user");
211
+ // Add a role to the user
212
+ user.addRole("plop");
213
+ yield user.save();
214
+ user = yield userStore.get("PLOP");
215
+ assert.deepStrictEqual(user.getRoles(), ["plop"]);
190
216
  ctx.resetResponse();
191
217
  // Check PATH
192
218
  executor = this.getExecutor(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
@@ -200,6 +226,7 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
200
226
  assert.strictEqual(user.type, "CRUD3");
201
227
  assert.strictEqual(user.additional, "field");
202
228
  assert.strictEqual(user._testor, undefined);
229
+ assert.deepStrictEqual(user.getRoles(), ["plop"]);
203
230
  executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
204
231
  type: "CRUD3",
205
232
  uuid: "PLOP2",
@@ -211,6 +238,7 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
211
238
  assert.strictEqual(user.type, "CRUD3");
212
239
  assert.strictEqual(user.additional, undefined);
213
240
  assert.strictEqual(user._testor, undefined);
241
+ assert.deepStrictEqual(user.getRoles(), ["plop"]);
214
242
  yield this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP").execute(ctx);
215
243
  eventFired = 0;
216
244
  executor = this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP");
@@ -1 +1 @@
1
- {"version":3,"file":"file.spec.js","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.spec.js","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { ModdaDefinition } from "../core";
2
+ import { CoreModel } from "../models/coremodel";
3
+ import { Service, ServiceParameters } from "../services/service";
4
+ import { Store } from "./store";
5
+ export declare type MapUpdates = "created" | "deleted" | {
6
+ [key: string]: any;
7
+ };
8
+ export interface Mapper {
9
+ uuid: string;
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * Mapper configuration
14
+ */
15
+ export declare class MapperParameters extends ServiceParameters {
16
+ /**
17
+ * Field to duplicate
18
+ */
19
+ fields: string[];
20
+ /**
21
+ * Source service
22
+ */
23
+ source: string;
24
+ /**
25
+ * Target store
26
+ */
27
+ target: string;
28
+ /**
29
+ * Async
30
+ *
31
+ * @default false
32
+ */
33
+ async: boolean;
34
+ /**
35
+ * Attribute to use for link
36
+ *
37
+ * Depending on the type
38
+ * - string[]: will consider each string as id
39
+ * - string: will be consider as id
40
+ * - Object: each keys will be consider as id
41
+ */
42
+ attribute: string;
43
+ /**
44
+ * The object will contain a Mapper
45
+ */
46
+ targetAttribute: string;
47
+ /**
48
+ * Delete source if target object is deleted
49
+ */
50
+ cascade: boolean;
51
+ constructor(params: any);
52
+ }
53
+ /**
54
+ * Map object to another object
55
+ */
56
+ export default class MapperService<T extends MapperParameters = MapperParameters> extends Service<T> {
57
+ targetStore: Store;
58
+ sourceService: Store;
59
+ /**
60
+ * @override
61
+ */
62
+ loadParameters(params: any): MapperParameters;
63
+ /**
64
+ * @override
65
+ */
66
+ resolve(): void;
67
+ /**
68
+ * Get index of the mapper for an object
69
+ * @param map
70
+ * @param uuid
71
+ * @returns
72
+ */
73
+ getMapper(map: any[], uuid: string): number;
74
+ /**
75
+ * Create an object mapper
76
+ *
77
+ * @param map map to create mapper for
78
+ * @param object for the mapper to represent
79
+ * @param updates to the object being made
80
+ * @returns mapper object and found = true if updates will impact the mapper
81
+ */
82
+ createMapper(object: CoreModel, updates: any): [mapper: Mapper, found: boolean];
83
+ /**
84
+ * Update a mapper after source object was modified
85
+ *
86
+ * @param source
87
+ * @param target
88
+ * @param mapper
89
+ * @returns
90
+ */
91
+ _handleUpdatedMap(source: CoreModel, target: CoreModel, updates: any): Promise<void>;
92
+ /**
93
+ * Update a mapper after source object was modified without change in target
94
+ *
95
+ * @param source
96
+ * @param target
97
+ * @param mapper
98
+ * @returns
99
+ */
100
+ _handleUpdatedMapMapper(source: CoreModel, target: CoreModel, mapper: Mapper): Promise<void>;
101
+ /**
102
+ * Remove the mapper for a deleted object
103
+ *
104
+ * @param source
105
+ * @param target
106
+ * @returns
107
+ */
108
+ _handleDeletedMap(source: CoreModel, target: CoreModel): Promise<void>;
109
+ /**
110
+ * Add the mapper for a newly created object
111
+ *
112
+ * @param source
113
+ * @param target
114
+ * @returns
115
+ */
116
+ _handleCreatedMap(source: CoreModel, target: CoreModel): Promise<void>;
117
+ /**
118
+ * Return true if property belongs to the mapped properties
119
+ *
120
+ * @param property
121
+ * @returns
122
+ */
123
+ isMapped(property: string): boolean;
124
+ /**
125
+ * Handle the map from a partial update
126
+ *
127
+ * @param uid
128
+ * @param updateDate
129
+ * @param prop
130
+ */
131
+ _handleMapFromPartial(uid: string, updateDate: Date, prop?: string): Promise<void>;
132
+ /**
133
+ * Manage one mapping update
134
+ *
135
+ * @param store
136
+ * @param object
137
+ * @param map
138
+ * @param updates
139
+ * @returns
140
+ */
141
+ handleMap(object: CoreModel, updates: MapUpdates): Promise<void>;
142
+ /**
143
+ * Recompute the whole mappers
144
+ */
145
+ recompute(): Promise<void>;
146
+ /**
147
+ * Override
148
+ */
149
+ static getModda(): ModdaDefinition;
150
+ }
151
+ export { MapperService };
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MapperService = exports.MapperParameters = void 0;
19
+ const service_1 = require("../services/service");
20
+ /**
21
+ * Mapper configuration
22
+ */
23
+ class MapperParameters extends service_1.ServiceParameters {
24
+ constructor(params) {
25
+ var _a, _b;
26
+ super(params);
27
+ if (typeof params.fields === "string") {
28
+ this.fields = params.fields.split(",");
29
+ }
30
+ (_a = this.cascade) !== null && _a !== void 0 ? _a : (this.cascade = false);
31
+ (_b = this.fields) !== null && _b !== void 0 ? _b : (this.fields = []);
32
+ }
33
+ }
34
+ exports.MapperParameters = MapperParameters;
35
+ /**
36
+ * Map object to another object
37
+ */
38
+ class MapperService extends service_1.Service {
39
+ /**
40
+ * @override
41
+ */
42
+ loadParameters(params) {
43
+ return new MapperParameters(params);
44
+ }
45
+ /**
46
+ * @override
47
+ */
48
+ resolve() {
49
+ super.resolve();
50
+ this.targetStore.addReverseMap(this.parameters.targetAttribute, this.sourceService);
51
+ const method = this.parameters.async ? "onAsync" : "on";
52
+ this.sourceService[method]("Store.PartialUpdated", (evt) => __awaiter(this, void 0, void 0, function* () {
53
+ let prop;
54
+ if (evt.partial_update.increment) {
55
+ prop = evt.partial_update.increment.property;
56
+ }
57
+ else if (evt.partial_update.addItem) {
58
+ prop = evt.partial_update.addItem.property;
59
+ }
60
+ else if (evt.partial_update.deleteItem) {
61
+ prop = evt.partial_update.deleteItem.property;
62
+ }
63
+ yield this._handleMapFromPartial(evt.object_id, evt.updateDate, prop);
64
+ }));
65
+ this.sourceService[method]("Store.Saved", (evt) => __awaiter(this, void 0, void 0, function* () {
66
+ yield this.handleMap(evt.object, "created");
67
+ }));
68
+ this.sourceService[method]("Store.Update", (evt) => __awaiter(this, void 0, void 0, function* () {
69
+ yield this.handleMap(evt.object, evt.update);
70
+ }));
71
+ this.sourceService[method]("Store.PatchUpdate", (evt) => __awaiter(this, void 0, void 0, function* () {
72
+ yield this.handleMap(evt.object, evt.update);
73
+ }));
74
+ this.sourceService[method]("Store.Delete", (evt) => __awaiter(this, void 0, void 0, function* () {
75
+ yield this.handleMap(evt.object, "deleted");
76
+ }));
77
+ // Cascade delete when target is destroyed
78
+ if (this.parameters.cascade) {
79
+ this.targetStore[method]("Store.Deleted", (evt) => __awaiter(this, void 0, void 0, function* () {
80
+ let maps = evt.object[this.parameters.targetAttribute];
81
+ if (!maps) {
82
+ return;
83
+ }
84
+ yield Promise.all(maps.map(mapper => this.sourceService.cascadeDelete(mapper, evt.object.getUuid())));
85
+ }));
86
+ }
87
+ }
88
+ /**
89
+ * Get index of the mapper for an object
90
+ * @param map
91
+ * @param uuid
92
+ * @returns
93
+ */
94
+ getMapper(map, uuid) {
95
+ for (var i = 0; i < map.length; i++) {
96
+ if (map[i].uuid === uuid) {
97
+ return i;
98
+ }
99
+ }
100
+ return -1;
101
+ }
102
+ /**
103
+ * Create an object mapper
104
+ *
105
+ * @param map map to create mapper for
106
+ * @param object for the mapper to represent
107
+ * @param updates to the object being made
108
+ * @returns mapper object and found = true if updates will impact the mapper
109
+ */
110
+ createMapper(object, updates) {
111
+ var mapper = {
112
+ uuid: object.getUuid()
113
+ };
114
+ let found = Object.keys(updates).includes(this.parameters.targetAttribute);
115
+ for (let mapperfield of this.parameters.fields) {
116
+ // Create the mapper object
117
+ if (updates[mapperfield] !== undefined) {
118
+ mapper[mapperfield] = updates[mapperfield];
119
+ found = true;
120
+ }
121
+ else if (object[mapperfield] !== undefined) {
122
+ mapper[mapperfield] = object[mapperfield];
123
+ }
124
+ }
125
+ return [mapper, found];
126
+ }
127
+ /**
128
+ * Update a mapper after source object was modified
129
+ *
130
+ * @param source
131
+ * @param target
132
+ * @param mapper
133
+ * @returns
134
+ */
135
+ _handleUpdatedMap(source, target, updates) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ let [mapper, found] = this.createMapper(source, updates);
138
+ if (!found) {
139
+ // None of the mapped keys has been modified -> return
140
+ return;
141
+ }
142
+ // check if reference object has changed
143
+ if (updates[this.parameters.attribute] !== undefined &&
144
+ target.getUuid() !== updates[this.targetStore.getUuidField()]) {
145
+ let i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
146
+ if (i >= 0) {
147
+ // Remove the data from old object
148
+ yield this.targetStore.deleteItemFromCollection(target.getUuid(), this.parameters.targetAttribute, i, source.getUuid(), "uuid");
149
+ }
150
+ // Add the data to new object
151
+ yield this.targetStore.upsertItemToCollection(updates[this.parameters.attribute], this.parameters.targetAttribute, mapper);
152
+ }
153
+ else {
154
+ return this._handleUpdatedMapMapper(source, target, mapper);
155
+ }
156
+ });
157
+ }
158
+ /**
159
+ * Update a mapper after source object was modified without change in target
160
+ *
161
+ * @param source
162
+ * @param target
163
+ * @param mapper
164
+ * @returns
165
+ */
166
+ _handleUpdatedMapMapper(source, target, mapper) {
167
+ // Remove old reference
168
+ let i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
169
+ // If not found just add it to the collection
170
+ if (i < 0) {
171
+ return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper);
172
+ }
173
+ // Else update with a check on the uuid
174
+ return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper, i, source.getUuid(), "uuid");
175
+ }
176
+ /**
177
+ * Remove the mapper for a deleted object
178
+ *
179
+ * @param source
180
+ * @param target
181
+ * @returns
182
+ */
183
+ _handleDeletedMap(source, target) {
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ // Remove from the collection
186
+ if (target[this.parameters.targetAttribute] === undefined) {
187
+ return;
188
+ }
189
+ let i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
190
+ if (i >= 0) {
191
+ return this.targetStore.deleteItemFromCollection(target.getUuid(), this.parameters.targetAttribute, i, source.getUuid(), "uuid");
192
+ }
193
+ });
194
+ }
195
+ /**
196
+ * Add the mapper for a newly created object
197
+ *
198
+ * @param source
199
+ * @param target
200
+ * @returns
201
+ */
202
+ _handleCreatedMap(source, target) {
203
+ return __awaiter(this, void 0, void 0, function* () {
204
+ // Add to the object
205
+ let [mapper] = this.createMapper(source, {});
206
+ return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper);
207
+ });
208
+ }
209
+ /**
210
+ * Return true if property belongs to the mapped properties
211
+ *
212
+ * @param property
213
+ * @returns
214
+ */
215
+ isMapped(property) {
216
+ return this.parameters.fields.includes(property);
217
+ }
218
+ /**
219
+ * Handle the map from a partial update
220
+ *
221
+ * @param uid
222
+ * @param updateDate
223
+ * @param prop
224
+ */
225
+ _handleMapFromPartial(uid, updateDate, prop = undefined) {
226
+ return __awaiter(this, void 0, void 0, function* () {
227
+ if (this.isMapped(prop) || this.isMapped(this.sourceService.getLastUpdateField())) {
228
+ // Not optimal need to reload the object
229
+ let source = yield this.sourceService.getObject(uid);
230
+ let updates = {};
231
+ if (this.isMapped(this.sourceService.getLastUpdateField())) {
232
+ updates[this.sourceService.getLastUpdateField()] = updateDate;
233
+ }
234
+ if (this.isMapped(prop)) {
235
+ updates[prop] = source[prop];
236
+ }
237
+ yield this.handleMap(source, updates);
238
+ }
239
+ });
240
+ }
241
+ /**
242
+ * Manage one mapping update
243
+ *
244
+ * @param store
245
+ * @param object
246
+ * @param map
247
+ * @param updates
248
+ * @returns
249
+ */
250
+ handleMap(object, updates) {
251
+ return __awaiter(this, void 0, void 0, function* () {
252
+ let mapped = yield this.targetStore.get(object[this.parameters.attribute] || updates[this.parameters.attribute]);
253
+ if (mapped === undefined) {
254
+ return;
255
+ }
256
+ if (updates === "created") {
257
+ return this._handleCreatedMap(object, mapped);
258
+ }
259
+ else if (updates == "deleted") {
260
+ return this._handleDeletedMap(object, mapped);
261
+ }
262
+ else if (typeof updates == "object") {
263
+ return this._handleUpdatedMap(object, mapped, updates);
264
+ }
265
+ });
266
+ }
267
+ /**
268
+ * Recompute the whole mappers
269
+ */
270
+ recompute() {
271
+ return __awaiter(this, void 0, void 0, function* () { });
272
+ }
273
+ /**
274
+ * Override
275
+ */
276
+ static getModda() {
277
+ return {
278
+ uuid: "Webda/Mapper",
279
+ label: "Mapper",
280
+ description: "Deduplicate content between models",
281
+ documentation: "https://raw.githubusercontent.com/loopingz/webda/master/readmes/Store.md",
282
+ logo: "images/icons/filedb.png"
283
+ };
284
+ }
285
+ }
286
+ __decorate([
287
+ (0, service_1.Inject)("params:target")
288
+ ], MapperService.prototype, "targetStore", void 0);
289
+ __decorate([
290
+ (0, service_1.Inject)("params:source")
291
+ ], MapperService.prototype, "sourceService", void 0);
292
+ exports.default = MapperService;
293
+ exports.MapperService = MapperService;
294
+ //# sourceMappingURL=mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../src/stores/mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};