@nmshd/runtime 2.2.1 → 2.2.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 (27) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/events/EventProxy.js +6 -2
  3. package/dist/events/EventProxy.js.map +1 -1
  4. package/dist/events/consumption/OutgoingRequestCreatedAndCompletedEvent.d.ts +6 -0
  5. package/dist/events/consumption/OutgoingRequestCreatedAndCompletedEvent.js +14 -0
  6. package/dist/events/consumption/OutgoingRequestCreatedAndCompletedEvent.js.map +1 -0
  7. package/dist/events/consumption/index.d.ts +1 -0
  8. package/dist/events/consumption/index.js +1 -0
  9. package/dist/events/consumption/index.js.map +1 -1
  10. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.d.ts +4 -4
  11. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js +5 -5
  12. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js.map +1 -1
  13. package/dist/modules/RequestModule.d.ts +3 -1
  14. package/dist/modules/RequestModule.js +26 -10
  15. package/dist/modules/RequestModule.js.map +1 -1
  16. package/dist/useCases/common/Schemas.d.ts +1 -1
  17. package/dist/useCases/common/Schemas.js +18 -7
  18. package/dist/useCases/common/Schemas.js.map +1 -1
  19. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js.map +1 -1
  20. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.d.ts +9 -7
  21. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js +23 -15
  22. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map +1 -1
  23. package/lib-web/nmshd.runtime.js +108 -44
  24. package/lib-web/nmshd.runtime.js.map +1 -1
  25. package/lib-web/nmshd.runtime.min.js +3 -3
  26. package/lib-web/nmshd.runtime.min.js.map +1 -1
  27. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CompleteOutgoingRequest.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/requests/CompleteOutgoingRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA6D;AAC7D,oDAAmG;AACnG,4CAAwD;AACxD,gDAAsE;AACtE,mDAAwC;AAExC,yCAAuE;AACvE,mDAAgD;AAOhD,4EAA4E;AAC5E,uEAAuE;AACvE,+EAA+E;AAC/E,QAAQ;AACR,IAAI;AAEG,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gBAAwD;IACxG,YAA4C,0BAAsD,EAA2B,iBAAoC;QAC7J,KAAK,EAAE,CAAC;QADgC,+BAA0B,GAA1B,0BAA0B,CAA4B;QAA2B,sBAAiB,GAAjB,iBAAiB,CAAmB;IAEjK,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAuC;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAExF,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAO,CAAC,CAAC,CAAC;SACrE;QAED,MAAM,MAAM,GAAsC;YAC9C,SAAS,EAAE,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC1D,gBAAgB,EAAE,kBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACzD,oBAAoB,EAAE,OAAO;SAChC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5E,OAAO,iBAAM,CAAC,EAAE,CAAC,6BAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;CACJ,CAAA;AAtBY,8BAA8B;IACnB,WAAA,uBAAM,CAAA;IAA2E,WAAA,uBAAM,CAAA;qCAAnC,wCAA0B,EAA8C,6BAAiB;GADxJ,8BAA8B,CAsB1C;AAtBY,wEAA8B"}
1
+ {"version":3,"file":"CompleteOutgoingRequest.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/requests/CompleteOutgoingRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA6D;AAC7D,oDAAoG;AACpG,4CAAwD;AACxD,gDAAsE;AACtE,mDAAwC;AAExC,yCAAuE;AACvE,mDAAgD;AAOhD,4EAA4E;AAC5E,uEAAuE;AACvE,+EAA+E;AAC/E,QAAQ;AACR,IAAI;AAEG,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,gBAAwD;IACxG,YAA4C,0BAAsD,EAA2B,iBAAoC;QAC7J,KAAK,EAAE,CAAC;QADgC,+BAA0B,GAA1B,0BAA0B,CAA4B;QAA2B,sBAAiB,GAAjB,iBAAiB,CAAmB;IAEjK,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAuC;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAExF,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAO,CAAC,CAAC,CAAC;SACrE;QAED,MAAM,MAAM,GAAuC;YAC/C,SAAS,EAAE,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC1D,gBAAgB,EAAE,kBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACzD,oBAAoB,EAAE,OAAO;SAChC,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5E,OAAO,iBAAM,CAAC,EAAE,CAAC,6BAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;CACJ,CAAA;AAtBY,8BAA8B;IACnB,WAAA,uBAAM,CAAA;IAA2E,WAAA,uBAAM,CAAA;qCAAnC,wCAA0B,EAA8C,6BAAiB;GADxJ,8BAA8B,CAsB1C;AAtBY,wEAA8B"}
@@ -1,16 +1,18 @@
1
1
  import { ApplicationError, Result } from "@js-soft/ts-utils";
