@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.
@@ -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.4",
11
- build: "90",
12
- date: "2022-07-21T15:07:13+00:00",
13
- commit: "6c8dbbcc3dc5c98d1e524a649bf9c03efa92a661",
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
- if (event.data.content["@type"] !== "RelationshipTemplateBody")
21
+ const template = event.data;
22
+ if (template.content["@type"] !== "RelationshipTemplateBody")
22
23
  return;
23
- const body = event.data.content;
24
+ const body = template.content;
24
25
  const request = body.onNewRelationship;
25
26
  const services = this.runtime.getServices(event.eventTargetAddress);
26
- await this.createIncomingRequest(services, request, event.data.id);
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":"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"}
1
+ {"version":3,"file":"RequestModule.js","sourceRoot":"","sources":["../../src/modules/RequestModule.ts"],"names":[],"mappings":"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"}
@@ -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.4",
442
- build: "90",
443
- date: "2022-07-21T15:07:13+00:00",
444
- commit: "6c8dbbcc3dc5c98d1e524a649bf9c03efa92a661",
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
- if (event.data.content["@type"] !== "RelationshipTemplateBody")
4224
+ const template = event.data;
4225
+ if (template.content["@type"] !== "RelationshipTemplateBody")
4225
4226
  return;
4226
- const body = event.data.content;
4227
+ const body = template.content;
4227
4228
  const request = body.onNewRelationship;
4228
4229
  const services = this.runtime.getServices(event.eventTargetAddress);
4229
- await this.createIncomingRequest(services, request, event.data.id);
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);