@webda/core 1.5.1 → 1.6.0-beta.2

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 (152) hide show
  1. package/lib/application.d.ts +0 -7
  2. package/lib/application.js +33 -26
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +23 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +20 -2
  7. package/lib/core.js +74 -34
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +5 -5
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +12 -7
  12. package/lib/index.js +12 -7
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +63 -5
  15. package/lib/models/aclmodel.js +115 -12
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +65 -19
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +22 -6
  20. package/lib/models/coremodel.js +14 -6
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +0 -1
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/ident.d.ts +5 -0
  25. package/lib/models/ident.js +6 -0
  26. package/lib/models/ident.js.map +1 -1
  27. package/lib/models/ident.spec.js +3 -0
  28. package/lib/models/ident.spec.js.map +1 -1
  29. package/lib/models/ownermodel.js +1 -2
  30. package/lib/models/ownermodel.js.map +1 -1
  31. package/lib/models/user.d.ts +30 -0
  32. package/lib/models/user.js +34 -2
  33. package/lib/models/user.js.map +1 -1
  34. package/lib/models/user.spec.js +18 -0
  35. package/lib/models/user.spec.js.map +1 -1
  36. package/lib/queues/filequeue.js +3 -2
  37. package/lib/queues/filequeue.js.map +1 -1
  38. package/lib/queues/memoryqueue.spec.js +0 -1
  39. package/lib/queues/memoryqueue.spec.js.map +1 -1
  40. package/lib/queues/pubsubservice.d.ts +27 -0
  41. package/lib/queues/pubsubservice.js +21 -0
  42. package/lib/queues/pubsubservice.js.map +1 -0
  43. package/lib/queues/queueservice.d.ts +3 -16
  44. package/lib/queues/queueservice.js +2 -13
  45. package/lib/queues/queueservice.js.map +1 -1
  46. package/lib/router.js +1 -1
  47. package/lib/router.js.map +1 -1
  48. package/lib/router.spec.js +1 -1
  49. package/lib/router.spec.js.map +1 -1
  50. package/lib/services/authentication.d.ts +35 -1
  51. package/lib/services/authentication.js +61 -8
  52. package/lib/services/authentication.js.map +1 -1
  53. package/lib/services/authentication.spec.js +17 -1
  54. package/lib/services/authentication.spec.js.map +1 -1
  55. package/lib/services/binary.js +15 -10
  56. package/lib/services/binary.js.map +1 -1
  57. package/lib/services/binary.spec.d.ts +1 -1
  58. package/lib/services/configuration.d.ts +9 -0
  59. package/lib/services/configuration.js +27 -2
  60. package/lib/services/configuration.js.map +1 -1
  61. package/lib/services/configuration.spec.js +19 -2
  62. package/lib/services/configuration.spec.js.map +1 -1
  63. package/lib/services/cron.spec.js +2 -2
  64. package/lib/services/cron.spec.js.map +1 -1
  65. package/lib/services/debugmailer.d.ts +10 -3
  66. package/lib/services/debugmailer.js +18 -4
  67. package/lib/services/debugmailer.js.map +1 -1
  68. package/lib/services/debugmailer.spec.js +1 -0
  69. package/lib/services/debugmailer.spec.js.map +1 -1
  70. package/lib/services/filebinary.spec.js +0 -1
  71. package/lib/services/filebinary.spec.js.map +1 -1
  72. package/lib/services/fileconfiguration.d.ts +7 -1
  73. package/lib/services/fileconfiguration.js +9 -0
  74. package/lib/services/fileconfiguration.js.map +1 -1
  75. package/lib/services/fileconfiguration.spec.js +81 -2
  76. package/lib/services/fileconfiguration.spec.js.map +1 -1
  77. package/lib/services/invitationservice.d.ts +196 -0
  78. package/lib/services/invitationservice.js +441 -0
  79. package/lib/services/invitationservice.js.map +1 -0
  80. package/lib/services/invitationservice.spec.d.ts +1 -0
  81. package/lib/services/invitationservice.spec.js +516 -0
  82. package/lib/services/invitationservice.spec.js.map +1 -0
  83. package/lib/services/kubernetesconfiguration.d.ts +6 -0
  84. package/lib/services/kubernetesconfiguration.js +13 -0
  85. package/lib/services/kubernetesconfiguration.js.map +1 -1
  86. package/lib/services/kubernetesconfiguration.spec.js +31 -7
  87. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  88. package/lib/services/mailer.d.ts +93 -3
  89. package/lib/services/mailer.js +55 -11
  90. package/lib/services/mailer.js.map +1 -1
  91. package/lib/services/mailer.spec.js +30 -1
  92. package/lib/services/mailer.spec.js.map +1 -1
  93. package/lib/services/notificationservice.d.ts +74 -0
  94. package/lib/services/notificationservice.js +89 -0
  95. package/lib/services/notificationservice.js.map +1 -0
  96. package/lib/services/notificationservice.spec.d.ts +1 -0
  97. package/lib/services/notificationservice.spec.js +104 -0
  98. package/lib/services/notificationservice.spec.js.map +1 -0
  99. package/lib/services/oauth.spec.js +7 -10
  100. package/lib/services/oauth.spec.js.map +1 -1
  101. package/lib/services/service.d.ts +20 -4
  102. package/lib/services/service.js +35 -5
  103. package/lib/services/service.js.map +1 -1
  104. package/lib/services/service.spec.js +26 -0
  105. package/lib/services/service.spec.js.map +1 -1
  106. package/lib/stores/aggregator.d.ts +43 -0
  107. package/lib/stores/aggregator.js +106 -0
  108. package/lib/stores/aggregator.js.map +1 -0
  109. package/lib/stores/file.d.ts +1 -1
  110. package/lib/stores/file.js +5 -5
  111. package/lib/stores/file.js.map +1 -1
  112. package/lib/stores/file.spec.d.ts +3 -1
  113. package/lib/stores/file.spec.js +48 -19
  114. package/lib/stores/file.spec.js.map +1 -1
  115. package/lib/stores/mapper.d.ts +151 -0
  116. package/lib/stores/mapper.js +320 -0
  117. package/lib/stores/mapper.js.map +1 -0
  118. package/lib/stores/mapper.spec.d.ts +1 -0
  119. package/lib/stores/mapper.spec.js +174 -0
  120. package/lib/stores/mapper.spec.js.map +1 -0
  121. package/lib/stores/memory.js +0 -3
  122. package/lib/stores/memory.js.map +1 -1
  123. package/lib/stores/memory.spec.d.ts +3 -1
  124. package/lib/stores/memory.spec.js +12 -0
  125. package/lib/stores/memory.spec.js.map +1 -1
  126. package/lib/stores/store.d.ts +31 -110
  127. package/lib/stores/store.js +58 -286
  128. package/lib/stores/store.js.map +1 -1
  129. package/lib/stores/store.spec.d.ts +12 -0
  130. package/lib/stores/store.spec.js +116 -24
  131. package/lib/stores/store.spec.js.map +1 -1
  132. package/lib/test.d.ts +2 -1
  133. package/lib/test.js +21 -3
  134. package/lib/test.js.map +1 -1
  135. package/lib/utils/context.d.ts +12 -1
  136. package/lib/utils/context.js +21 -5
  137. package/lib/utils/context.js.map +1 -1
  138. package/lib/utils/context.spec.js +6 -1
  139. package/lib/utils/context.spec.js.map +1 -1
  140. package/lib/utils/cookie.d.ts +12 -0
  141. package/lib/utils/cookie.js +29 -19
  142. package/lib/utils/cookie.js.map +1 -1
  143. package/lib/utils/cookie.spec.js +0 -1
  144. package/lib/utils/cookie.spec.js.map +1 -1
  145. package/package.json +10 -8
  146. package/test/config-file-no-reload.json +70 -0
  147. package/test/config-file-reload.json +7 -1
  148. package/test/config-invitation.json +63 -0
  149. package/test/config-kube-reload.json +7 -1
  150. package/test/config.json +35 -23
  151. package/test/config.old-default.json +0 -16
  152. 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,16 @@ 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);
