@nmshd/runtime 2.0.0-beta.4 → 2.0.0-beta.5
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 +4 -4
- package/dist/modules/RequestModule.js +25 -3
- package/dist/modules/RequestModule.js.map +1 -1
- package/lib-web/nmshd.runtime.js +29 -7
- package/lib-web/nmshd.runtime.js.map +1 -1
- package/lib-web/nmshd.runtime.min.js +1 -1
- package/lib-web/nmshd.runtime.min.js.map +1 -1
- package/package.json +1 -1
package/dist/buildInformation.js
CHANGED
|
@@ -7,10 +7,10 @@ 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-beta.
|
|
11
|
-
build: "
|
|
12
|
-
date: "2022-07-
|
|
13
|
-
commit: "
|
|
10
|
+
version: "2.0.0-beta.5",
|
|
11
|
+
build: "91",
|
|
12
|
+
date: "2022-07-22T13:51:24+00:00",
|
|
13
|
+
commit: "7421531cbc6e1295d6bdb6dc3847931e8b2d0d27",
|
|
14
14
|
dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^2.0.1","@nmshd/consumption":"2.0.0-beta.2","@nmshd/content":"2.0.0-alpha.45","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.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":"^3.0.1","qrcode":"1.5.1","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,
|
|
@@ -18,12 +18,34 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
|
18
18
|
this.subscribeToEvent(events_1.RelationshipChangedEvent, this.handleRelationshipChangedEvent.bind(this));
|
|
19
19
|
}
|
|
20
20
|
async handlePeerRelationshipTemplateLoaded(event) {
|
|
21
|
-
|
|
21
|
+
const template = event.data;
|
|
22
|
+
if (template.content["@type"] !== "RelationshipTemplateBody")
|
|
22
23
|
return;
|
|
23
|
-
const body =
|
|
24
|
+
const body = template.content;
|
|
24
25
|
const request = body.onNewRelationship;
|
|
25
26
|
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
26
|
-
await
|
|
27
|
+
const requestResult = await services.consumptionServices.incomingRequests.getRequests({ query: { "source.reference": template.id } });
|
|
28
|
+
if (requestResult.isError) {
|
|
29
|
+
this.logger.error(`Could not get requests for template '${template.id}'. Root error:`, requestResult.error);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (requestResult.value.some((r) => r.status !== consumption_1.LocalRequestStatus.Completed)) {
|
|
33
|
+
// TODO: JSSNMSHDD-3111 (inform caller of `loadPeerRelationshipTemplate` about the Request)
|
|
34
|
+
this.logger.warn(`There is already an open Request for the RelationshipTemplate '${template.id}'. Skipping creation of a new request.`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const getRelationshipsResult = await services.transportServices.relationships.getRelationships({ query: { peer: template.createdBy } });
|
|
38
|
+
if (getRelationshipsResult.isError) {
|
|
39
|
+
this.logger.error(`Could not get relationships for template '${template.id}'. Root error:`, getRelationshipsResult.error);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (getRelationshipsResult.isSuccess && getRelationshipsResult.value.some((r) => r.status === types_1.RelationshipStatus.Pending || r.status === types_1.RelationshipStatus.Active)) {
|
|
43
|
+
// TODO: use body.onExistingRelationship if exists
|
|
44
|
+
// TODO: JSSNMSHDD-3111 (inform caller of `loadPeerRelationshipTemplate` about the Relationship if body.onExistingRelationship not exists)
|
|
45
|
+
this.logger.warn(`There is already an open or pending Relationship for the RelationshipTemplate '${template.id}'. Skipping creation of a new request.`);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
await this.createIncomingRequest(services, request, template.id);
|
|
27
49
|
}
|
|
28
50
|
async handleMessageReceivedEvent(event) {
|
|
29
51
|
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestModule.js","sourceRoot":"","sources":["../../src/modules/RequestModule.ts"],"names":[],"mappings":";;;AAAA,oDAAwD;AACxD,4CAAgI;AAChI,sCAAqK;AACrK,0EAAuE;AAEvE,oCAA8C;AAE9C,MAAa,aAAc,SAAQ,6BAAa;IACrC,IAAI;QACP,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,4CAAmC,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,gBAAgB,CAAC,6BAAoB,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,gBAAgB,CAAC,yBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,gBAAgB,CAAC,0CAAiC,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,gBAAgB,CAAC,iCAAwB,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,CAAC;IAEO,KAAK,CAAC,oCAAoC,CAAC,KAA0C;QACzF,
|
|
1
|
+
{"version":3,"file":"RequestModule.js","sourceRoot":"","sources":["../../src/modules/RequestModule.ts"],"names":[],"mappings":"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"}
|
package/lib-web/nmshd.runtime.js
CHANGED
|
@@ -438,10 +438,10 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
|
438
438
|
const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
|
|
439
439
|
const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
|
|
440
440
|
exports.buildInformation = {
|
|
441
|
-
version: "2.0.0-beta.
|
|
442
|
-
build: "
|
|
443
|
-
date: "2022-07-
|
|
444
|
-
commit: "
|
|
441
|
+
version: "2.0.0-beta.5",
|
|
442
|
+
build: "91",
|
|
443
|
+
date: "2022-07-22T13:51:24+00:00",
|
|
444
|
+
commit: "7421531cbc6e1295d6bdb6dc3847931e8b2d0d27",
|
|
445
445
|
dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^2.0.1","@nmshd/consumption":"2.0.0-beta.2","@nmshd/content":"2.0.0-alpha.45","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.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":"^3.0.1","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
|
|
446
446
|
libraries: {
|
|
447
447
|
serval: ts_serval_1.buildInformation,
|
|
@@ -4221,12 +4221,34 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
|
|
|
4221
4221
|
this.subscribeToEvent(events_1.RelationshipChangedEvent, this.handleRelationshipChangedEvent.bind(this));
|
|
4222
4222
|
}
|
|
4223
4223
|
async handlePeerRelationshipTemplateLoaded(event) {
|
|
4224
|
-
|
|
4224
|
+
const template = event.data;
|
|
4225
|
+
if (template.content["@type"] !== "RelationshipTemplateBody")
|
|
4225
4226
|
return;
|
|
4226
|
-
const body =
|
|
4227
|
+
const body = template.content;
|
|
4227
4228
|
const request = body.onNewRelationship;
|
|
4228
4229
|
const services = this.runtime.getServices(event.eventTargetAddress);
|
|
4229
|
-
await
|
|
4230
|
+
const requestResult = await services.consumptionServices.incomingRequests.getRequests({ query: { "source.reference": template.id } });
|
|
4231
|
+
if (requestResult.isError) {
|
|
4232
|
+
this.logger.error(`Could not get requests for template '${template.id}'. Root error:`, requestResult.error);
|
|
4233
|
+
return;
|
|
4234
|
+
}
|
|
4235
|
+
if (requestResult.value.some((r) => r.status !== consumption_1.LocalRequestStatus.Completed)) {
|
|
4236
|
+
// TODO: JSSNMSHDD-3111 (inform caller of `loadPeerRelationshipTemplate` about the Request)
|
|
4237
|
+
this.logger.warn(`There is already an open Request for the RelationshipTemplate '${template.id}'. Skipping creation of a new request.`);
|
|
4238
|
+
return;
|
|
4239
|
+
}
|
|
4240
|
+
const getRelationshipsResult = await services.transportServices.relationships.getRelationships({ query: { peer: template.createdBy } });
|
|
4241
|
+
if (getRelationshipsResult.isError) {
|
|
4242
|
+
this.logger.error(`Could not get relationships for template '${template.id}'. Root error:`, getRelationshipsResult.error);
|
|
4243
|
+
return;
|
|
4244
|
+
}
|
|
4245
|
+
if (getRelationshipsResult.isSuccess && getRelationshipsResult.value.some((r) => r.status === types_1.RelationshipStatus.Pending || r.status === types_1.RelationshipStatus.Active)) {
|
|
4246
|
+
// TODO: use body.onExistingRelationship if exists
|
|
4247
|
+
// TODO: JSSNMSHDD-3111 (inform caller of `loadPeerRelationshipTemplate` about the Relationship if body.onExistingRelationship not exists)
|
|
4248
|
+
this.logger.warn(`There is already an open or pending Relationship for the RelationshipTemplate '${template.id}'. Skipping creation of a new request.`);
|
|
4249
|
+
return;
|
|
4250
|
+
}
|
|
4251
|
+
await this.createIncomingRequest(services, request, template.id);
|
|
4230
4252
|
}
|
|
4231
4253
|
async handleMessageReceivedEvent(event) {
|
|
4232
4254
|
const services = this.runtime.getServices(event.eventTargetAddress);
|