2
2
  import { OutgoingRequestsController } from "@nmshd/consumption";
3
- import { RelationshipsController, RelationshipTemplateController } from "@nmshd/transport";
3
+ import { MessageController, RelationshipsController, RelationshipTemplateController } from "@nmshd/transport";
4
4
  import { LocalRequestDTO } from "../../../types";
5
- import { RelationshipChangeIdString, RelationshipTemplateIdString, UseCase } from "../../common";
6
- export interface CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest {
5
+ import { MessageIdString, RelationshipChangeIdString, RelationshipTemplateIdString, UseCase } from "../../common";
6
+ export interface CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest {
7
7
  templateId: RelationshipTemplateIdString;
8
- relationshipChangeId: RelationshipChangeIdString;
8
+ responseSourceId: RelationshipChangeIdString | MessageIdString;
9
9
  }
10
- export declare class CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase extends UseCase<CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest, LocalRequestDTO> {
10
+ export declare class CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase extends UseCase<CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest, LocalRequestDTO> {
11
11
  private readonly outgoingRequestsController;
12
12
  private readonly relationshipController;
13
13
  private readonly relationshipTemplateController;
14
- constructor(outgoingRequestsController: OutgoingRequestsController, relationshipController: RelationshipsController, relationshipTemplateController: RelationshipTemplateController);
15
- protected executeInternal(request: CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest): Promise<Result<LocalRequestDTO, ApplicationError>>;
14
+ private readonly messageController;
15
+ constructor(outgoingRequestsController: OutgoingRequestsController, relationshipController: RelationshipsController, relationshipTemplateController: RelationshipTemplateController, messageController: MessageController);
16
+ protected executeInternal(request: CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest): Promise<Result<LocalRequestDTO, ApplicationError>>;
17
+ private getResponseSource;
16
18
  }
@@ -12,45 +12,53 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = void 0;
15
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = void 0;
16
16
  const ts_utils_1 = require("@js-soft/ts-utils");
17
17
  const consumption_1 = require("@nmshd/consumption");
18
18
  const transport_1 = require("@nmshd/transport");
19
19
  const typescript_ioc_1 = require("typescript-ioc");
20
20
  const common_1 = require("../../common");
21
21
  const RequestMapper_1 = require("./RequestMapper");
22
- let CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = class CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase extends common_1.UseCase {
23
- constructor(outgoingRequestsController, relationshipController, relationshipTemplateController) {
22
+ let CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = class CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase extends common_1.UseCase {
23
+ constructor(outgoingRequestsController, relationshipController, relationshipTemplateController, messageController) {
24
24
  super();
25
25
  this.outgoingRequestsController = outgoingRequestsController;
26
26
  this.relationshipController = relationshipController;
27
27
  this.relationshipTemplateController = relationshipTemplateController;
28
+ this.messageController = messageController;
28
29
  }
29
30
  async executeInternal(request) {
30
31
  const template = await this.relationshipTemplateController.getRelationshipTemplate(transport_1.CoreId.from(request.templateId));
31
32
  if (!template) {
32
33
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipTemplate));
33
34
  }
34
- const relationships = await this.relationshipController.getRelationships({ "cache.changes.id": request.relationshipChangeId });
35
- if (relationships.length === 0) {
35
+ const responseSource = await this.getResponseSource(request.responseSourceId);
36
+ if (!responseSource) {
36
37
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipChange));
37
38
  }
38
- const relationship = relationships[0];
39
- const params = {
40
- template: template,
41
- creationChange: relationship.cache.creationChange
42
- };
43
- const localRequest = await this.outgoingRequestsController.createFromRelationshipCreationChange(params);
39
+ const localRequest = await this.outgoingRequestsController.createFromRelationshipTemplateResponse({ template, responseSource });
44
40
  return ts_utils_1.Result.ok(RequestMapper_1.RequestMapper.toLocalRequestDTO(localRequest));
45
41
  }
42
+ async getResponseSource(responseSourceId) {
43
+ if (responseSourceId.startsWith("MSG"))
44
+ return await this.messageController.getMessage(transport_1.CoreId.from(responseSourceId));
45
+ const relationships = await this.relationshipController.getRelationships({ "cache.changes.id": responseSourceId });
46
+ if (relationships.length !== 0) {
47
+ const relationship = relationships[0];
48
+ return relationship.cache.creationChange;
49
+ }
50
+ return;
51
+ }
46
52
  };
47
- CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = __decorate([
53
+ CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = __decorate([
48
54
  __param(0, typescript_ioc_1.Inject),
49
55
  __param(1, typescript_ioc_1.Inject),
50
56
  __param(2, typescript_ioc_1.Inject),
57
+ __param(3, typescript_ioc_1.Inject),
51
58
  __metadata("design:paramtypes", [consumption_1.OutgoingRequestsController,
52
59
  transport_1.RelationshipsController,
53
- transport_1.RelationshipTemplateController])
54
- ], CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase);
55
- exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase;
60
+ transport_1.RelationshipTemplateController,
61
+ transport_1.MessageController])
62
+ ], CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase);
63
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase;
56
64
  //# sourceMappingURL=CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA6D;AAC7D,oDAAgI;AAChI,gDAA6I;AAC7I,mDAAwC;AAExC,yCAAgH;AAChH,mDAAgD;AAOzC,IAAM,qEAAqE,GAA3E,MAAM,qEAAsE,SAAQ,gBAG1F;IACG,YAC6B,0BAAsD,EACtD,sBAA+C,EAC/C,8BAA8D;QAEvF,KAAK,EAAE,CAAC;QAJiB,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,2BAAsB,GAAtB,sBAAsB,CAAyB;QAC/C,mCAA8B,GAA9B,8BAA8B,CAAgC;IAG3F,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;QAC/H,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,YAAY,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAExG,OAAO,iBAAM,CAAC,EAAE,CAAC,6BAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;CACJ,CAAA;AAjCY,qEAAqE;IAKzE,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAF8C,wCAA0B;QAC9B,mCAAuB;QACf,0CAA8B;GAPlF,qEAAqE,CAiCjF;AAjCY,sJAAqE"}
