@nmshd/transport 2.3.5 → 2.4.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/dist/buildInformation.js +5 -5
- package/dist/modules/accounts/AccountController.d.ts +1 -0
- package/dist/modules/accounts/AccountController.d.ts.map +1 -1
- package/dist/modules/accounts/AccountController.js +3 -0
- package/dist/modules/accounts/AccountController.js.map +1 -1
- package/dist/modules/devices/DeviceController.d.ts +1 -0
- package/dist/modules/devices/DeviceController.d.ts.map +1 -1
- package/dist/modules/devices/DeviceController.js +5 -0
- package/dist/modules/devices/DeviceController.js.map +1 -1
- package/dist/modules/devices/backbone/DeviceAuthClient.d.ts +1 -0
- package/dist/modules/devices/backbone/DeviceAuthClient.d.ts.map +1 -1
- package/dist/modules/devices/backbone/DeviceAuthClient.js +3 -0
- package/dist/modules/devices/backbone/DeviceAuthClient.js.map +1 -1
- package/dist/modules/devices/local/Device.d.ts +2 -0
- package/dist/modules/devices/local/Device.d.ts.map +1 -1
- package/dist/modules/devices/local/Device.js +7 -1
- package/dist/modules/devices/local/Device.js.map +1 -1
- package/dist/modules/index.d.ts +0 -1
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +0 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/sync/ChangedItems.d.ts +1 -2
- package/dist/modules/sync/ChangedItems.d.ts.map +1 -1
- package/dist/modules/sync/ChangedItems.js +9 -5
- package/dist/modules/sync/ChangedItems.js.map +1 -1
- package/dist/modules/sync/DatawalletModificationsProcessor.d.ts +6 -6
- package/dist/modules/sync/DatawalletModificationsProcessor.d.ts.map +1 -1
- package/dist/modules/sync/DatawalletModificationsProcessor.js +2 -2
- package/dist/modules/sync/DatawalletModificationsProcessor.js.map +1 -1
- package/dist/modules/sync/SyncController.d.ts +1 -0
- package/dist/modules/sync/SyncController.d.ts.map +1 -1
- package/dist/modules/sync/SyncController.js +41 -8
- package/dist/modules/sync/SyncController.js.map +1 -1
- package/dist/modules/sync/backbone/FinalizeSyncRun.d.ts +2 -2
- package/dist/modules/sync/backbone/FinalizeSyncRun.d.ts.map +1 -1
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessor.d.ts +14 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessor.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessor.js +14 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessor.js.map +1 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessorRegistry.d.ts +9 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessorRegistry.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessorRegistry.js +35 -0
- package/dist/modules/sync/externalEventProcessors/ExternalEventProcessorRegistry.js.map +1 -0
- package/dist/modules/sync/externalEventProcessors/MessageDeliveredExternalEventProcessor.d.ts +7 -0
- package/dist/modules/sync/externalEventProcessors/MessageDeliveredExternalEventProcessor.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/MessageDeliveredExternalEventProcessor.js +16 -0
- package/dist/modules/sync/externalEventProcessors/MessageDeliveredExternalEventProcessor.js.map +1 -0
- package/dist/modules/sync/externalEventProcessors/MessageReceivedExternalEventProcessor.d.ts +7 -0
- package/dist/modules/sync/externalEventProcessors/MessageReceivedExternalEventProcessor.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/MessageReceivedExternalEventProcessor.js +16 -0
- package/dist/modules/sync/externalEventProcessors/MessageReceivedExternalEventProcessor.js.map +1 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCompletedExternalEventProcessor.d.ts +7 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCompletedExternalEventProcessor.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCompletedExternalEventProcessor.js +18 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCompletedExternalEventProcessor.js.map +1 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCreatedExternalEventProcessor.d.ts +7 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCreatedExternalEventProcessor.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCreatedExternalEventProcessor.js +18 -0
- package/dist/modules/sync/externalEventProcessors/RelationshipChangeCreatedExternalEventProcessor.js.map +1 -0
- package/dist/modules/sync/externalEventProcessors/index.d.ts +6 -0
- package/dist/modules/sync/externalEventProcessors/index.d.ts.map +1 -0
- package/dist/modules/sync/externalEventProcessors/index.js +22 -0
- package/dist/modules/sync/externalEventProcessors/index.js.map +1 -0
- package/lib-web/nmshd.transport.js +285 -129
- package/lib-web/nmshd.transport.js.map +1 -1
- package/lib-web/nmshd.transport.min.js +1 -1
- package/lib-web/nmshd.transport.min.js.map +1 -1
- package/package.json +6 -6
- package/dist/modules/sync/ExternalEventsProcessor.d.ts +0 -25
- package/dist/modules/sync/ExternalEventsProcessor.d.ts.map +0 -1
- package/dist/modules/sync/ExternalEventsProcessor.js +0 -96
- package/dist/modules/sync/ExternalEventsProcessor.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nmshd/transport",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"description": "The transport library handles backbone communication and content encryption.",
|
|
5
5
|
"homepage": "https://enmeshed.eu",
|
|
6
6
|
"repository": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@js-soft/docdb-access-abstractions": "1.0.
|
|
70
|
+
"@js-soft/docdb-access-abstractions": "1.0.4",
|
|
71
71
|
"@js-soft/logging-abstractions": "^1.0.1",
|
|
72
72
|
"@js-soft/simple-logger": "1.0.4",
|
|
73
73
|
"@js-soft/ts-utils": "^2.3.3",
|
|
@@ -78,13 +78,13 @@
|
|
|
78
78
|
"lodash": "^4.17.21",
|
|
79
79
|
"luxon": "^3.4.4",
|
|
80
80
|
"qs": "^6.12.0",
|
|
81
|
-
"reflect-metadata": "^0.2.
|
|
81
|
+
"reflect-metadata": "^0.2.2",
|
|
82
82
|
"ts-simple-nameof": "^1.3.1",
|
|
83
83
|
"uuid": "^9.0.1"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@js-soft/docdb-access-loki": "1.0
|
|
87
|
-
"@js-soft/docdb-access-mongo": "1.1.
|
|
86
|
+
"@js-soft/docdb-access-loki": "1.1.0",
|
|
87
|
+
"@js-soft/docdb-access-mongo": "1.1.8",
|
|
88
88
|
"@js-soft/node-logger": "1.1.1",
|
|
89
89
|
"@js-soft/ts-serval": "2.0.10",
|
|
90
90
|
"@js-soft/web-logger": "^1.0.4",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"@types/json-stringify-safe": "^5.0.3",
|
|
93
93
|
"@types/lodash": "^4.17.0",
|
|
94
94
|
"@types/luxon": "^3.4.2",
|
|
95
|
-
"@types/qs": "^6.9.
|
|
95
|
+
"@types/qs": "^6.9.14",
|
|
96
96
|
"@types/uuid": "^9.0.8",
|
|
97
97
|
"expect": "^29.7.0",
|
|
98
98
|
"ts-mockito": "^2.6.1"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { EventBus } from "@js-soft/ts-utils";
|
|
2
|
-
import { MessageController } from "../messages/MessageController";
|
|
3
|
-
import { RelationshipsController } from "../relationships/RelationshipsController";
|
|
4
|
-
import { ChangedItems } from "./ChangedItems";
|
|
5
|
-
import { SyncProgressReporter } from "./SyncCallback";
|
|
6
|
-
import { BackboneExternalEvent } from "./backbone/BackboneExternalEvent";
|
|
7
|
-
import { FinalizeSyncRunRequestExternalEventResult } from "./backbone/FinalizeSyncRun";
|
|
8
|
-
export declare class ExternalEventsProcessor {
|
|
9
|
-
private readonly messagesController;
|
|
10
|
-
private readonly relationshipsController;
|
|
11
|
-
private readonly externalEvents;
|
|
12
|
-
private readonly eventBus;
|
|
13
|
-
private readonly ownAddress;
|
|
14
|
-
private readonly log;
|
|
15
|
-
readonly changedItems: ChangedItems;
|
|
16
|
-
readonly results: FinalizeSyncRunRequestExternalEventResult[];
|
|
17
|
-
private readonly syncStep;
|
|
18
|
-
constructor(messagesController: MessageController, relationshipsController: RelationshipsController, externalEvents: BackboneExternalEvent[], reporter: SyncProgressReporter, eventBus: EventBus, ownAddress: string);
|
|
19
|
-
execute(): Promise<void>;
|
|
20
|
-
private applyRelationshipChangeCompletedEvent;
|
|
21
|
-
private applyRelationshipChangeCreatedEvent;
|
|
22
|
-
private applyMessageDeliveredEvent;
|
|
23
|
-
private applyMessageReceivedEvent;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=ExternalEventsProcessor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalEventsProcessor.d.ts","sourceRoot":"","sources":["../../../src/modules/sync/ExternalEventsProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAsC,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,yCAAyC,EAAE,MAAM,4BAA4B,CAAC;AAEvF,qBAAa,uBAAuB;IAO5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAX/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,SAAgB,YAAY,EAAE,YAAY,CAAsB;IAChE,SAAgB,OAAO,EAAE,yCAAyC,EAAE,CAAM;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;gBAG/B,kBAAkB,EAAE,iBAAiB,EACrC,uBAAuB,EAAE,uBAAuB,EAChD,cAAc,EAAE,qBAAqB,EAAE,EACxD,QAAQ,EAAE,oBAAoB,EACb,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM;IAM1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA6CvB,qCAAqC;YAUrC,mCAAmC;YAUnC,0BAA0B;YAU1B,yBAAyB;CAO1C"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExternalEventsProcessor = void 0;
|
|
4
|
-
const core_1 = require("../../core");
|
|
5
|
-
const events_1 = require("../../events");
|
|
6
|
-
const ChangedItems_1 = require("./ChangedItems");
|
|
7
|
-
const SyncCallback_1 = require("./SyncCallback");
|
|
8
|
-
class ExternalEventsProcessor {
|
|
9
|
-
constructor(messagesController, relationshipsController, externalEvents, reporter, eventBus, ownAddress) {
|
|
10
|
-
this.messagesController = messagesController;
|
|
11
|
-
this.relationshipsController = relationshipsController;
|
|
12
|
-
this.externalEvents = externalEvents;
|
|
13
|
-
this.eventBus = eventBus;
|
|
14
|
-
this.ownAddress = ownAddress;
|
|
15
|
-
this.changedItems = new ChangedItems_1.ChangedItems();
|
|
16
|
-
this.results = [];
|
|
17
|
-
this.log = core_1.TransportLoggerFactory.getLogger(ExternalEventsProcessor);
|
|
18
|
-
this.syncStep = reporter.createStep(SyncCallback_1.SyncStep.ExternalEventsProcessing, externalEvents.length);
|
|
19
|
-
}
|
|
20
|
-
async execute() {
|
|
21
|
-
for (const externalEvent of this.externalEvents) {
|
|
22
|
-
try {
|
|
23
|
-
switch (externalEvent.type) {
|
|
24
|
-
case "MessageReceived":
|
|
25
|
-
await this.applyMessageReceivedEvent(externalEvent);
|
|
26
|
-
break;
|
|
27
|
-
case "MessageDelivered":
|
|
28
|
-
await this.applyMessageDeliveredEvent(externalEvent);
|
|
29
|
-
break;
|
|
30
|
-
case "RelationshipChangeCreated":
|
|
31
|
-
await this.applyRelationshipChangeCreatedEvent(externalEvent);
|
|
32
|
-
break;
|
|
33
|
-
case "RelationshipChangeCompleted":
|
|
34
|
-
await this.applyRelationshipChangeCompletedEvent(externalEvent);
|
|
35
|
-
break;
|
|
36
|
-
default:
|
|
37
|
-
throw new core_1.TransportError(`'${externalEvent.type}' is not a supported external event type.`);
|
|
38
|
-
}
|
|
39
|
-
this.results.push({
|
|
40
|
-
externalEventId: externalEvent.id
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
this.log.error("There was an error while trying to apply an external event: ", e);
|
|
45
|
-
let errorCode;
|
|
46
|
-
if (e.code) {
|
|
47
|
-
errorCode = e.code;
|
|
48
|
-
}
|
|
49
|
-
else if (e.message) {
|
|
50
|
-
errorCode = e.message;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
errorCode = JSON.stringify(e);
|
|
54
|
-
}
|
|
55
|
-
this.results.push({
|
|
56
|
-
externalEventId: externalEvent.id,
|
|
57
|
-
errorCode: errorCode
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
this.syncStep.progress();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async applyRelationshipChangeCompletedEvent(externalEvent) {
|
|
66
|
-
const payload = externalEvent.payload;
|
|
67
|
-
const relationship = await this.relationshipsController.applyChangeById(payload.changeId);
|
|
68
|
-
if (relationship) {
|
|
69
|
-
this.eventBus.publish(new events_1.RelationshipChangedEvent(this.ownAddress, relationship));
|
|
70
|
-
this.changedItems.addRelationship(relationship);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async applyRelationshipChangeCreatedEvent(externalEvent) {
|
|
74
|
-
const payload = externalEvent.payload;
|
|
75
|
-
const relationship = await this.relationshipsController.applyChangeById(payload.changeId);
|
|
76
|
-
if (relationship) {
|
|
77
|
-
this.eventBus.publish(new events_1.RelationshipChangedEvent(this.ownAddress, relationship));
|
|
78
|
-
this.changedItems.addRelationship(relationship);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
async applyMessageDeliveredEvent(externalEvent) {
|
|
82
|
-
const messageReceivedPayload = externalEvent.payload;
|
|
83
|
-
const updatedMessages = await this.messagesController.updateCache([messageReceivedPayload.id]);
|
|
84
|
-
const deliveredMessage = updatedMessages[0];
|
|
85
|
-
this.eventBus.publish(new events_1.MessageDeliveredEvent(this.ownAddress, deliveredMessage));
|
|
86
|
-
this.changedItems.addMessage(deliveredMessage);
|
|
87
|
-
}
|
|
88
|
-
async applyMessageReceivedEvent(externalEvent) {
|
|
89
|
-
const newMessagePayload = externalEvent.payload;
|
|
90
|
-
const newMessage = await this.messagesController.loadPeerMessage(core_1.CoreId.from(newMessagePayload.id));
|
|
91
|
-
this.eventBus.publish(new events_1.MessageReceivedEvent(this.ownAddress, newMessage));
|
|
92
|
-
this.changedItems.addMessage(newMessage);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.ExternalEventsProcessor = ExternalEventsProcessor;
|
|
96
|
-
//# sourceMappingURL=ExternalEventsProcessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalEventsProcessor.js","sourceRoot":"","sources":["../../../src/modules/sync/ExternalEventsProcessor.ts"],"names":[],"mappings":"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"}
|