@nmshd/transport 1.0.7 → 1.1.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 (76) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/core/DependencyOverrides.d.ts +4 -0
  3. package/dist/core/DependencyOverrides.js +3 -0
  4. package/dist/core/DependencyOverrides.js.map +1 -0
  5. package/dist/core/Transport.d.ts +2 -3
  6. package/dist/core/Transport.js +26 -23
  7. package/dist/core/Transport.js.map +1 -1
  8. package/dist/core/TransportErrors.d.ts +4 -0
  9. package/dist/core/TransportErrors.js +12 -0
  10. package/dist/core/TransportErrors.js.map +1 -1
  11. package/dist/core/backbone/BackboneIds.d.ts +0 -1
  12. package/dist/core/backbone/BackboneIds.js +0 -1
  13. package/dist/core/backbone/BackboneIds.js.map +1 -1
  14. package/dist/core/backbone/RESTClient.js +1 -1
  15. package/dist/core/backbone/RESTClient.js.map +1 -1
  16. package/dist/core/backbone/index.d.ts +1 -0
  17. package/dist/core/backbone/index.js +1 -0
  18. package/dist/core/backbone/index.js.map +1 -1
  19. package/dist/core/index.d.ts +1 -0
  20. package/dist/core/index.js +1 -0
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/modules/accounts/AccountController.d.ts +3 -2
  23. package/dist/modules/accounts/AccountController.js +9 -11
  24. package/dist/modules/accounts/AccountController.js.map +1 -1
  25. package/dist/modules/accounts/IdentityController.d.ts +3 -7
  26. package/dist/modules/accounts/IdentityController.js +1 -15
  27. package/dist/modules/accounts/IdentityController.js.map +1 -1
  28. package/dist/modules/accounts/data/Identity.d.ts +0 -15
  29. package/dist/modules/accounts/data/Identity.js +0 -21
  30. package/dist/modules/accounts/data/Identity.js.map +1 -1
  31. package/dist/modules/devices/DeviceController.d.ts +5 -1
  32. package/dist/modules/devices/DeviceController.js +9 -4
  33. package/dist/modules/devices/DeviceController.js.map +1 -1
  34. package/dist/modules/devices/local/Device.d.ts +2 -0
  35. package/dist/modules/devices/local/Device.js +7 -1
  36. package/dist/modules/devices/local/Device.js.map +1 -1
  37. package/dist/modules/index.d.ts +8 -0
  38. package/dist/modules/index.js +8 -0
  39. package/dist/modules/index.js.map +1 -1
  40. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +2 -2
  41. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -1
  42. package/dist/modules/sync/DatawalletModificationMapper.d.ts +1 -1
  43. package/dist/modules/sync/DatawalletModificationMapper.js +6 -3
  44. package/dist/modules/sync/DatawalletModificationMapper.js.map +1 -1
  45. package/dist/modules/sync/SyncController.d.ts +17 -4
  46. package/dist/modules/sync/SyncController.js +154 -24
  47. package/dist/modules/sync/SyncController.js.map +1 -1
  48. package/dist/modules/sync/SynchronizedCollection.d.ts +2 -1
  49. package/dist/modules/sync/SynchronizedCollection.js +18 -9
  50. package/dist/modules/sync/SynchronizedCollection.js.map +1 -1
  51. package/dist/modules/sync/backbone/BackboneDatawalletModification.d.ts +1 -0
  52. package/dist/modules/sync/backbone/CreateDatawalletModifications.d.ts +1 -0
  53. package/dist/modules/sync/backbone/FinalizeSyncRun.d.ts +15 -9
  54. package/dist/modules/sync/backbone/GetDatawallet.d.ts +3 -0
  55. package/dist/modules/sync/backbone/GetDatawallet.js +3 -0
  56. package/dist/modules/sync/backbone/GetDatawallet.js.map +1 -0
  57. package/dist/modules/sync/backbone/StartSyncRun.d.ts +8 -0
  58. package/dist/modules/sync/backbone/StartSyncRun.js +6 -1
  59. package/dist/modules/sync/backbone/StartSyncRun.js.map +1 -1
  60. package/dist/modules/sync/backbone/SyncClient.d.ts +21 -6
  61. package/dist/modules/sync/backbone/SyncClient.js +19 -6
  62. package/dist/modules/sync/backbone/SyncClient.js.map +1 -1
  63. package/dist/modules/sync/local/DatawalletModification.d.ts +2 -0
  64. package/dist/modules/sync/local/DatawalletModification.js +5 -0
  65. package/dist/modules/sync/local/DatawalletModification.js.map +1 -1
  66. package/dist/modules/sync/migrations/DeviceMigrations.d.ts +6 -0
  67. package/dist/modules/sync/migrations/DeviceMigrations.js +24 -0
  68. package/dist/modules/sync/migrations/DeviceMigrations.js.map +1 -0
  69. package/dist/modules/sync/migrations/IdentityMigrations.d.ts +6 -0
  70. package/dist/modules/sync/migrations/IdentityMigrations.js +14 -0
  71. package/dist/modules/sync/migrations/IdentityMigrations.js.map +1 -0
  72. package/lib-web/nmshd.transport.js +827 -431
  73. package/lib-web/nmshd.transport.js.map +1 -1
  74. package/lib-web/nmshd.transport.min.js +1 -1
  75. package/lib-web/nmshd.transport.min.js.map +1 -1
  76. package/package.json +29 -29