96
+ assert.rejects(() => identStore.simulateUpsertItemToCollection(undefined, "__proto__", undefined, new Date()), /Cannot update __proto__: js\/prototype-polluting-assignment/);
75
97
  });
76
98
  }
77
99
  configuration() {
@@ -175,31 +197,37 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
175
197
  });
176
198
  yield assert.rejects(executor.execute(ctx), err => err == 409);
177
199
  // Verify the none overide of UUID
178
- executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
200
+ yield this.execute(ctx, "test.webda.io", "PUT", "/users/PLOP", {
179
201
  type: "CRUD2",
180
202
  additional: "field",
181
203
  uuid: "PLOP2",
182
204
  user: "fake_user"
183
205
  });
184
- yield executor.execute(ctx);
185
206
  let user = yield userStore.get("PLOP");
186
207
  assert.strictEqual(user.uuid, "PLOP");
187
208
  assert.strictEqual(user.type, "CRUD2");
188
209
  assert.strictEqual(user.additional, "field");
189
210
  assert.strictEqual(user.user, "fake_user");
211
+ assert.strictEqual(user._user, "fake_user");
212
+ // Add a role to the user
213
+ user.addRole("plop");
214
+ yield user.save();
215
+ user = yield userStore.get("PLOP");
216
+ assert.deepStrictEqual(user.getRoles(), ["plop"]);
190
217
  ctx.resetResponse();