1
+ {"version":3,"file":"CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js","sourceRoot":"","sources":["../../../../src/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAA6D;AAC7D,oDAAgE;AAChE,gDAAgK;AAChK,mDAAwC;AAExC,yCAAiI;AACjI,mDAAgD;AAOzC,IAAM,uEAAuE,GAA7E,MAAM,uEAAwE,SAAQ,gBAG5F;IACG,YAC6B,0BAAsD,EACtD,sBAA+C,EAC/C,8BAA8D,EAC9D,iBAAoC;QAE7D,KAAK,EAAE,CAAC;QALiB,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,2BAAsB,GAAtB,sBAAsB,CAAyB;QAC/C,mCAA8B,GAA9B,8BAA8B,CAAgC;QAC9D,sBAAiB,GAAjB,iBAAiB,CAAmB;IAGjE,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAgF;QAC5G,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,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE9E,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,iBAAM,CAAC,IAAI,CAAC,sBAAa,CAAC,OAAO,CAAC,cAAc,CAAC,8BAAkB,CAAC,CAAC,CAAC;SAChF;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,sCAAsC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QAEhI,OAAO,iBAAM,CAAC,EAAE,CAAC,6BAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,gBAAwB;QACpD,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEtH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACnH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,YAAY,CAAC,KAAM,CAAC,cAAc,CAAC;SAC7C;QAED,OAAO;IACX,CAAC;CACJ,CAAA;AAzCY,uEAAuE;IAK3E,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;IACN,WAAA,uBAAM,CAAA;qCAH8C,wCAA0B;QAC9B,mCAAuB;QACf,0CAA8B;QAC3C,6BAAiB;GARxD,uEAAuE,CAyCnF;AAzCY,0JAAuE"}
@@ -466,11 +466,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
466
466
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
467
467
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
468
468
  exports.buildInformation = {
469
- version: "2.2.1",
470
- build: "134",
471
- date: "2022-12-06T13:09:23+00:00",
472
- commit: "d7f19253acca6735402d45f41ccc4c30d42ff2b5",
473
- dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.5","@js-soft/ts-utils":"^2.3.0","@nmshd/consumption":"2.3.0","@nmshd/content":"2.1.2","@nmshd/crypto":"2.0.3","@nmshd/transport":"2.0.0","ajv":"^8.11.2","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.1.1","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
469
+ version: "2.2.2",
470
+ build: "135",
471
+ date: "2022-12-08T13:35:57+00:00",
472
+ commit: "9720f8b9f9a4315610eb5389975687fdca3efd62",
473
+ dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.5","@js-soft/ts-utils":"^2.3.0","@nmshd/consumption":"3.0.1","@nmshd/content":"2.1.2","@nmshd/crypto":"2.0.3","@nmshd/transport":"2.0.0","ajv":"^8.11.2","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.1.1","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
474
474
  libraries: {
475
475
  serval: ts_serval_1.buildInformation,
476
476
  consumption: consumption_1.buildInformation,
@@ -2480,8 +2480,12 @@ class EventProxy {
2480
2480
  this.subscribeToSourceEvent(consumption.OutgoingRequestCreatedEvent, (event) => {
2481
2481
  this.targetEventBus.publish(new consumption_1.OutgoingRequestCreatedEvent(event.eventTargetAddress, useCases_1.RequestMapper.toLocalRequestDTO(event.data)));
2482
2482
  });
2483
- this.subscribeToSourceEvent(consumption.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent, (event) => {
2484
- this.targetEventBus.publish(new consumption_1.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(event.eventTargetAddress, useCases_1.RequestMapper.toLocalRequestDTO(event.data)));
2483
+ this.subscribeToSourceEvent(consumption.OutgoingRequestCreatedAndCompletedEvent, (event) => {
2484
+ const mappedRequest = useCases_1.RequestMapper.toLocalRequestDTO(event.data);
2485
+ this.targetEventBus.publish(new consumption_1.OutgoingRequestCreatedAndCompletedEvent(event.eventTargetAddress, mappedRequest));
2486
+ if (event.data.response?.source?.type === "RelationshipChange") {
2487
+ this.targetEventBus.publish(new consumption_1.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(event.eventTargetAddress, mappedRequest));
2488
+ }
2485
2489
  });
2486
2490
  this.subscribeToSourceEvent(consumption.OutgoingRequestStatusChangedEvent, (event) => {
2487
2491
  this.targetEventBus.publish(new consumption_1.OutgoingRequestStatusChangedEvent(event.eventTargetAddress, {
@@ -2741,6 +2745,30 @@ var MessageProcessedResult;
2741
2745
 
2742
2746
  /***/ }),
2743
2747
 
2748
+ /***/ "./dist/events/consumption/OutgoingRequestCreatedAndCompletedEvent.js":
2749
+ /*!****************************************************************************!*\
2750
+ !*** ./dist/events/consumption/OutgoingRequestCreatedAndCompletedEvent.js ***!
2751
+ \****************************************************************************/
2752
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2753
+
2754
+ "use strict";
2755
+
2756
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2757
+ exports.OutgoingRequestCreatedAndCompletedEvent = void 0;
2758
+ const DataEvent_1 = __webpack_require__(/*! ../DataEvent */ "./dist/events/DataEvent.js");
2759
+ class OutgoingRequestCreatedAndCompletedEvent extends DataEvent_1.DataEvent {
2760
+ constructor(eventTargetAddress, data) {
2761
+ super(OutgoingRequestCreatedAndCompletedEvent.namespace, eventTargetAddress, data);
2762
+ if (!data.isOwn)
2763
+ throw new Error("Cannot create this event for an incoming Request");
2764
+ }
2765
+ }
2766
+ exports.OutgoingRequestCreatedAndCompletedEvent = OutgoingRequestCreatedAndCompletedEvent;
2767
+ OutgoingRequestCreatedAndCompletedEvent.namespace = "consumption.outgoingRequestCreatedAndCompleted";
2768
+ //# sourceMappingURL=OutgoingRequestCreatedAndCompletedEvent.js.map
2769
+
2770
+ /***/ }),
2771
+
2744
2772
  /***/ "./dist/events/consumption/OutgoingRequestCreatedEvent.js":
2745
2773
  /*!****************************************************************!*\
2746
2774
  !*** ./dist/events/consumption/OutgoingRequestCreatedEvent.js ***!
@@ -2923,6 +2951,7 @@ __exportStar(__webpack_require__(/*! ./IncomingRequestReceivedEvent */ "./dist/e
2923
2951
  __exportStar(__webpack_require__(/*! ./IncomingRequestStatusChangedEvent */ "./dist/events/consumption/IncomingRequestStatusChangedEvent.js"), exports);
2924
2952
  __exportStar(__webpack_require__(/*! ./MailReceivedEvent */ "./dist/events/consumption/MailReceivedEvent.js"), exports);
2925
2953
  __exportStar(__webpack_require__(/*! ./MessageProcessedEvent */ "./dist/events/consumption/MessageProcessedEvent.js"), exports);
2954
+ __exportStar(__webpack_require__(/*! ./OutgoingRequestCreatedAndCompletedEvent */ "./dist/events/consumption/OutgoingRequestCreatedAndCompletedEvent.js"), exports);
2926
2955
  __exportStar(__webpack_require__(/*! ./OutgoingRequestCreatedEvent */ "./dist/events/consumption/OutgoingRequestCreatedEvent.js"), exports);
2927
2956
  __exportStar(__webpack_require__(/*! ./OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent */ "./dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js"), exports);
2928
2957
  __exportStar(__webpack_require__(/*! ./OutgoingRequestStatusChangedEvent */ "./dist/events/consumption/OutgoingRequestStatusChangedEvent.js"), exports);
@@ -3819,11 +3848,11 @@ exports.OutgoingRequestsFacade = void 0;
3819
3848
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
3820
3849
  const useCases_1 = __webpack_require__(/*! ../../../useCases */ "./dist/useCases/index.js");
3821
3850
  let OutgoingRequestsFacade = class OutgoingRequestsFacade {
3822
- constructor(canCreateUseCase, createUseCase, sentUseCase, createAndCompleteFromRelationshipCreationChangeUseCase, completeUseCase, getRequestUseCase, getRequestsUseCase, discardRequestUseCase) {
3851
+ constructor(canCreateUseCase, createUseCase, sentUseCase, createAndCompleteFromRelationshipTemplateResponseUseCase, completeUseCase, getRequestUseCase, getRequestsUseCase, discardRequestUseCase) {
3823
3852
  this.canCreateUseCase = canCreateUseCase;
3824
3853
  this.createUseCase = createUseCase;
3825
3854
  this.sentUseCase = sentUseCase;
3826
- this.createAndCompleteFromRelationshipCreationChangeUseCase = createAndCompleteFromRelationshipCreationChangeUseCase;
3855
+ this.createAndCompleteFromRelationshipTemplateResponseUseCase = createAndCompleteFromRelationshipTemplateResponseUseCase;
3827
3856
  this.completeUseCase = completeUseCase;
3828
3857
  this.getRequestUseCase = getRequestUseCase;
3829
3858
  this.getRequestsUseCase = getRequestsUseCase;
@@ -3835,8 +3864,8 @@ let OutgoingRequestsFacade = class OutgoingRequestsFacade {
3835
3864
  async create(request) {
3836
3865
  return await this.createUseCase.execute(request);
3837
3866
  }
3838
- async createAndCompleteFromRelationshipCreationChange(request) {
3839
- return await this.createAndCompleteFromRelationshipCreationChangeUseCase.execute(request);
3867
+ async createAndCompleteFromRelationshipTemplateResponse(request) {
3868
+ return await this.createAndCompleteFromRelationshipTemplateResponseUseCase.execute(request);
3840
3869
  }
3841
3870
  async sent(request) {
3842
3871
  return await this.sentUseCase.execute(request);
@@ -3866,7 +3895,7 @@ OutgoingRequestsFacade = __decorate([
3866
3895
  __metadata("design:paramtypes", [useCases_1.CanCreateOutgoingRequestUseCase,
3867
3896
  useCases_1.CreateOutgoingRequestUseCase,
3868
3897
  useCases_1.SentOutgoingRequestUseCase,
3869
- useCases_1.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase,
3898
+ useCases_1.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase,
3870
3899
  useCases_1.CompleteOutgoingRequestUseCase,
3871
3900
  useCases_1.GetOutgoingRequestUseCase,
3872
3901
  useCases_1.GetOutgoingRequestsUseCase,
@@ -5088,6 +5117,7 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5088
5117
  break;
5089
5118
  case "Response":
5090
5119
  const receivedResponse = message.content;
5120
+ // TODO: create the Response with createAndCompleteFromRelationshipTemplateResponse in case of a Request from Template
5091
5121
  const result = await services.consumptionServices.outgoingRequests.complete({ receivedResponse, messageId: message.id });
5092
5122
  if (result.isError) {
5093
5123
  this.logger.error(`Could not complete outgoing request for message id ${message.id} due to ${result.error}. Root error:`, result.error);
@@ -5116,9 +5146,9 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5116
5146
  this.logger.error(`Could not receive request ${request.id}. Root error:`, receivedRequestResult.error);
5117
5147
  return false;
5118
5148
  }
5119
- const checkPrerequitesResult = await services.consumptionServices.incomingRequests.checkPrerequisites({ requestId: receivedRequestResult.value.id });
5120
- if (checkPrerequitesResult.isError) {
5121
- this.logger.error(`Could not check prerequisites for request ${request.id}. Root error:`, checkPrerequitesResult.error);
5149
+ const checkPrerequisitesResult = await services.consumptionServices.incomingRequests.checkPrerequisites({ requestId: receivedRequestResult.value.id });
5150
+ if (checkPrerequisitesResult.isError) {
5151
+ this.logger.error(`Could not check prerequisites for request ${request.id}. Root error:`, checkPrerequisitesResult.error);
5122
5152
  return false;
5123
5153
  }
5124
5154
  return true;
@@ -5129,7 +5159,7 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5129
5159
  const request = event.data.request;
5130
5160
  switch (request.source.type) {
5131
5161
  case "RelationshipTemplate":
5132
- await this.handleIncomingRequestDecidedForRelationship(event);
5162
+ await this.handleIncomingRequestDecidedForRelationshipTemplate(event);
5133
5163
  break;
5134
5164
  case "Message":
5135
5165
  await this.handleIncomingRequestDecidedForMessage(event);
@@ -5138,10 +5168,20 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5138
5168
  throw new Error(`Cannot handle source.type '${request.source.type}'.`);
5139
5169
  }
5140
5170
  }
5141
- async handleIncomingRequestDecidedForRelationship(event) {
5171
+ async handleIncomingRequestDecidedForRelationshipTemplate(event) {
5142
5172
  const request = event.data.request;
5143
- const templateId = request.source.reference;
5144
5173
  const services = await this.runtime.getServices(event.eventTargetAddress);
5174
+ const activeRelationshipsToPeer = (await services.transportServices.relationships.getRelationships({ query: { peer: event.data.request.peer, status: types_1.RelationshipStatus.Active } })).value;
5175
+ if (activeRelationshipsToPeer.length === 0) {
5176
+ await this.respondToRequestViaRelationship(request, event.eventTargetAddress);
5177
+ }
5178
+ else {
5179
+ await this.respondToRequestViaMessage(request, event.eventTargetAddress);
5180
+ }
5181
+ }
5182
+ async respondToRequestViaRelationship(request, currentIdentity) {
5183
+ const services = await this.runtime.getServices(currentIdentity);
5184
+ const templateId = request.source.reference;
5145
5185
  if (request.response.content.result === content_1.ResponseResult.Rejected) {
5146
5186
  await services.consumptionServices.incomingRequests.complete({ requestId: request.id });
5147
5187
  return;
@@ -5162,10 +5202,9 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5162
5202
  return;
5163
5203
  }
5164
5204
  }
5165
- async handleIncomingRequestDecidedForMessage(event) {
5166
- const request = event.data.request;
5205
+ async respondToRequestViaMessage(request, currentIdentity) {
5167
5206
  const requestId = request.id;
5168
- const services = await this.runtime.getServices(event.eventTargetAddress);
5207
+ const services = await this.runtime.getServices(currentIdentity);
5169
5208
  const sendMessageResult = await services.transportServices.messages.sendMessage({
5170
5209
  recipients: [request.peer],
5171
5210
  content: request.response.content
@@ -5183,6 +5222,9 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5183
5222
  return;
5184
5223
  }
5185
5224
  }
5225
+ async handleIncomingRequestDecidedForMessage(event) {
5226
+ await this.respondToRequestViaMessage(event.data.request, event.eventTargetAddress);
5227
+ }
5186
5228
  async handleRelationshipChangedEvent(event) {
5187
5229
  // only trigger for new relationships that were created from an own template
5188
5230
  const createdRelationship = event.data;
@@ -5199,7 +5241,10 @@ class RequestModule extends RuntimeModule_1.RuntimeModule {
5199
5241
  // do not trigger for creation changes without the correct content type
5200
5242
  if (relationshipCreationChange.request.content["@type"] !== "RelationshipCreationChangeRequestContent")
5201
5243
  return;
5202
- const result = await services.consumptionServices.outgoingRequests.createAndCompleteFromRelationshipCreationChange({ templateId, relationshipChangeId });
5244
+ const result = await services.consumptionServices.outgoingRequests.createAndCompleteFromRelationshipTemplateResponse({
5245
+ templateId,
5246
+ responseSourceId: relationshipChangeId
5247
+ });
5203
5248
  if (result.isError) {
5204
5249
  this.logger.error(`Could not create and complete request for templateId '${templateId}' and changeId '${relationshipChangeId}'. Root error:`, result.error);
5205
5250
  return;
@@ -6120,7 +6165,7 @@ exports.JsonSchema = JsonSchema;
6120
6165
  "use strict";
6121
6166
 
6122
6167
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6123
- exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.LoadItemFromTruncatedReferenceRequest = exports.DownloadFileRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.ShareAttributeRequest = exports.SentOutgoingRequestRequest = exports.RequireManualDecisionOfIncomingRequestRequest = exports.ReceivedIncomingRequestRequest = exports.GetOutgoingRequestsRequest = exports.GetOutgoingRequestRequest = exports.GetIncomingRequestsRequest = exports.GetIncomingRequestRequest = exports.DiscardOutgoingRequestRequest = exports.CreateOutgoingRequestRequest = exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest = exports.CompleteOutgoingRequestRequest = exports.CompleteIncomingRequestRequest = exports.CheckPrerequisitesOfIncomingRequestRequest = exports.RejectIncomingRequestRequest = exports.CanCreateOutgoingRequestRequest = exports.AcceptIncomingRequestRequest = exports.GetSharedToPeerAttributesRequest = exports.GetPeerAttributesRequest = exports.GetAttributesRequest = exports.GetAttributeRequest = exports.ExecuteThirdPartyRelationshipAttributeQueryRequest = exports.ExecuteRelationshipAttributeQueryRequest = exports.ExecuteIdentityAttributeQueryRequest = exports.DeleteAttributeRequest = exports.CreateSharedAttributeCopyRequest = exports.CreateAttributeRequest = exports.GetAttributeListenerRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
6168
+ exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.LoadItemFromTruncatedReferenceRequest = exports.DownloadFileRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.ShareAttributeRequest = exports.SentOutgoingRequestRequest = exports.RequireManualDecisionOfIncomingRequestRequest = exports.ReceivedIncomingRequestRequest = exports.GetOutgoingRequestsRequest = exports.GetOutgoingRequestRequest = exports.GetIncomingRequestsRequest = exports.GetIncomingRequestRequest = exports.DiscardOutgoingRequestRequest = exports.CreateOutgoingRequestRequest = exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest = exports.CompleteOutgoingRequestRequest = exports.CompleteIncomingRequestRequest = exports.CheckPrerequisitesOfIncomingRequestRequest = exports.RejectIncomingRequestRequest = exports.CanCreateOutgoingRequestRequest = exports.AcceptIncomingRequestRequest = exports.GetSharedToPeerAttributesRequest = exports.GetPeerAttributesRequest = exports.GetAttributesRequest = exports.GetAttributeRequest = exports.ExecuteThirdPartyRelationshipAttributeQueryRequest = exports.ExecuteRelationshipAttributeQueryRequest = exports.ExecuteIdentityAttributeQueryRequest = exports.DeleteAttributeRequest = exports.CreateSharedAttributeCopyRequest = exports.CreateAttributeRequest = exports.GetAttributeListenerRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
6124
6169
  exports.LoadPeerTokenRequest = exports.LoadPeerTokenViaSecretRequest = exports.LoadPeerTokenViaReferenceRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.LoadPeerRelationshipTemplateViaReferenceRequest = exports.LoadPeerRelationshipTemplateViaSecretRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateQrCodeForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.GetAttributesForRelationshipRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileValidatableRequest = exports.UploadOwnFileRequest = exports.GetOrLoadFileRequest = exports.GetOrLoadFileViaReferenceRequest = exports.GetOrLoadFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = exports.CreateTokenForFileRequest = exports.CreateQrCodeForFileRequest = exports.UpdateDeviceRequest = exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = exports.ValidateChallengeRequest = exports.CreateChallengeRequest = exports.CreateDeviceChallengeRequest = void 0;
6125
6170
  exports.LoadPeerTokenAnonymousByIdAndKeyRequest = {
6126
6171
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -14370,23 +14415,30 @@ exports.CompleteOutgoingRequestRequest = {
14370
14415
  }
14371
14416
  }
14372
14417
  };
14373
- exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest = {
14418
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest = {
14374
14419
  "$schema": "http://json-schema.org/draft-07/schema#",
14375
- "$ref": "#/definitions/CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest",
14420
+ "$ref": "#/definitions/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest",
14376
14421
  "definitions": {
14377
- "CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest": {
14422
+ "CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseRequest": {
14378
14423
  "type": "object",
14379
14424
  "properties": {
14380
14425
  "templateId": {
14381
14426
  "$ref": "#/definitions/RelationshipTemplateIdString"
14382
14427
  },
14383
- "relationshipChangeId": {
14384
- "$ref": "#/definitions/RelationshipChangeIdString"
14428
+ "responseSourceId": {
14429
+ "anyOf": [
14430
+ {
14431
+ "$ref": "#/definitions/RelationshipChangeIdString"
14432
+ },
14433
+ {
14434
+ "$ref": "#/definitions/MessageIdString"
14435
+ }
14436
+ ]
14385
14437
  }
14386
14438
  },
14387
14439
  "required": [
14388
14440
  "templateId",
14389
- "relationshipChangeId"
14441
+ "responseSourceId"
14390
14442
  ],
14391
14443
  "additionalProperties": false
14392
14444
  },
@@ -14397,6 +14449,10 @@ exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest =
14397
14449
  "RelationshipChangeIdString": {
14398
14450
  "type": "string",
14399
14451
  "pattern": "RCH[A-Za-z0-9]{17}"
14452
+ },
14453
+ "MessageIdString": {
14454
+ "type": "string",
14455
+ "pattern": "MSG[A-Za-z0-9]{17}"
14400
14456
  }
14401
14457
  }
14402
14458
  };
@@ -28380,47 +28436,55 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
28380
28436
  return function (target, key) { decorator(target, key, paramIndex); }
28381
28437
  };
28382
28438
  Object.defineProperty(exports, "__esModule", ({ value: true }));
28383
- exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = void 0;
28439
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = void 0;
28384
28440
  const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
28385
28441
  const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
28386
28442
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
28387
28443
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
28388
28444
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
28389
28445
  const RequestMapper_1 = __webpack_require__(/*! ./RequestMapper */ "./dist/useCases/consumption/requests/RequestMapper.js");
28390
- let CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = class CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase extends common_1.UseCase {
28391
- constructor(outgoingRequestsController, relationshipController, relationshipTemplateController) {
28446
+ let CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = class CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase extends common_1.UseCase {
28447
+ constructor(outgoingRequestsController, relationshipController, relationshipTemplateController, messageController) {
28392
28448
  super();
28393
28449
  this.outgoingRequestsController = outgoingRequestsController;
28394
28450
  this.relationshipController = relationshipController;
28395
28451
  this.relationshipTemplateController = relationshipTemplateController;
28452
+ this.messageController = messageController;
28396
28453
  }
28397
28454
  async executeInternal(request) {
28398
28455
  const template = await this.relationshipTemplateController.getRelationshipTemplate(transport_1.CoreId.from(request.templateId));
28399
28456
  if (!template) {
28400
28457
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipTemplate));
28401
28458
  }
28402
- const relationships = await this.relationshipController.getRelationships({ "cache.changes.id": request.relationshipChangeId });
28403
- if (relationships.length === 0) {
28459
+ const responseSource = await this.getResponseSource(request.responseSourceId);
28460
+ if (!responseSource) {
28404
28461
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.RelationshipChange));
28405
28462
  }
28406
- const relationship = relationships[0];
28407
- const params = {
28408
- template: template,
28409
- creationChange: relationship.cache.creationChange
28410
- };
28411
- const localRequest = await this.outgoingRequestsController.createFromRelationshipCreationChange(params);
28463
+ const localRequest = await this.outgoingRequestsController.createFromRelationshipTemplateResponse({ template, responseSource });
28412
28464
  return ts_utils_1.Result.ok(RequestMapper_1.RequestMapper.toLocalRequestDTO(localRequest));
28413
28465
  }
28466
+ async getResponseSource(responseSourceId) {
28467
+ if (responseSourceId.startsWith("MSG"))
28468
+ return await this.messageController.getMessage(transport_1.CoreId.from(responseSourceId));
28469
+ const relationships = await this.relationshipController.getRelationships({ "cache.changes.id": responseSourceId });
28470
+ if (relationships.length !== 0) {
28471
+ const relationship = relationships[0];
28472
+ return relationship.cache.creationChange;
28473
+ }
28474
+ return;
28475
+ }
28414
28476
  };
28415
- CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = __decorate([
28477
+ CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = __decorate([
28416
28478
  __param(0, typescript_ioc_1.Inject),
28417
28479
  __param(1, typescript_ioc_1.Inject),
28418
28480
  __param(2, typescript_ioc_1.Inject),
28481
+ __param(3, typescript_ioc_1.Inject),
28419
28482
  __metadata("design:paramtypes", [consumption_1.OutgoingRequestsController,
28420
28483
  transport_1.RelationshipsController,
28421
- transport_1.RelationshipTemplateController])
28422
- ], CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase);
28423
- exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase = CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase;
28484
+ transport_1.RelationshipTemplateController,
28485
+ transport_1.MessageController])
28486
+ ], CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase);
28487
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseUseCase;
28424
28488
  //# sourceMappingURL=CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map
28425
28489
 
28426
28490
  /***/ }),