@nmshd/runtime 2.0.0-alpha.6 → 2.0.0-alpha.9
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/Runtime.d.ts +1 -0
- package/dist/Runtime.js +24 -13
- package/dist/Runtime.js.map +1 -1
- package/dist/buildInformation.js +5 -5
- package/dist/extensibility/modules/RuntimeModule.d.ts +2 -2
- package/dist/extensibility/modules/RuntimeModule.js.map +1 -1
- package/dist/modules/RequestModule.d.ts +12 -0
- package/dist/modules/RequestModule.js +116 -0
- package/dist/modules/RequestModule.js.map +1 -0
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.js +1 -0
- package/dist/modules/index.js.map +1 -1
- package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js +3 -3
- package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map +1 -1
- package/lib-web/nmshd.runtime.js +159 -21
- package/lib-web/nmshd.runtime.js.map +1 -1
- package/lib-web/nmshd.runtime.min.js +3 -3
- package/lib-web/nmshd.runtime.min.js.map +1 -1
- package/package.json +4 -5
package/dist/Runtime.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ export declare abstract class Runtime<TConfig extends RuntimeConfig = RuntimeCon
|
|
|
46
46
|
private initTransportLibrary;
|
|
47
47
|
private initDIContainer;
|
|
48
48
|
private loadModules;
|
|
49
|
+
private loadBuiltinModule;
|
|
49
50
|
protected abstract loadModule(moduleConfiguration: ModuleConfiguration): Promise<void>;
|
|
50
51
|
private initModules;
|
|
51
52
|
private _isStarted;
|
package/dist/Runtime.js
CHANGED
|
@@ -160,7 +160,6 @@ class Runtime {
|
|
|
160
160
|
this.logger.info("Loading modules...");
|
|
161
161
|
for (const moduleName in this.runtimeConfig.modules) {
|
|
162
162
|
const moduleConfiguration = this.runtimeConfig.modules[moduleName];
|
|
163
|
-
moduleConfiguration.name = moduleName;
|
|
164
163
|
if (!moduleConfiguration.enabled) {
|
|
165
164
|
this.logger.debug(`Skip loading module '${this.getModuleName(moduleConfiguration)}' because it is not enabled.`);
|
|
166
165
|
continue;
|
|
@@ -169,22 +168,34 @@ class Runtime {
|
|
|
169
168
|
this.logger.error(`Skip loading module '${this.getModuleName(moduleConfiguration)}' because has no location.`);
|
|
170
169
|
continue;
|
|
171
170
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
break;
|
|
177
|
-
case "messagemodule":
|
|
178
|
-
const messageModule = new modules_1.MessageModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.MessageModule));
|
|
179
|
-
this.modules.add(messageModule);
|
|
180
|
-
break;
|
|
181
|
-
default:
|
|
182
|
-
await this.loadModule(moduleConfiguration);
|
|
183
|
-
break;
|
|
171
|
+
// load the builtin '@nmshd/runtime' modules based on their specifier after the colon
|
|
172
|
+
if (moduleConfiguration.location.startsWith("@nmshd/runtime:")) {
|
|
173
|
+
this.loadBuiltinModule(moduleConfiguration);
|
|
174
|
+
continue;
|
|
184
175
|
}
|
|
176
|
+
await this.loadModule(moduleConfiguration);
|
|
185
177
|
}
|
|
186
178
|
this.eventBus.publish(new events_1.ModulesLoadedEvent());
|
|
187
179
|
}
|
|
180
|
+
loadBuiltinModule(moduleConfiguration) {
|
|
181
|
+
const moduleSpecifier = moduleConfiguration.location.split(":")[1];
|
|
182
|
+
switch (moduleSpecifier) {
|
|
183
|
+
case "DeciderModule":
|
|
184
|
+
const deciderModule = new modules_1.DeciderModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.DeciderModule));
|
|
185
|
+
this.modules.add(deciderModule);
|
|
186
|
+
break;
|
|
187
|
+
case "RequestModule":
|
|
188
|
+
const requestModule = new modules_1.RequestModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.RequestModule));
|
|
189
|
+
this.modules.add(requestModule);
|
|
190
|
+
break;
|
|
191
|
+
case "MessageModule":
|
|
192
|
+
const messageModule = new modules_1.MessageModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.MessageModule));
|
|
193
|
+
this.modules.add(messageModule);
|
|
194
|
+
break;
|
|
195
|
+
default:
|
|
196
|
+
throw new Error(`Module ${moduleConfiguration.name} is not a builtin module.`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
188
199
|
async initModules() {
|
|
189
200
|
this.logger.info("Initializing modules...");
|
|
190
201
|
for (const module of this.modules.toArray()) {
|
package/dist/Runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../src/Runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Runtime.js","sourceRoot":"","sources":["../src/Runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/buildInformation.js
CHANGED
|
@@ -7,11 +7,11 @@ const content_1 = require("@nmshd/content");
|
|
|
7
7
|
const crypto_1 = require("@nmshd/crypto");
|
|
8
8
|
const transport_1 = require("@nmshd/transport");
|
|
9
9
|
exports.buildInformation = {
|
|
10
|
-
version: "2.0.0-alpha.
|
|
11
|
-
build: "
|
|
12
|
-
date: "2022-05-
|
|
13
|
-
commit: "
|
|
14
|
-
dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.2","@nmshd/consumption":"2.0.0-alpha.
|
|
10
|
+
version: "2.0.0-alpha.9",
|
|
11
|
+
build: "56",
|
|
12
|
+
date: "2022-05-18T11:33:53+00:00",
|
|
13
|
+
commit: "d2221c4e4ac1057608433f3a6a8110fd67e3ce27",
|
|
14
|
+
dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.2","@nmshd/consumption":"2.0.0-alpha.12","@nmshd/content":"2.0.0-alpha.14","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-alpha.1","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.3","json-stringify-safe":"^5.0.1","luxon":"^2.4.0","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
|
|
15
15
|
libraries: {
|
|
16
16
|
serval: ts_serval_1.buildInformation,
|
|
17
17
|
consumption: consumption_1.buildInformation,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ILogger } from "@js-soft/logging-abstractions";
|
|
2
|
-
import {
|
|
2
|
+
import { EventHandler, SubscriptionTarget } from "@js-soft/ts-utils";
|
|
3
3
|
import { Runtime } from "../../Runtime";
|
|
4
4
|
export interface ModuleConfiguration {
|
|
5
5
|
enabled: boolean;
|
|
@@ -18,6 +18,6 @@ export declare abstract class RuntimeModule<TConfig extends ModuleConfiguration
|
|
|
18
18
|
abstract start(): Promise<void> | void;
|
|
19
19
|
abstract stop(): Promise<void> | void;
|
|
20
20
|
private readonly registeredSubscriptions;
|
|
21
|
-
protected subscribeToEvent<TEvent>(event:
|
|
21
|
+
protected subscribeToEvent<TEvent>(event: SubscriptionTarget<TEvent>, handler: EventHandler<TEvent>): void;
|
|
22
22
|
protected unsubscribeFromAllEvents(): void;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeModule.js","sourceRoot":"","sources":["../../../src/extensibility/modules/RuntimeModule.ts"],"names":[],"mappings":";;;AAgBA,MAAsB,aAAa;IAC/B,YAAmC,OAAiB,EAAkB,aAAsB,EAAkB,MAAe;QAA1F,YAAO,GAAP,OAAO,CAAU;QAAkB,kBAAa,GAAb,aAAa,CAAS;QAAkB,WAAM,GAAN,MAAM,CAAS;QAc5G,4BAAuB,GAAqC,EAAE,CAAC;IAdgD,CAAC;IAEjI,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;IAC1C,CAAC;IAQS,gBAAgB,CAAS,
|
|
1
|
+
{"version":3,"file":"RuntimeModule.js","sourceRoot":"","sources":["../../../src/extensibility/modules/RuntimeModule.ts"],"names":[],"mappings":";;;AAgBA,MAAsB,aAAa;IAC/B,YAAmC,OAAiB,EAAkB,aAAsB,EAAkB,MAAe;QAA1F,YAAO,GAAP,OAAO,CAAU;QAAkB,kBAAa,GAAb,aAAa,CAAS;QAAkB,WAAM,GAAN,MAAM,CAAS;QAc5G,4BAAuB,GAAqC,EAAE,CAAC;IAdgD,CAAC;IAEjI,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;IAC1C,CAAC;IAQS,gBAAgB,CAAS,KAAiC,EAAE,OAA6B;QAC/F,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7E,CAAC;IAES,wBAAwB;QAC9B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;SAC3E;QAED,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;CACJ;AA7BD,sCA6BC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RuntimeModule } from "../extensibility/modules/RuntimeModule";
|
|
2
|
+
export declare class RequestModule extends RuntimeModule {
|
|
3
|
+
init(): void | Promise<void>;
|
|
4
|
+
start(): void | Promise<void>;
|
|
5
|
+
private handlePeerRelationshipTemplateLoaded;
|
|
6
|
+
private handleMessageReceivedEvent;
|
|
7
|
+
private createIncomingRequest;
|
|
8
|
+
private handleIncomingRequestStatusChanged;
|
|
9
|
+
private handleIncomingRequestCompletedForRelationship;
|
|
10
|
+
private handleRelationshipChangedEvent;
|
|
11
|
+
stop(): void | Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestModule = void 0;
|
|
4
|
+
const consumption_1 = require("@nmshd/consumption");
|
|
5
|
+
const content_1 = require("@nmshd/content");
|
|
6
|
+
const events_1 = require("../events");
|
|
7
|
+
const RuntimeModule_1 = require("../extensibility/modules/RuntimeModule");
|
|
8
|
+
const types_1 = require("../types");
|
|
9
|
+
class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
10
|
+
init() {
|
|
11
|
+
// Nothing to do here
|
|
12
|
+
}
|
|
13
|
+
start() {
|
|
14
|
+
this.subscribeToEvent(events_1.PeerRelationshipTemplateLoadedEvent, this.handlePeerRelationshipTemplateLoaded.bind(this));
|
|
15
|
+
this.subscribeToEvent(events_1.MessageReceivedEvent, this.handleMessageReceivedEvent.bind(this));
|
|
16
|
+
this.subscribeToEvent(events_1.IncomingRequestStatusChangedEvent, this.handleIncomingRequestStatusChanged.bind(this));
|
|
17
|
+
this.subscribeToEvent(events_1.RelationshipChangedEvent, this.handleRelationshipChangedEvent.bind(this));
|
|
18
|
+
}
|
|
19
|
+
async handlePeerRelationshipTemplateLoaded(event) {
|
|
20
|
+
if (event.data.content["@type"] !== "RelationshipTemplateBody")
|
|
21
|
+
return;
|
|
22
|
+
const body = event.data.content;
|
|
23
|
+
const request = body.onNewRelationship;
|
|
24
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
25
|
+
await this.createIncomingRequest(services, request, event.data.id);
|
|
26
|
+
}
|
|
27
|
+
async handleMessageReceivedEvent(event) {
|
|
28
|
+
if (event.data.content["@type"] !== "Request")
|
|
29
|
+
return;
|
|
30
|
+
// TODO: JSSNMSHDD-2896 (handle response)
|
|
31
|
+
const request = event.data.content;
|
|
32
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
33
|
+
await this.createIncomingRequest(services, request, event.data.id);
|
|
34
|
+
}
|
|
35
|
+
async createIncomingRequest(services, request, requestSourceId) {
|
|
36
|
+
const receivedRequestResult = await services.consumptionServices.incomingRequests.received({ receivedRequest: request, requestSourceId });
|
|
37
|
+
if (receivedRequestResult.isError) {
|
|
38
|
+
this.logger.error(`Could not receive request ${request.id}`, receivedRequestResult.error);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const checkPrerequitesResult = await services.consumptionServices.incomingRequests.checkPrerequisites({ requestId: receivedRequestResult.value.id });
|
|
42
|
+
if (checkPrerequitesResult.isError) {
|
|
43
|
+
this.logger.error(`Could not check prerequisites for request ${request.id}`, checkPrerequitesResult.error);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async handleIncomingRequestStatusChanged(event) {
|
|
48
|
+
if (event.data.newStatus !== consumption_1.ConsumptionRequestStatus.Decided)
|
|
49
|
+
return;
|
|
50
|
+
switch (event.data.request.source.type) {
|
|
51
|
+
case "RelationshipTemplate":
|
|
52
|
+
await this.handleIncomingRequestCompletedForRelationship(event);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
throw new Error(`Cannot handle source.type '${event.data.request.source.type}'.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async handleIncomingRequestCompletedForRelationship(event) {
|
|
59
|
+
const templateId = event.data.request.source.reference;
|
|
60
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
61
|
+
const templateResponse = await services.transportServices.relationshipTemplates.getRelationshipTemplate({ id: templateId });
|
|
62
|
+
if (templateResponse.isError) {
|
|
63
|
+
this.logger.error(`Could not find template with id '${templateId}'.`);
|
|
64
|
+
// TODO: error state
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const template = templateResponse.value;
|
|
68
|
+
const creationChangeBody = content_1.RelationshipCreationChangeRequestBody.from({
|
|
69
|
+
"@type": "RelationshipCreationChangeRequestBody",
|
|
70
|
+
response: event.data.request.response.content,
|
|
71
|
+
templateContentMetadata: template.content.metadata
|
|
72
|
+
});
|
|
73
|
+
const createRelationshipResponse = await services.transportServices.relationships.createRelationship({ templateId, content: creationChangeBody });
|
|
74
|
+
if (createRelationshipResponse.isError) {
|
|
75
|
+
this.logger.error(`Could not create relationship for templateId '${templateId}'.`);
|
|
76
|
+
// TODO: error state
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const requestId = event.data.request.id;
|
|
80
|
+
const completeRequestResponse = await services.consumptionServices.incomingRequests.complete({
|
|
81
|
+
requestId,
|
|
82
|
+
responseSourceId: createRelationshipResponse.value.changes[0].id
|
|
83
|
+
});
|
|
84
|
+
if (completeRequestResponse.isError) {
|
|
85
|
+
this.logger.error(`Could not complete the request '${requestId}'.`);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async handleRelationshipChangedEvent(event) {
|
|
90
|
+
// only trigger for new relationships that were created from an own template
|
|
91
|
+
if (event.data.status !== types_1.RelationshipStatus.Pending || !event.data.template.isOwn)
|
|
92
|
+
return;
|
|
93
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
94
|
+
const createdRelationship = event.data;
|
|
95
|
+
const template = createdRelationship.template;
|
|
96
|
+
const templateId = template.id;
|
|
97
|
+
// do not trigger for templates without the correct content type
|
|
98
|
+
if (template.content["@type"] !== "RelationshipTemplateBody")
|
|
99
|
+
return;
|
|
100
|
+
const relationshipCreationChange = createdRelationship.changes[0];
|
|
101
|
+
const relationshipChangeId = relationshipCreationChange.id;
|
|
102
|
+
// do not trigger for creation changes without the correct content type
|
|
103
|
+
if (relationshipCreationChange.request.content["@type"] !== "RelationshipCreationChangeRequestBody")
|
|
104
|
+
return;
|
|
105
|
+
const result = await services.consumptionServices.outgoingRequests.createAndCompleteFromRelationshipCreationChange({ templateId, relationshipChangeId });
|
|
106
|
+
if (result.isError) {
|
|
107
|
+
this.logger.error(`Could not create and complete request for templateId '${templateId}' and changeId '${relationshipChangeId}'.`, result.error);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
stop() {
|
|
112
|
+
this.unsubscribeFromAllEvents();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.RequestModule = RequestModule;
|
|
116
|
+
//# sourceMappingURL=RequestModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestModule.js","sourceRoot":"","sources":["../../src/modules/RequestModule.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/index.d.ts
CHANGED
package/dist/modules/index.js
CHANGED
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./DeciderModule"), exports);
|
|
18
18
|
__exportStar(require("./MessageModule"), exports);
|
|
19
|
+
__exportStar(require("./RequestModule"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC"}
|
|
@@ -30,14 +30,14 @@ let CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = clas
|
|
|
30
30
|
}
|
|
31
31
|
async executeInternal(request) {
|
|
32
32
|
const template = await this.relationshipTemplateController.getRelationshipTemplate(transport_1.CoreId.from(request.templateId));
|
|
33
|
+
if (!template) {
|
|
34
|
+
return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipTemplate));
|
|
35
|
+
}
|
|
33
36
|
const relationships = await this.relationshipController.getRelationships({ "cache.changes.id": request.relationshipChangeId }); // eslint-disable-line @typescript-eslint/naming-convention
|
|
34
37
|
if (relationships.length === 0) {
|
|
35
38
|
return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipChange));
|
|
36
39
|
}
|
|
37
40
|
const relationship = relationships[0];
|
|
38
|
-
if (!template) {
|
|
39
|
-
return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipTemplate));
|
|
40
|
-
}
|
|
41
41
|
const params = {
|
|
42
42
|
template: template,
|
|
43
43
|
creationChange: relationship.cache.creationChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuE;AACvE,oDAAgI;AAChI,gDAA6I;AAC7I,mDAAwC;AACxC,6LAA0L;AAE1L,yCAAsD;AACtD,mDAAgD;AAahD,IAAa,qEAAqE,GAAlF,MAAa,qEAAsE,SAAQ,gBAG1F;IACG,YAC6B,0BAAsD,EACtD,sBAA+C,EAC/C,8BAA8D,EAC9D,QAAkB;QAE3C,KAAK,EAAE,CAAC;QALiB,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,2BAAsB,GAAtB,sBAAsB,CAAyB;QAC/C,mCAA8B,GAA9B,8BAA8B,CAAgC;QAC9D,aAAQ,GAAR,QAAQ,CAAU;IAG/C,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAA8E;QAC1G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,2DAA2D;
|
|
1
|
+
{"version":3,"file":"CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuE;AACvE,oDAAgI;AAChI,gDAA6I;AAC7I,mDAAwC;AACxC,6LAA0L;AAE1L,yCAAsD;AACtD,mDAAgD;AAahD,IAAa,qEAAqE,GAAlF,MAAa,qEAAsE,SAAQ,gBAG1F;IACG,YAC6B,0BAAsD,EACtD,sBAA+C,EAC/C,8BAA8D,EAC9D,QAAkB;QAE3C,KAAK,EAAE,CAAC;QALiB,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,2BAAsB,GAAtB,sBAAsB,CAAyB;QAC/C,mCAA8B,GAA9B,8BAA8B,CAAgC;QAC9D,aAAQ,GAAR,QAAQ,CAAU;IAG/C,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAA8E;QAC1G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,uBAAuB,CAAC,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,gCAAoB,CAAC,CAAC,CAAC;SAClF;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,2DAA2D;QAC3L,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,8BAAkB,CAAC,CAAC,CAAC;SAChF;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAmE;YAC3E,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,YAAY,CAAC,KAAM,CAAC,cAAc;SACrD,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAE9G,MAAM,GAAG,GAAG,6BAAa,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,OAAO,CACjB,IAAI,6IAAqE,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CACpK,CAAC;QAEF,OAAO,iBAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACJ,CAAA;AAxCY,qEAAqE;IAKzE,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAH8C,wCAA0B;QAC9B,mCAAuB;QACf,0CAA8B;QACpD,mBAAQ;GARtC,qEAAqE,CAwCjF;AAxCY,sJAAqE"}
|
package/lib-web/nmshd.runtime.js
CHANGED
|
@@ -266,7 +266,6 @@ class Runtime {
|
|
|
266
266
|
this.logger.info("Loading modules...");
|
|
267
267
|
for (const moduleName in this.runtimeConfig.modules) {
|
|
268
268
|
const moduleConfiguration = this.runtimeConfig.modules[moduleName];
|
|
269
|
-
moduleConfiguration.name = moduleName;
|
|
270
269
|
if (!moduleConfiguration.enabled) {
|
|
271
270
|
this.logger.debug(`Skip loading module '${this.getModuleName(moduleConfiguration)}' because it is not enabled.`);
|
|
272
271
|
continue;
|
|
@@ -275,22 +274,34 @@ class Runtime {
|
|
|
275
274
|
this.logger.error(`Skip loading module '${this.getModuleName(moduleConfiguration)}' because has no location.`);
|
|
276
275
|
continue;
|
|
277
276
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
break;
|
|
283
|
-
case "messagemodule":
|
|
284
|
-
const messageModule = new modules_1.MessageModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.MessageModule));
|
|
285
|
-
this.modules.add(messageModule);
|
|
286
|
-
break;
|
|
287
|
-
default:
|
|
288
|
-
await this.loadModule(moduleConfiguration);
|
|
289
|
-
break;
|
|
277
|
+
// load the builtin '@nmshd/runtime' modules based on their specifier after the colon
|
|
278
|
+
if (moduleConfiguration.location.startsWith("@nmshd/runtime:")) {
|
|
279
|
+
this.loadBuiltinModule(moduleConfiguration);
|
|
280
|
+
continue;
|
|
290
281
|
}
|
|
282
|
+
await this.loadModule(moduleConfiguration);
|
|
291
283
|
}
|
|
292
284
|
this.eventBus.publish(new events_1.ModulesLoadedEvent());
|
|
293
285
|
}
|
|
286
|
+
loadBuiltinModule(moduleConfiguration) {
|
|
287
|
+
const moduleSpecifier = moduleConfiguration.location.split(":")[1];
|
|
288
|
+
switch (moduleSpecifier) {
|
|
289
|
+
case "DeciderModule":
|
|
290
|
+
const deciderModule = new modules_1.DeciderModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.DeciderModule));
|
|
291
|
+
this.modules.add(deciderModule);
|
|
292
|
+
break;
|
|
293
|
+
case "RequestModule":
|
|
294
|
+
const requestModule = new modules_1.RequestModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.RequestModule));
|
|
295
|
+
this.modules.add(requestModule);
|
|
296
|
+
break;
|
|
297
|
+
case "MessageModule":
|
|
298
|
+
const messageModule = new modules_1.MessageModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.MessageModule));
|
|
299
|
+
this.modules.add(messageModule);
|
|
300
|
+
break;
|
|
301
|
+
default:
|
|
302
|
+
throw new Error(`Module ${moduleConfiguration.name} is not a builtin module.`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
294
305
|
async initModules() {
|
|
295
306
|
this.logger.info("Initializing modules...");
|
|
296
307
|
for (const module of this.modules.toArray()) {
|
|
@@ -424,11 +435,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
|
424
435
|
const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
|
|
425
436
|
const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
|
|
426
437
|
exports.buildInformation = {
|
|
427
|
-
version: "2.0.0-alpha.
|
|
428
|
-
build: "
|
|
429
|
-
date: "2022-05-
|
|
430
|
-
commit: "
|
|
431
|
-
dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.2","@nmshd/consumption":"2.0.0-alpha.
|
|
438
|
+
version: "2.0.0-alpha.9",
|
|
439
|
+
build: "56",
|
|
440
|
+
date: "2022-05-18T11:33:53+00:00",
|
|
441
|
+
commit: "d2221c4e4ac1057608433f3a6a8110fd67e3ce27",
|
|
442
|
+
dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.2","@nmshd/consumption":"2.0.0-alpha.12","@nmshd/content":"2.0.0-alpha.14","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-alpha.1","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.3","json-stringify-safe":"^5.0.1","luxon":"^2.4.0","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
|
|
432
443
|
libraries: {
|
|
433
444
|
serval: ts_serval_1.buildInformation,
|
|
434
445
|
consumption: consumption_1.buildInformation,
|
|
@@ -3569,6 +3580,132 @@ exports.MessageModule = MessageModule;
|
|
|
3569
3580
|
|
|
3570
3581
|
/***/ }),
|
|
3571
3582
|
|
|
3583
|
+
/***/ "./dist/modules/RequestModule.js":
|
|
3584
|
+
/*!***************************************!*\
|
|
3585
|
+
!*** ./dist/modules/RequestModule.js ***!
|
|
3586
|
+
\***************************************/
|
|
3587
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3588
|
+
|
|
3589
|
+
"use strict";
|
|
3590
|
+
|
|
3591
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3592
|
+
exports.RequestModule = void 0;
|
|
3593
|
+
const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
|
|
3594
|
+
const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
3595
|
+
const events_1 = __webpack_require__(/*! ../events */ "./dist/events/index.js");
|
|
3596
|
+
const RuntimeModule_1 = __webpack_require__(/*! ../extensibility/modules/RuntimeModule */ "./dist/extensibility/modules/RuntimeModule.js");
|
|
3597
|
+
const types_1 = __webpack_require__(/*! ../types */ "./dist/types/index.js");
|
|
3598
|
+
class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
3599
|
+
init() {
|
|
3600
|
+
// Nothing to do here
|
|
3601
|
+
}
|
|
3602
|
+
start() {
|
|
3603
|
+
this.subscribeToEvent(events_1.PeerRelationshipTemplateLoadedEvent, this.handlePeerRelationshipTemplateLoaded.bind(this));
|
|
3604
|
+
this.subscribeToEvent(events_1.MessageReceivedEvent, this.handleMessageReceivedEvent.bind(this));
|
|
3605
|
+
this.subscribeToEvent(events_1.IncomingRequestStatusChangedEvent, this.handleIncomingRequestStatusChanged.bind(this));
|
|
3606
|
+
this.subscribeToEvent(events_1.RelationshipChangedEvent, this.handleRelationshipChangedEvent.bind(this));
|
|
3607
|
+
}
|
|
3608
|
+
async handlePeerRelationshipTemplateLoaded(event) {
|
|
3609
|
+
if (event.data.content["@type"] !== "RelationshipTemplateBody")
|
|
3610
|
+
return;
|
|
3611
|
+
const body = event.data.content;
|
|
3612
|
+
const request = body.onNewRelationship;
|
|
3613
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
3614
|
+
await this.createIncomingRequest(services, request, event.data.id);
|
|
3615
|
+
}
|
|
3616
|
+
async handleMessageReceivedEvent(event) {
|
|
3617
|
+
if (event.data.content["@type"] !== "Request")
|
|
3618
|
+
return;
|
|
3619
|
+
// TODO: JSSNMSHDD-2896 (handle response)
|
|
3620
|
+
const request = event.data.content;
|
|
3621
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
3622
|
+
await this.createIncomingRequest(services, request, event.data.id);
|
|
3623
|
+
}
|
|
3624
|
+
async createIncomingRequest(services, request, requestSourceId) {
|
|
3625
|
+
const receivedRequestResult = await services.consumptionServices.incomingRequests.received({ receivedRequest: request, requestSourceId });
|
|
3626
|
+
if (receivedRequestResult.isError) {
|
|
3627
|
+
this.logger.error(`Could not receive request ${request.id}`, receivedRequestResult.error);
|
|
3628
|
+
return;
|
|
3629
|
+
}
|
|
3630
|
+
const checkPrerequitesResult = await services.consumptionServices.incomingRequests.checkPrerequisites({ requestId: receivedRequestResult.value.id });
|
|
3631
|
+
if (checkPrerequitesResult.isError) {
|
|
3632
|
+
this.logger.error(`Could not check prerequisites for request ${request.id}`, checkPrerequitesResult.error);
|
|
3633
|
+
return;
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
3636
|
+
async handleIncomingRequestStatusChanged(event) {
|
|
3637
|
+
if (event.data.newStatus !== consumption_1.ConsumptionRequestStatus.Decided)
|
|
3638
|
+
return;
|
|
3639
|
+
switch (event.data.request.source.type) {
|
|
3640
|
+
case "RelationshipTemplate":
|
|
3641
|
+
await this.handleIncomingRequestCompletedForRelationship(event);
|
|
3642
|
+
break;
|
|
3643
|
+
default:
|
|
3644
|
+
throw new Error(`Cannot handle source.type '${event.data.request.source.type}'.`);
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3647
|
+
async handleIncomingRequestCompletedForRelationship(event) {
|
|
3648
|
+
const templateId = event.data.request.source.reference;
|
|
3649
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
3650
|
+
const templateResponse = await services.transportServices.relationshipTemplates.getRelationshipTemplate({ id: templateId });
|
|
3651
|
+
if (templateResponse.isError) {
|
|
3652
|
+
this.logger.error(`Could not find template with id '${templateId}'.`);
|
|
3653
|
+
// TODO: error state
|
|
3654
|
+
return;
|
|
3655
|
+
}
|
|
3656
|
+
const template = templateResponse.value;
|
|
3657
|
+
const creationChangeBody = content_1.RelationshipCreationChangeRequestBody.from({
|
|
3658
|
+
"@type": "RelationshipCreationChangeRequestBody",
|
|
3659
|
+
response: event.data.request.response.content,
|
|
3660
|
+
templateContentMetadata: template.content.metadata
|
|
3661
|
+
});
|
|
3662
|
+
const createRelationshipResponse = await services.transportServices.relationships.createRelationship({ templateId, content: creationChangeBody });
|
|
3663
|
+
if (createRelationshipResponse.isError) {
|
|
3664
|
+
this.logger.error(`Could not create relationship for templateId '${templateId}'.`);
|
|
3665
|
+
// TODO: error state
|
|
3666
|
+
return;
|
|
3667
|
+
}
|
|
3668
|
+
const requestId = event.data.request.id;
|
|
3669
|
+
const completeRequestResponse = await services.consumptionServices.incomingRequests.complete({
|
|
3670
|
+
requestId,
|
|
3671
|
+
responseSourceId: createRelationshipResponse.value.changes[0].id
|
|
3672
|
+
});
|
|
3673
|
+
if (completeRequestResponse.isError) {
|
|
3674
|
+
this.logger.error(`Could not complete the request '${requestId}'.`);
|
|
3675
|
+
return;
|
|
3676
|
+
}
|
|
3677
|
+
}
|
|
3678
|
+
async handleRelationshipChangedEvent(event) {
|
|
3679
|
+
// only trigger for new relationships that were created from an own template
|
|
3680
|
+
if (event.data.status !== types_1.RelationshipStatus.Pending || !event.data.template.isOwn)
|
|
3681
|
+
return;
|
|
3682
|
+
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
3683
|
+
const createdRelationship = event.data;
|
|
3684
|
+
const template = createdRelationship.template;
|
|
3685
|
+
const templateId = template.id;
|
|
3686
|
+
// do not trigger for templates without the correct content type
|
|
3687
|
+
if (template.content["@type"] !== "RelationshipTemplateBody")
|
|
3688
|
+
return;
|
|
3689
|
+
const relationshipCreationChange = createdRelationship.changes[0];
|
|
3690
|
+
const relationshipChangeId = relationshipCreationChange.id;
|
|
3691
|
+
// do not trigger for creation changes without the correct content type
|
|
3692
|
+
if (relationshipCreationChange.request.content["@type"] !== "RelationshipCreationChangeRequestBody")
|
|
3693
|
+
return;
|
|
3694
|
+
const result = await services.consumptionServices.outgoingRequests.createAndCompleteFromRelationshipCreationChange({ templateId, relationshipChangeId });
|
|
3695
|
+
if (result.isError) {
|
|
3696
|
+
this.logger.error(`Could not create and complete request for templateId '${templateId}' and changeId '${relationshipChangeId}'.`, result.error);
|
|
3697
|
+
return;
|
|
3698
|
+
}
|
|
3699
|
+
}
|
|
3700
|
+
stop() {
|
|
3701
|
+
this.unsubscribeFromAllEvents();
|
|
3702
|
+
}
|
|
3703
|
+
}
|
|
3704
|
+
exports.RequestModule = RequestModule;
|
|
3705
|
+
//# sourceMappingURL=RequestModule.js.map
|
|
3706
|
+
|
|
3707
|
+
/***/ }),
|
|
3708
|
+
|
|
3572
3709
|
/***/ "./dist/modules/index.js":
|
|
3573
3710
|
/*!*******************************!*\
|
|
3574
3711
|
!*** ./dist/modules/index.js ***!
|
|
@@ -3594,6 +3731,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
3594
3731
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3595
3732
|
__exportStar(__webpack_require__(/*! ./DeciderModule */ "./dist/modules/DeciderModule.js"), exports);
|
|
3596
3733
|
__exportStar(__webpack_require__(/*! ./MessageModule */ "./dist/modules/MessageModule.js"), exports);
|
|
3734
|
+
__exportStar(__webpack_require__(/*! ./RequestModule */ "./dist/modules/RequestModule.js"), exports);
|
|
3597
3735
|
//# sourceMappingURL=index.js.map
|
|
3598
3736
|
|
|
3599
3737
|
/***/ }),
|
|
@@ -9092,14 +9230,14 @@ let CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = clas
|
|
|
9092
9230
|
}
|
|
9093
9231
|
async executeInternal(request) {
|
|
9094
9232
|
const template = await this.relationshipTemplateController.getRelationshipTemplate(transport_1.CoreId.from(request.templateId));
|
|
9233
|
+
if (!template) {
|
|
9234
|
+
return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipTemplate));
|
|
9235
|
+
}
|
|
9095
9236
|
const relationships = await this.relationshipController.getRelationships({ "cache.changes.id": request.relationshipChangeId }); // eslint-disable-line @typescript-eslint/naming-convention
|
|
9096
9237
|
if (relationships.length === 0) {
|
|
9097
9238
|
return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipChange));
|
|
9098
9239
|
}
|
|
9099
9240
|
const relationship = relationships[0];
|
|
9100
|
-
if (!template) {
|
|
9101
|
-
return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipTemplate));
|
|
9102
|
-
}
|
|
9103
9241
|
const params = {
|
|
9104
9242
|
template: template,
|
|
9105
9243
|
creationChange: relationship.cache.creationChange
|