@@ -9,15 +9,26 @@ const DatawalletModificationMapper_1 = require("./DatawalletModificationMapper")
9
9
  const DatawalletModificationsProcessor_1 = require("./DatawalletModificationsProcessor");
10
10
  const ExternalEventsProcessor_1 = require("./ExternalEventsProcessor");
11
11
  const DatawalletModification_1 = require("./local/DatawalletModification");
12
+ const DeviceMigrations_1 = require("./migrations/DeviceMigrations");
13
+ const IdentityMigrations_1 = require("./migrations/IdentityMigrations");
12
14
  class SyncController extends core_1.TransportController {
13
- constructor(parent, unpushedDatawalletModifications, datawalletEnabled) {
15
+ constructor(parent, dependencyOverrides, unpushedDatawalletModifications, datawalletEnabled) {
16
+ var _a;
14
17
  super(core_1.ControllerName.Sync, parent);
15
18
  this.unpushedDatawalletModifications = unpushedDatawalletModifications;
16
19
  this.datawalletEnabled = datawalletEnabled;
20
+ this.client = (_a = dependencyOverrides.syncClient) !== null && _a !== void 0 ? _a : new SyncClient_1.SyncClient(this.config, this.parent.authenticator);
21
+ this.identityMigrations = new IdentityMigrations_1.IdentityMigrations(this.parent);
22
+ this.deviceMigrations = new DeviceMigrations_1.DeviceMigrations(this.parent);
23
+ }
24
+ get cacheFetcher() {
25
+ if (!this._cacheFetcher) {
26
+ this._cacheFetcher = new DatawalletModificationsProcessor_1.CacheFetcher(this.parent.files, this.parent.messages, this.parent.relationshipTemplates, this.parent.relationships, this.parent.tokens);
27
+ }
28
+ return this._cacheFetcher;
17
29
  }
18
30
  async init() {
19
31
  await super.init();
20
- this.client = new SyncClient_1.SyncClient(this.config, this.parent.authenticator);
21
32
  this.syncInfo = await this.db.getMap("SyncInfo");
22
33
  return this;
23
34
  }
@@ -46,33 +57,120 @@ class SyncController extends core_1.TransportController {
46
57
  if (whatToSync === "OnlyDatawallet") {
47
58
  return await this.syncDatawallet();
48
59
  }
49
- const syncRunWasStarted = await this.startSyncRun();
50
- if (!syncRunWasStarted) {
51
- await this.syncDatawallet();
52
- await this.setLastCompletedSyncTime();
53
- return new ChangedItems_1.ChangedItems();
54
- }
55
- await this.applyIncomingDatawalletModifications();
56
- const result = await this.applyIncomingExternalEvents();
57
- await this.finalizeSyncRun(result.results);
60
+ const externalEventSyncResult = await this.syncExternalEvents();
58
61
  await this.setLastCompletedSyncTime();
59
- if (result.results.some((r) => r.errorCode !== undefined)) {
60
- throw new core_1.CoreError("error.transport.errorWhileApplyingExternalEvents", result.results
62
+ if (externalEventSyncResult.externalEventResults.some((r) => r.errorCode !== undefined)) {
63
+ throw new core_1.CoreError("error.transport.errorWhileApplyingExternalEvents", externalEventSyncResult.externalEventResults
61
64
  .filter((r) => r.errorCode !== undefined)
62
65
  .map((r) => r.errorCode)
63
66
  .join(" | ")).logWith(this.log);
64
67
  }
65
- return result.changedItems;
68
+ return externalEventSyncResult.changedItems;
69
+ }
70
+ async syncExternalEvents() {
71
+ const syncRunWasStarted = await this.startExternalEventsSyncRun();
72
+ if (!syncRunWasStarted) {
73
+ await this.syncDatawallet();
74
+ return {
75
+ changedItems: new ChangedItems_1.ChangedItems(),
76
+ externalEventResults: []
77
+ };
78
+ }
79
+ await this.applyIncomingDatawalletModifications();
80
+ const result = await this.applyIncomingExternalEvents();
81
+ await this.finalizeExternalEventsSyncRun(result.externalEventResults);
82
+ return result;
66
83
  }
67
84
  async syncDatawallet() {
68
85
  if (!this.datawalletEnabled) {
69
86
  return;
70
87
  }
88
+ const identityDatawalletVersion = await this.getIdentityDatawalletVersion();
89
+ if (this.config.supportedDatawalletVersion < identityDatawalletVersion) {
90
+ // This means that the datawallet of the identity was upgraded by another device with a higher version.
91
+ // It is necesssary to update the current device.
92
+ throw core_1.TransportErrors.datawallet
93
+ .insufficientSupportedDatawalletVersion(this.config.supportedDatawalletVersion, identityDatawalletVersion)
94
+ .logWith(this.log);
95
+ }
71
96
  this.log.trace("Synchronization of Datawallet events started...");
72
- await this.applyIncomingDatawalletModifications();
73
- await this.pushLocalDatawalletModifications();
74
- await this.setLastCompletedDatawalletSyncTime();
97
+ try {
98
+ await this.applyIncomingDatawalletModifications();
99
+ await this.pushLocalDatawalletModifications();
100
+ await this.setLastCompletedDatawalletSyncTime();
101
+ }
102
+ catch (e) {
103
+ const outdatedErrorCode = "error.platform.validation.datawallet.insufficientSupportedDatawalletVersion";
104
+ if (!(e instanceof core_1.RequestError) || e.code !== outdatedErrorCode)
105
+ throw e;
106
+ throw core_1.TransportErrors.datawallet
107
+ .insufficientSupportedDatawalletVersion(this.config.supportedDatawalletVersion, identityDatawalletVersion)
108
+ .logWith(this.log);
109
+ }
75
110
  this.log.trace("Synchronization of Datawallet events ended...");
111
+ await this.checkDatawalletVersion(identityDatawalletVersion);
112
+ }
113
+ async checkDatawalletVersion(identityDatawalletVersion) {
114
+ var _a;
115
+ if (this.config.supportedDatawalletVersion < identityDatawalletVersion) {
116
+ throw core_1.TransportErrors.datawallet
117
+ .insufficientSupportedDatawalletVersion(this.config.supportedDatawalletVersion, identityDatawalletVersion)
118
+ .logWith(this.log);
119
+ }
120
+ if (this.config.supportedDatawalletVersion > identityDatawalletVersion) {
121
+ await this.upgradeIdentityDatawalletVersion(identityDatawalletVersion, this.config.supportedDatawalletVersion);
122
+ }
123
+ const deviceDatawalletVersion = (_a = this.parent.activeDevice.device.datawalletVersion) !== null && _a !== void 0 ? _a : 0;
124
+ if (deviceDatawalletVersion < identityDatawalletVersion) {
125
+ await this.upgradeDeviceDatawalletVersion(deviceDatawalletVersion, this.config.supportedDatawalletVersion);
126
+ }
127
+ }
128
+ async upgradeIdentityDatawalletVersion(identityDatawalletVersion, targetDatawalletVersion) {
129
+ if (identityDatawalletVersion === targetDatawalletVersion)
130
+ return;
131
+ if (this.config.supportedDatawalletVersion < targetDatawalletVersion) {
132
+ throw core_1.TransportErrors.datawallet
133
+ .insufficientSupportedDatawalletVersion(targetDatawalletVersion, identityDatawalletVersion)
134
+ .logWith(this.log);
135
+ }
136
+ if (identityDatawalletVersion > targetDatawalletVersion) {
137
+ throw core_1.TransportErrors.datawallet
138
+ .currentBiggerThanTarget(identityDatawalletVersion, targetDatawalletVersion)
139
+ .logWith(this.log);
140
+ }
141
+ while (identityDatawalletVersion < targetDatawalletVersion) {
142
+ identityDatawalletVersion++;
143
+ await this.startDatawalletVersionUpgradeSyncRun();
144
+ const migrationFunction = this.identityMigrations[`v${identityDatawalletVersion}`];
145
+ if (!migrationFunction) {
146
+ throw core_1.TransportErrors.datawallet.noMigrationAvailable(identityDatawalletVersion).logWith(this.log);
147
+ }
148
+ await migrationFunction.call(this.identityMigrations);
149
+ await this.finalizeDatawalletVersionUpgradeSyncRun(identityDatawalletVersion);
150
+ }
151
+ }
152
+ async upgradeDeviceDatawalletVersion(deviceDatawalletVersion, targetDatawalletVersion) {
153
+ if (deviceDatawalletVersion === targetDatawalletVersion)
154
+ return;
155
+ if (this.config.supportedDatawalletVersion < targetDatawalletVersion) {
156
+ throw core_1.TransportErrors.datawallet
157
+ .insufficientSupportedDatawalletVersion(targetDatawalletVersion, deviceDatawalletVersion)
158
+ .logWith(this.log);
159
+ }
160
+ if (deviceDatawalletVersion > targetDatawalletVersion) {
161
+ throw core_1.TransportErrors.datawallet
162
+ .currentBiggerThanTarget(deviceDatawalletVersion, targetDatawalletVersion)
163
+ .logWith(this.log);
164
+ }
165
+ while (deviceDatawalletVersion < targetDatawalletVersion) {
166
+ deviceDatawalletVersion++;
167
+ const migrationFunction = this.deviceMigrations[`v${deviceDatawalletVersion}`];
168
+ if (!migrationFunction) {
169
+ throw core_1.TransportErrors.datawallet.noMigrationAvailable(deviceDatawalletVersion).logWith(this.log);
170
+ }
171
+ await migrationFunction.call(this.deviceMigrations);
172
+ await this.parent.activeDevice.update({ datawalletVersion: deviceDatawalletVersion });
173
+ }
76
174
  }
77
175
  async applyIncomingDatawalletModifications() {
78
176
  const getDatawalletModificationsResult = await this.client.getDatawalletModifications({
@@ -84,7 +182,7 @@ class SyncController extends core_1.TransportController {
84
182
  }
85
183
  const incomingModifications = await this.decryptDatawalletModifications(encryptedIncomingModifications);
86
184
  this.log.trace(`${incomingModifications.length} incoming modifications found`);
87
- const datawalletModificationsProcessor = new DatawalletModificationsProcessor_1.DatawalletModificationsProcessor(incomingModifications, new DatawalletModificationsProcessor_1.CacheFetcher(this.parent.files, this.parent.messages, this.parent.relationshipTemplates, this.parent.relationships, this.parent.tokens), this._db, core_1.TransportLoggerFactory.getLogger(DatawalletModificationsProcessor_1.DatawalletModificationsProcessor));
185
+ const datawalletModificationsProcessor = new DatawalletModificationsProcessor_1.DatawalletModificationsProcessor(incomingModifications, this.cacheFetcher, this._db, core_1.TransportLoggerFactory.getLogger(DatawalletModificationsProcessor_1.DatawalletModificationsProcessor));
88
186
  await datawalletModificationsProcessor.execute();
89
187
  this.log.trace(`${incomingModifications.length} incoming modifications executed`, incomingModifications);
90
188
  await this.updateLocalDatawalletModificationIndex(encryptedIncomingModifications.sort(descending)[0].index);
@@ -93,7 +191,7 @@ class SyncController extends core_1.TransportController {
93
191
  const decryptedModifications = [];
94
192
  for (const encryptedModification of encryptedModifications) {
95
193
  const decryptedPayload = await this.parent.activeDevice.secrets.decryptDatawalletModificationPayload(encryptedModification.encryptedPayload, encryptedModification.index);
96
- const decryptedModification = await DatawalletModificationMapper_1.DatawalletModificationMapper.fromBackboneDatawalletModification(encryptedModification, decryptedPayload);
194
+ const decryptedModification = await DatawalletModificationMapper_1.DatawalletModificationMapper.fromBackboneDatawalletModification(encryptedModification, decryptedPayload, this.config.supportedDatawalletVersion);
97
195
  decryptedModifications.push(decryptedModification);
98
196
  }
99
197
  return decryptedModifications;
@@ -132,15 +230,29 @@ class SyncController extends core_1.TransportController {
132
230
  await this.unpushedDatawalletModifications.delete({ localId: localModificationId.toString() });
133
231
  }
134
232
  }
135
- async startSyncRun() {
233
+ async setInititalDatawalletVersion(version) {
234
+ await this.startDatawalletVersionUpgradeSyncRun();
235
+ await this.finalizeDatawalletVersionUpgradeSyncRun(version);
236
+ }
237
+ async getIdentityDatawalletVersion() {
238
+ const datawalletInfo = (await this.client.getDatawallet()).value;
239
+ return datawalletInfo.version;
240
+ }
241
+ async startExternalEventsSyncRun() {
136
242
  var _a;
137
- const result = await this.client.startSyncRun();
243
+ const result = await this.client.startSyncRun({ type: StartSyncRun_1.SyncRunType.ExternalEventSync });
138
244
  if (result.value.status === StartSyncRun_1.StartSyncRunStatus.NoNewEvents) {
139
245
  return false;
140
246
  }
141
247
  this.currentSyncRun = (_a = result.value.syncRun) !== null && _a !== void 0 ? _a : undefined;
142
248
  return this.currentSyncRun !== undefined;
143
249
  }
250
+ async startDatawalletVersionUpgradeSyncRun() {
251
+ var _a;
252
+ const result = await this.client.startSyncRun({ type: StartSyncRun_1.SyncRunType.DatawalletVersionUpgrade });
253
+ this.currentSyncRun = (_a = result.value.syncRun) !== null && _a !== void 0 ? _a : undefined;
254
+ return this.currentSyncRun !== undefined;
255
+ }
144
256
  async applyIncomingExternalEvents() {
145
257
  const getExternalEventsResult = await this.client.getExternalEventsOfSyncRun(this.currentSyncRun.id.toString());
146
258
  if (getExternalEventsResult.isError) {
@@ -149,14 +261,17 @@ class SyncController extends core_1.TransportController {
149
261
  const externalEvents = await getExternalEventsResult.value.collect();
150
262
  const externalEventProcessor = new ExternalEventsProcessor_1.ExternalEventsProcessor(this.parent.messages, this.parent.relationships, externalEvents);
151
263
  await externalEventProcessor.execute();
152
- return { results: externalEventProcessor.results, changedItems: externalEventProcessor.changedItems };
264
+ return {
265
+ externalEventResults: externalEventProcessor.results,
266
+ changedItems: externalEventProcessor.changedItems
267
+ };
153
268
  }
154
- async finalizeSyncRun(externalEventResults) {
269
+ async finalizeExternalEventsSyncRun(externalEventResults) {
155
270
  if (!this.currentSyncRun) {
156
271
  throw new Error("There is no active sync run to finalize");
157
272
  }
158
273
  const { backboneModifications, localModificationIds } = await this.prepareLocalDatawalletModificationsForPush();
159
- await this.client.finalizeSyncRun(this.currentSyncRun.id.toString(), {
274
+ await this.client.finalizeExternalEventSync(this.currentSyncRun.id.toString(), {
160
275
  datawalletModifications: backboneModifications,
161
276
  externalEventResults: externalEventResults
162
277
  });
@@ -166,6 +281,21 @@ class SyncController extends core_1.TransportController {
166
281
  await this.updateLocalDatawalletModificationIndex(newDatawalletModificationIndex);
167
282
  this.currentSyncRun = undefined;
168
283
  }
284
+ async finalizeDatawalletVersionUpgradeSyncRun(newDatawalletVersion) {
285
+ if (!this.currentSyncRun) {
286
+ throw new Error("There is no active sync run to finalize");
287
+ }
288
+ const { backboneModifications, localModificationIds } = await this.prepareLocalDatawalletModificationsForPush();
289
+ await this.client.finalizeDatawalletVersionUpgrade(this.currentSyncRun.id.toString(), {
290
+ newDatawalletVersion,
291
+ datawalletModifications: backboneModifications
292
+ });
293
+ await this.deleteUnpushedDatawalletModifications(localModificationIds);
294
+ const oldDatawalletModificationIndex = await this.getLocalDatawalletModificationIndex();
295
+ const newDatawalletModificationIndex = (oldDatawalletModificationIndex || -1) + backboneModifications.length;
296
+ await this.updateLocalDatawalletModificationIndex(newDatawalletModificationIndex);
297
+ this.currentSyncRun = undefined;
298
+ }
169
299
  async getLocalDatawalletModificationIndex() {
170
300
  const index = await this.syncInfo.get("localDatawalletModificationIndex");
171
301
  return index;
@@ -1 +1 @@
1
- {"version":3,"file":"SyncController.js","sourceRoot":"","sources":["../../../src/modules/sync/SyncController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncController.js","sourceRoot":"","sources":["../../../src/modules/sync/SyncController.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@ import { DatabaseType, IDatabaseCollection } from "@js-soft/docdb-access-abstrac
2
2
  import { CoreSynchronizable, ICoreSynchronizable } from "../../core/CoreSynchronizable";
3
3
  export declare class SynchronizedCollection implements IDatabaseCollection {
4
4
  private readonly parent;
5
+ private readonly datawalletVersion;
5
6
  private readonly datawalletModifications?;
6
7
  readonly name: string;
7
8
  readonly databaseType: DatabaseType;
8
- constructor(parent: IDatabaseCollection, datawalletModifications?: IDatabaseCollection | undefined);
9
+ constructor(parent: IDatabaseCollection, datawalletVersion: number, datawalletModifications?: IDatabaseCollection | undefined);
9
10
  create(newObject: CoreSynchronizable): Promise<any>;
10
11
  read(id: string): Promise<any>;
11
12
  update(oldDoc: any, newObject: CoreSynchronizable): Promise<any>;
@@ -11,8 +11,9 @@ const CoreSerializableAsync_1 = require("../../core/CoreSerializableAsync");
11
11
  const TransportIds_1 = require("../../core/TransportIds");
12
12
  const DatawalletModification_1 = require("../sync/local/DatawalletModification");
13
13
  class SynchronizedCollection {
14
- constructor(parent, datawalletModifications) {
14
+ constructor(parent, datawalletVersion, datawalletModifications) {
15
15
  this.parent = parent;
16
+ this.datawalletVersion = datawalletVersion;
16
17
  this.datawalletModifications = datawalletModifications;
17
18
  this.name = parent.name;
18
19
  this.databaseType = parent.databaseType;
@@ -33,7 +34,8 @@ class SynchronizedCollection {
33
34
  collection: this.name,
34
35
  objectIdentifier: objectIdentifier,
35
36
  payloadCategory: DatawalletModification_1.DatawalletModificationCategory.TechnicalData,
36
- payload: technicalModificationPayload
37
+ payload: technicalModificationPayload,
38
+ datawalletVersion: this.datawalletVersion
37
39
  }));
38
40
  }
39
41
  if (Object.getOwnPropertyNames(metadataModificationPayload).length !== 0) {
@@ -43,7 +45,8 @@ class SynchronizedCollection {
43
45
  collection: this.name,
44
46
  objectIdentifier: objectIdentifier,
45
47
  payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Metadata,
46
- payload: metadataModificationPayload
48
+ payload: metadataModificationPayload,
49
+ datawalletVersion: this.datawalletVersion
47
50
  }));
48
51
  }
49
52
  if (Object.getOwnPropertyNames(userdataModificationPayload).length !== 0) {
@@ -53,7 +56,8 @@ class SynchronizedCollection {
53
56
  collection: this.name,
54
57
  objectIdentifier: objectIdentifier,
55
58
  payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Userdata,
56
- payload: userdataModificationPayload
59
+ payload: userdataModificationPayload,
60
+ datawalletVersion: this.datawalletVersion
57
61
  }));
58
62
  }
59
63
  await this.parent.create(newObject);
@@ -87,7 +91,8 @@ class SynchronizedCollection {
87
91
  collection: this.name,
88
92
  objectIdentifier: objectIdentifier,
89
93
  payloadCategory: DatawalletModification_1.DatawalletModificationCategory.TechnicalData,
90
- payload: payload
94
+ payload: payload,
95
+ datawalletVersion: this.datawalletVersion
91
96
  }));
92
97
  }
93
98
  if (haveMetadataPropertiesChanged) {
@@ -98,7 +103,8 @@ class SynchronizedCollection {
98
103
  collection: this.name,
99
104
  objectIdentifier: objectIdentifier,
100
105
  payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Metadata,
101
- payload: payload
106
+ payload: payload,
107
+ datawalletVersion: this.datawalletVersion
102
108
  }));
103
109
  }
104
110
  if (haveUserdataPropertiesChanged) {
@@ -109,7 +115,8 @@ class SynchronizedCollection {
109
115
  collection: this.name,
110
116
  objectIdentifier: objectIdentifier,
111
117
  payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Userdata,
112
- payload: payload
118
+ payload: payload,
119
+ datawalletVersion: this.datawalletVersion
113
120
  }));
114
121
  }
115
122
  if (hasCacheChanged) {
@@ -117,7 +124,8 @@ class SynchronizedCollection {
117
124
  localId: await TransportIds_1.TransportIds.datawalletModification.generate(),
118
125
  type: DatawalletModification_1.DatawalletModificationType.CacheChanged,
119
126
  collection: this.name,
120
- objectIdentifier: objectIdentifier
127
+ objectIdentifier: objectIdentifier,
128
+ datawalletVersion: this.datawalletVersion
121
129
  }));
122
130
  }
123
131
  return await this.parent.update(oldDoc, newObject);
@@ -130,7 +138,8 @@ class SynchronizedCollection {
130
138
  localId: await TransportIds_1.TransportIds.datawalletModification.generate(),
131
139
  type: DatawalletModification_1.DatawalletModificationType.Delete,
132
140
  collection: this.name,
133
- objectIdentifier: object.id
141
+ objectIdentifier: object.id,
142
+ datawalletVersion: this.datawalletVersion
134
143
  }));
135
144
  return await this.parent.delete({ id: object.id.toString() });
136
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SynchronizedCollection.js","sourceRoot":"","sources":["../../../src/modules/sync/SynchronizedCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SynchronizedCollection.js","sourceRoot":"","sources":["../../../src/modules/sync/SynchronizedCollection.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export interface BackboneDatawalletModification {
8
8
  collection: string;
9
9
  type: string;
10
10
  encryptedPayload: string | null;
11
+ datawalletVersion: number;
11
12
  }
@@ -8,6 +8,7 @@ export interface CreateDatawalletModificationsRequestItem {
8
8
  collection: string;
9
9
  type: string;
10
10
  encryptedPayload?: string;
11
+ datawalletVersion: number;
11
12
  }
12
13
  export interface CreateDatawalletModificationsResponse {
13
14
  newIndex: number;
@@ -1,19 +1,17 @@
1
- export interface FinalizeSyncRunRequest {
1
+ import { CreateDatawalletModificationsRequestItem } from "./CreateDatawalletModifications";
2
+ export interface FinalizeExternalEventSyncRequest {
2
3
  externalEventResults: FinalizeSyncRunRequestExternalEventResult[];
3
- datawalletModifications: FinalizeSyncRunRequestDatawalletModification[];
4
+ datawalletModifications: CreateDatawalletModificationsRequestItem[];
4
5
  }
5
- export interface FinalizeSyncRunRequestDatawalletModification {
6
- objectIdentifier?: string;
7
- payloadCategory?: string;
8
- collection: string;
9
- type: string;
10
- encryptedPayload?: string;
6
+ export interface FinalizeDatawalletVersionUpgradeRequest {
7
+ newDatawalletVersion: number;
8
+ datawalletModifications?: CreateDatawalletModificationsRequestItem[];
11
9
  }
12
10
  export interface FinalizeSyncRunRequestExternalEventResult {
13
11
  externalEventId: string;
14
12
  errorCode?: string;
15
13
  }
16
- export interface FinalizeSyncRunResponse {
14
+ export interface FinalizeExternalEventSyncResponse {
17
15
  newDatawalletModificationIndex: number;
18
16
  datawalletModifications: {
19
17
  id: string;
@@ -21,3 +19,11 @@ export interface FinalizeSyncRunResponse {
21
19
  createdAt: string;
22
20
  };
23
21
  }
22
+ export interface FinalizeDatawalletVersionUpgradeResponse {
23
+ newDatawalletVersion: number;
24
+ datawalletModifications: {
25
+ id: string;
26
+ index: number;
27
+ createdAt: string;
28
+ }[];
29
+ }
@@ -0,0 +1,3 @@
1
+ export interface GetDatawalletResponse {
2
+ version: number;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GetDatawallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDatawallet.js","sourceRoot":"","sources":["../../../../src/modules/sync/backbone/GetDatawallet.ts"],"names":[],"mappings":""}
@@ -3,6 +3,14 @@ export interface StartSyncRunResponse {
3
3
  status: StartSyncRunStatus;
4
4
  syncRun: BackboneSyncRun | null;
5
5
  }
6
+ export interface StartSyncRunRequest {
7
+ type: SyncRunType;
8
+ duration?: number;
9
+ }
10
+ export declare enum SyncRunType {
11
+ ExternalEventSync = "ExternalEventSync",
12
+ DatawalletVersionUpgrade = "DatawalletVersionUpgrade"
13
+ }
6
14
  export declare enum StartSyncRunStatus {
7
15
  Created = "Created",
8
16
  NoNewEvents = "NoNewEvents"
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StartSyncRunStatus = void 0;
3
+ exports.StartSyncRunStatus = exports.SyncRunType = void 0;
4
+ var SyncRunType;
5
+ (function (SyncRunType) {
6
+ SyncRunType["ExternalEventSync"] = "ExternalEventSync";
7
+ SyncRunType["DatawalletVersionUpgrade"] = "DatawalletVersionUpgrade";
8
+ })(SyncRunType = exports.SyncRunType || (exports.SyncRunType = {}));
4
9
  var StartSyncRunStatus;
5
10
  (function (StartSyncRunStatus) {
6
11
  StartSyncRunStatus["Created"] = "Created";
@@ -1 +1 @@
1
- {"version":3,"file":"StartSyncRun.js","sourceRoot":"","sources":["../../../../src/modules/sync/backbone/StartSyncRun.ts"],"names":[],"mappings":";;;AAOA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;AAC/B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
1
+ {"version":3,"file":"StartSyncRun.js","sourceRoot":"","sources":["../../../../src/modules/sync/backbone/StartSyncRun.ts"],"names":[],"mappings":";;;AAYA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,sDAAuC,CAAA;IACvC,oEAAqD,CAAA;AACzD,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;AAC/B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
@@ -1,15 +1,30 @@
1
- import { Paginator, RESTClientAuthenticate } from "../../../core";
1
+ import { IConfig, Paginator, RESTClientAuthenticate } from "../../../core";
2
+ import { Authenticator } from "../../../core/backbone/Authenticator";
2
3
  import { ClientResult } from "../../../core/backbone/ClientResult";
3
4
  import { BackboneDatawalletModification } from "./BackboneDatawalletModification";
4
5
  import { BackboneExternalEvent } from "./BackboneExternalEvent";
5
6
  import { CreateDatawalletModificationsRequest, CreateDatawalletModificationsResponse } from "./CreateDatawalletModifications";
6
- import { FinalizeSyncRunRequest } from "./FinalizeSyncRun";
7
+ import { FinalizeDatawalletVersionUpgradeRequest, FinalizeDatawalletVersionUpgradeResponse, FinalizeExternalEventSyncRequest, FinalizeExternalEventSyncResponse } from "./FinalizeSyncRun";
8
+ import { GetDatawalletResponse } from "./GetDatawallet";
7
9
  import { GetDatawalletModificationsRequest } from "./GetDatawalletModifications";
8
- import { StartSyncRunResponse } from "./StartSyncRun";
9
- export declare class SyncClient extends RESTClientAuthenticate {
10
- startSyncRun(): Promise<ClientResult<StartSyncRunResponse>>;
11
- finalizeSyncRun(id: string, request: FinalizeSyncRunRequest): Promise<ClientResult<StartSyncRunResponse>>;
10
+ import { StartSyncRunRequest, StartSyncRunResponse } from "./StartSyncRun";
11
+ export interface ISyncClient {
12
+ startSyncRun(request?: StartSyncRunRequest): Promise<ClientResult<StartSyncRunResponse>>;
13
+ finalizeExternalEventSync(id: string, request: FinalizeExternalEventSyncRequest): Promise<ClientResult<FinalizeExternalEventSyncResponse>>;
14
+ finalizeExternalEventSync(id: string, request: FinalizeExternalEventSyncRequest): Promise<ClientResult<FinalizeExternalEventSyncResponse>>;
15
+ finalizeDatawalletVersionUpgrade(id: string, request: FinalizeDatawalletVersionUpgradeRequest): Promise<ClientResult<FinalizeDatawalletVersionUpgradeResponse>>;
12
16
  getExternalEventsOfSyncRun(syncRunId: string): Promise<ClientResult<Paginator<BackboneExternalEvent>>>;
17
+ getDatawallet(): Promise<ClientResult<GetDatawalletResponse>>;
18
+ getDatawalletModifications(request: GetDatawalletModificationsRequest): Promise<ClientResult<Paginator<BackboneDatawalletModification>>>;
19
+ createDatawalletModifications(request: CreateDatawalletModificationsRequest): Promise<ClientResult<CreateDatawalletModificationsResponse>>;
20
+ }
21
+ export declare class SyncClient extends RESTClientAuthenticate implements ISyncClient {
22
+ constructor(config: IConfig, authenticator: Authenticator);
23
+ startSyncRun(request?: StartSyncRunRequest): Promise<ClientResult<StartSyncRunResponse>>;
24
+ finalizeExternalEventSync(id: string, request: FinalizeExternalEventSyncRequest): Promise<ClientResult<FinalizeExternalEventSyncResponse>>;
25
+ finalizeDatawalletVersionUpgrade(id: string, request: FinalizeDatawalletVersionUpgradeRequest): Promise<ClientResult<FinalizeDatawalletVersionUpgradeResponse>>;
26
+ getExternalEventsOfSyncRun(syncRunId: string): Promise<ClientResult<Paginator<BackboneExternalEvent>>>;
27
+ getDatawallet(): Promise<ClientResult<GetDatawalletResponse>>;
13
28
  getDatawalletModifications(request: GetDatawalletModificationsRequest): Promise<ClientResult<Paginator<BackboneDatawalletModification>>>;
14
29
  createDatawalletModifications(request: CreateDatawalletModificationsRequest): Promise<ClientResult<CreateDatawalletModificationsResponse>>;
15
30
  }
@@ -3,20 +3,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SyncClient = void 0;
4
4
  const core_1 = require("../../../core");
5
5
  class SyncClient extends core_1.RESTClientAuthenticate {
6
- async startSyncRun() {
7
- return await this.post("/api/v1/SyncRuns", {});
6
+ constructor(config, authenticator) {
7
+ super(config, authenticator, {
8
+ headers: {
9
+ "x-supported-datawallet-version": config.supportedDatawalletVersion.toString()
10
+ }
11
+ });
8
12
  }
9
- async finalizeSyncRun(id, request) {
10
- return await this.put(`/api/v1/SyncRuns/${id}/Finalize`, request);
13
+ async startSyncRun(request) {
14
+ return await this.post("/api/v1/SyncRuns", request);
15
+ }
16
+ async finalizeExternalEventSync(id, request) {
17
+ return await this.put(`/api/v1/SyncRuns/${id}/FinalizeExternalEventSync`, request);
18
+ }
19
+ async finalizeDatawalletVersionUpgrade(id, request) {
20
+ return await this.put(`/api/v1/SyncRuns/${id}/FinalizeDatawalletVersionUpgrade`, request);
11
21
  }
12
22
  async getExternalEventsOfSyncRun(syncRunId) {
13
23
  return await this.getPaged(`/api/v1/SyncRuns/${syncRunId}/ExternalEvents`, {});
14
24
  }
25
+ async getDatawallet() {
26
+ return await this.get("/api/v1/Datawallet");
27
+ }
15
28
  async getDatawalletModifications(request) {
16
- return await this.getPaged("/api/v1/DatawalletModifications", request);
29
+ return await this.getPaged("/api/v1/Datawallet/Modifications", request);
17
30
  }
18
31
  async createDatawalletModifications(request) {
19
- return await this.post("/api/v1/DatawalletModifications", request);
32
+ return await this.post("/api/v1/Datawallet/Modifications", request);
20
33
  }
21
34
  }
22
35
  exports.SyncClient = SyncClient;