191
218
  // Check PATH
192
- executor = this.getExecutor(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
219
+ yield this.execute(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
193
220
  type: "CRUD3",
194
221
  uuid: "PLOP2",
195
222
  _testor: "_ should not be update by client"
196
223
  });
197
- yield executor.execute(ctx);
198
224
  user = yield userStore.get("PLOP");
199
225
  assert.strictEqual(user.uuid, "PLOP");
200
226
  assert.strictEqual(user.type, "CRUD3");
201
227
  assert.strictEqual(user.additional, "field");
202
228
  assert.strictEqual(user._testor, undefined);
229
+ assert.strictEqual(user._user, "fake_user");
230
+ assert.deepStrictEqual(user.getRoles(), ["plop"]);
203
231
  executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
204
232
  type: "CRUD3",
205
233
  uuid: "PLOP2",
@@ -211,6 +239,7 @@ let FileStoreTest = class FileStoreTest extends store_spec_1.StoreTest {
211
239
  assert.strictEqual(user.type, "CRUD3");
212
240
  assert.strictEqual(user.additional, undefined);
213
241
  assert.strictEqual(user._testor, undefined);
242
+ assert.deepStrictEqual(user.getRoles(), ["plop"]);
214
243
  yield this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP").execute(ctx);
215
244
  eventFired = 0;
216
245
  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,320 @@
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 = false;
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
+ // Linked object has not changed, check if map has changed and require updates
139
+ if (!found) {
140
+ // None of the mapped keys has been modified -> return
141
+ return;
142
+ }
143
+ return this._handleUpdatedMapMapper(source, target, mapper);
144
+ });
145
+ }
146
+ /**
147
+ * Update a mapper after source object was modified without change in target
148
+ *
149
+ * @param source
150
+ * @param target
151
+ * @param mapper
152
+ * @returns
153
+ */
154
+ _handleUpdatedMapMapper(source, target, mapper) {
155
+ // Remove old reference
156
+ let i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
157
+ // If not found just add it to the collection
158
+ if (i < 0) {
159
+ return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper);
160
+ }
161
+ // Else update with a check on the uuid
162
+ return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper, i, source.getUuid(), "uuid");
163
+ }
164
+ /**
165
+ * Remove the mapper for a deleted object
166
+ *
167
+ * @param source
168
+ * @param target
169
+ * @returns
170
+ */
171
+ _handleDeletedMap(source, target) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ // Remove from the collection
174
+ if (target[this.parameters.targetAttribute] === undefined) {
175
+ return;
176
+ }
177
+ let i = this.getMapper(target[this.parameters.targetAttribute], source.getUuid());
178
+ if (i >= 0) {
179
+ return this.targetStore.deleteItemFromCollection(target.getUuid(), this.parameters.targetAttribute, i, source.getUuid(), "uuid");
180
+ }
181
+ });
182
+ }
183
+ /**
184
+ * Add the mapper for a newly created object
185
+ *
186
+ * @param source
187
+ * @param target
188
+ * @returns
189
+ */
190
+ _handleCreatedMap(source, target) {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ // Add to the object
193
+ let [mapper] = this.createMapper(source, {});
194
+ return this.targetStore.upsertItemToCollection(target.getUuid(), this.parameters.targetAttribute, mapper);
195
+ });
196
+ }
197
+ /**
198
+ * Return true if property belongs to the mapped properties
199
+ *
200
+ * @param property
201
+ * @returns
202
+ */
203
+ isMapped(property) {
204
+ return this.parameters.fields.includes(property);
205
+ }
206
+ /**
207
+ * Handle the map from a partial update
208
+ *
209
+ * @param uid
210
+ * @param updateDate
211
+ * @param prop
212
+ */
213
+ _handleMapFromPartial(uid, updateDate, prop = undefined) {
214
+ return __awaiter(this, void 0, void 0, function* () {
215
+ if (this.isMapped(prop) || this.isMapped(this.sourceService.getLastUpdateField())) {
216
+ // Not optimal need to reload the object
217
+ let source = yield this.sourceService.getObject(uid);
218
+ let updates = {};
219
+ if (this.isMapped(this.sourceService.getLastUpdateField())) {
220
+ updates[this.sourceService.getLastUpdateField()] = updateDate;
221
+ }
222
+ if (this.isMapped(prop)) {
223
+ updates[prop] = source[prop];
224
+ }
225
+ yield this.handleMap(source, updates);
226
+ }
227
+ });
228
+ }
229
+ /**
230
+ * Manage one mapping update
231
+ *
232
+ * @param store
233
+ * @param object
234
+ * @param map
235
+ * @param updates
236
+ * @returns
237
+ */
238
+ handleMap(object, updates) {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ let attribute = object[this.parameters.attribute] || updates[this.parameters.attribute];
241
+ let mappeds = [];
242
+ let toDelete = [];
243
+ let toAdd = [];
244
+ let ids = [];
245
+ // Manage the update of linked object
246
+ if (typeof attribute === "string") {
247
+ if (updates[this.parameters.attribute] !== undefined && updates[this.parameters.attribute] !== attribute) {
248
+ toAdd.push(updates[this.parameters.attribute]);
249
+ toDelete.push(attribute);
250
+ }
251
+ else {
252
+ ids.push(attribute);
253
+ }
254
+ }
255
+ else {
256
+ if (Array.isArray(attribute)) {
257
+ ids = attribute;
258
+ if (typeof updates == "object" && updates[this.parameters.attribute]) {
259
+ let refs = updates[this.parameters.attribute];
260
+ toAdd = refs.filter(id => !attribute.includes(id));
261
+ toDelete = attribute.filter(id => !refs.includes(id));
262
+ }
263
+ }
264
+ else if (typeof attribute === "object") {
265
+ ids = Object.keys(attribute);
266
+ if (typeof updates == "object" && updates[this.parameters.attribute]) {
267
+ let refs = Object.keys(updates[this.parameters.attribute]);
268
+ toAdd = refs.filter(id => !ids.includes(id));
269
+ toDelete = ids.filter(id => !refs.includes(id));
270
+ }
271
+ }
272
+ }
273
+ mappeds = yield Promise.all([
274
+ ...ids.map(i => this.targetStore.get(i)),
275
+ ...toDelete.map(i => this.targetStore.get(i)),
276
+ ...toAdd.map(i => this.targetStore.get(i))
277
+ ]);
278
+ yield Promise.all(mappeds
279
+ .filter(a => a !== undefined)
280
+ .map(mapped => {
281
+ if (updates === "created" || toAdd.includes(mapped.getUuid())) {
282
+ return this._handleCreatedMap(object, mapped);
283
+ }
284
+ else if (updates == "deleted" || toDelete.includes(mapped.getUuid())) {
285
+ return this._handleDeletedMap(object, mapped);
286
+ }
287
+ else if (typeof updates == "object") {
288
+ return this._handleUpdatedMap(object, mapped, updates);
289
+ }
290
+ }));
291
+ });
292
+ }
293
+ /**
294
+ * Recompute the whole mappers
295
+ */
296
+ recompute() {
297
+ return __awaiter(this, void 0, void 0, function* () { });
298
+ }
299
+ /**
300
+ * Override
301
+ */
302
+ static getModda() {
303
+ return {
304
+ uuid: "Webda/Mapper",
305
+ label: "Mapper",
306
+ description: "Deduplicate content between models",
307
+ documentation: "https://raw.githubusercontent.com/loopingz/webda/master/readmes/Store.md",
308
+ logo: "images/icons/filedb.png"
309
+ };
310
+ }
311
+ }
312
+ __decorate([
313
+ (0, service_1.Inject)("params:target")
314
+ ], MapperService.prototype, "targetStore", void 0);
315
+ __decorate([
316
+ (0, service_1.Inject)("params:source")
317
+ ], MapperService.prototype, "sourceService", void 0);
318
+ exports.default = MapperService;
319
+ exports.MapperService = MapperService;
320
+ //# 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 {};