@nmshd/consumption 2.0.0-alpha.1 → 2.0.0-alpha.12

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 (139) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionBaseController.d.ts +3 -4
  3. package/dist/consumption/ConsumptionBaseController.js +3 -23
  4. package/dist/consumption/ConsumptionBaseController.js.map +1 -1
  5. package/dist/consumption/ConsumptionController.d.ts +5 -6
  6. package/dist/consumption/ConsumptionController.js +4 -12
  7. package/dist/consumption/ConsumptionController.js.map +1 -1
  8. package/dist/consumption/ConsumptionIds.d.ts +2 -5
  9. package/dist/consumption/ConsumptionIds.js +4 -7
  10. package/dist/consumption/ConsumptionIds.js.map +1 -1
  11. package/dist/modules/attributes/ConsumptionAttributesController.d.ts +1 -1
  12. package/dist/modules/attributes/local/ConsumptionAttribute.d.ts +1 -1
  13. package/dist/modules/attributes/local/ConsumptionAttribute.js +5 -6
  14. package/dist/modules/attributes/local/ConsumptionAttribute.js.map +1 -1
  15. package/dist/modules/drafts/DraftsController.d.ts +3 -3
  16. package/dist/modules/drafts/DraftsController.js +2 -2
  17. package/dist/modules/drafts/DraftsController.js.map +1 -1
  18. package/dist/modules/drafts/local/Draft.d.ts +4 -4
  19. package/dist/modules/drafts/local/Draft.js +5 -6
  20. package/dist/modules/drafts/local/Draft.js.map +1 -1
  21. package/dist/modules/index.d.ts +2 -8
  22. package/dist/modules/index.js +2 -8
  23. package/dist/modules/index.js.map +1 -1
  24. package/dist/modules/requests/incoming/DecideRequestParametersValidator.d.ts +6 -2
  25. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +55 -1
  26. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  27. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +11 -12
  28. package/dist/modules/requests/incoming/IncomingRequestsController.js +54 -55
  29. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  30. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.d.ts +4 -4
  31. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js +4 -5
  32. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js.map +1 -1
  33. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.d.ts +4 -4
  34. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js +3 -3
  35. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js.map +1 -1
  36. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.d.ts +2 -6
  37. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js +0 -19
  38. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js.map +1 -1
  39. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.d.ts +4 -8
  40. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js +5 -26
  41. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js.map +1 -1
  42. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.d.ts +4 -5
  43. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js +4 -4
  44. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js.map +1 -1
  45. package/dist/modules/requests/incoming/decide/DecideRequestParameters.d.ts +5 -11
  46. package/dist/modules/requests/incoming/decide/DecideRequestParameters.js +0 -27
  47. package/dist/modules/requests/incoming/decide/DecideRequestParameters.js.map +1 -1
  48. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.d.ts +15 -0
  49. package/dist/modules/{relationships/local/RelationshipAttribute.js → requests/incoming/decide/InternalDecideRequestParameters.js} +18 -20
  50. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -0
  51. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.d.ts +2 -8
  52. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.js +0 -32
  53. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.js.map +1 -1
  54. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.d.ts +4 -4
  55. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js +4 -5
  56. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js.map +1 -1
  57. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.d.ts +4 -4
  58. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js +3 -3
  59. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js.map +1 -1
  60. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +5 -5
  61. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +4 -4
  62. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  63. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +5 -5
  64. package/dist/modules/requests/itemProcessors/ProcessorConstructor.d.ts +2 -0
  65. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js +3 -0
  66. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js.map +1 -0
  67. package/dist/modules/requests/itemProcessors/RequestItemConstructor.d.ts +2 -0
  68. package/dist/modules/requests/itemProcessors/RequestItemConstructor.js +3 -0
  69. package/dist/modules/requests/itemProcessors/RequestItemConstructor.js.map +1 -0
  70. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.d.ts +6 -3
  71. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +4 -1
  72. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  73. package/dist/modules/requests/local/ConsumptionRequest.d.ts +5 -5
  74. package/dist/modules/requests/local/ConsumptionRequest.js +7 -8
  75. package/dist/modules/requests/local/ConsumptionRequest.js.map +1 -1
  76. package/dist/modules/requests/local/ConsumptionRequestStatusLogEntry.js +3 -4
  77. package/dist/modules/requests/local/ConsumptionRequestStatusLogEntry.js.map +1 -1
  78. package/dist/modules/requests/local/ConsumptionResponse.d.ts +7 -7
  79. package/dist/modules/requests/local/ConsumptionResponse.js +8 -9
  80. package/dist/modules/requests/local/ConsumptionResponse.js.map +1 -1
  81. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +6 -6
  82. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +33 -20
  83. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  84. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.d.ts +4 -4
  85. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js +4 -5
  86. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js.map +1 -1
  87. package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.d.ts +4 -4
  88. package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js +4 -5
  89. package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js.map +1 -1
  90. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.d.ts +4 -4
  91. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js +4 -5
  92. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js.map +1 -1
  93. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.d.ts +4 -4
  94. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js +4 -5
  95. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js.map +1 -1
  96. package/dist/modules/settings/SettingsController.d.ts +1 -1
  97. package/dist/modules/settings/SettingsController.js +2 -2
  98. package/dist/modules/settings/SettingsController.js.map +1 -1
  99. package/dist/modules/settings/local/CreateSettingParameter.d.ts +2 -2
  100. package/dist/modules/settings/local/Setting.d.ts +4 -4
  101. package/dist/modules/settings/local/Setting.js +5 -6
  102. package/dist/modules/settings/local/Setting.js.map +1 -1
  103. package/dist/modules/signatures/Signature.d.ts +5 -5
  104. package/dist/modules/signatures/Signature.js +9 -8
  105. package/dist/modules/signatures/Signature.js.map +1 -1
  106. package/dist/modules/signatures/SignatureContent.d.ts +0 -1
  107. package/dist/modules/signatures/SignatureContent.js +3 -7
  108. package/dist/modules/signatures/SignatureContent.js.map +1 -1
  109. package/lib-web/nmshd.consumption.js +313 -1057
  110. package/lib-web/nmshd.consumption.js.map +1 -1
  111. package/lib-web/nmshd.consumption.min.js +1 -1
  112. package/lib-web/nmshd.consumption.min.js.map +1 -1
  113. package/package.json +15 -15
  114. package/dist/modules/relationships/RelationshipInfoController.d.ts +0 -15
  115. package/dist/modules/relationships/RelationshipInfoController.js +0 -61
  116. package/dist/modules/relationships/RelationshipInfoController.js.map +0 -1
  117. package/dist/modules/relationships/RelationshipInfoUtil.d.ts +0 -15
  118. package/dist/modules/relationships/RelationshipInfoUtil.js +0 -219
  119. package/dist/modules/relationships/RelationshipInfoUtil.js.map +0 -1
  120. package/dist/modules/relationships/local/RelationshipAttribute.d.ts +0 -14
  121. package/dist/modules/relationships/local/RelationshipAttribute.js.map +0 -1
  122. package/dist/modules/relationships/local/RelationshipInfo.d.ts +0 -27
  123. package/dist/modules/relationships/local/RelationshipInfo.js +0 -97
  124. package/dist/modules/relationships/local/RelationshipInfo.js.map +0 -1
  125. package/dist/modules/relationships/local/RelationshipTheme.d.ts +0 -14
  126. package/dist/modules/relationships/local/RelationshipTheme.js +0 -44
  127. package/dist/modules/relationships/local/RelationshipTheme.js.map +0 -1
  128. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.d.ts +0 -6
  129. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.js +0 -22
  130. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.js.map +0 -1
  131. package/dist/modules/requests/incoming/decide/RejectRequestParameters.d.ts +0 -6
  132. package/dist/modules/requests/incoming/decide/RejectRequestParameters.js +0 -22
  133. package/dist/modules/requests/incoming/decide/RejectRequestParameters.js.map +0 -1
  134. package/dist/modules/sharedItems/SharedItemsController.d.ts +0 -14
  135. package/dist/modules/sharedItems/SharedItemsController.js +0 -40
  136. package/dist/modules/sharedItems/SharedItemsController.js.map +0 -1
  137. package/dist/modules/sharedItems/local/SharedItem.d.ts +0 -31
  138. package/dist/modules/sharedItems/local/SharedItem.js +0 -101
  139. package/dist/modules/sharedItems/local/SharedItem.js.map +0 -1
@@ -17,10 +17,10 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
17
17
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
18
18
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
19
19
  exports.buildInformation = {
20
- version: "2.0.0-alpha.1",
21
- build: "19",
22
- date: "2022-04-22T11:52:27+00:00",
23
- commit: "012b8a9a2b885dd7d176deb14a13034e1202c045",
20
+ version: "2.0.0-alpha.12",
21
+ build: "30",
22
+ date: "2022-05-16T19:13:04+00:00",
23
+ commit: "c69a5b2e5f8dd0f5d661e9b7f0875efb739d78b5",
24
24
  dependencies: {},
25
25
  libraries: {
26
26
  transport: transport_1.buildInformation,
@@ -43,7 +43,6 @@ exports.buildInformation = {
43
43
 
44
44
  Object.defineProperty(exports, "__esModule", ({ value: true }));
45
45
  exports.ConsumptionBaseController = void 0;
46
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
47
46
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
48
47
  class ConsumptionBaseController {
49
48
  constructor(controllerName, _parent) {
@@ -59,28 +58,9 @@ class ConsumptionBaseController {
59
58
  init() {
60
59
  return Promise.resolve(this);
61
60
  }
62
- async parseObject(value, type) {
63
- return await ts_serval_1.SerializableAsync.fromT(value, type);
64
- }
65
- async parseArray(value, type, contentProperty) {
66
- const parsingPromises = [];
67
- for (let i = 0, l = value.length; i < l; i++) {
68
- if (contentProperty) {
69
- const item = value[i];
70
- if (item[contentProperty]) {
71
- parsingPromises.push(this.parseObject(item[contentProperty], type));
72
- }
73
- else {
74
- const error = transport_1.TransportErrors.controller.contentPropertyUndefined(contentProperty);
75
- this._log.error(error);
76
- throw error;
77
- }
78
- }
79
- else {
80
- parsingPromises.push(this.parseObject(value[i], type));
81
- }
82
- }
83
- return await Promise.all(parsingPromises);
61
+ async parseArray(values, type) {
62
+ const parsePromises = values.map((v) => type.from(v));
63
+ return await Promise.all(parsePromises);
84
64
  }
85
65
  }
86
66
  exports.ConsumptionBaseController = ConsumptionBaseController;
@@ -120,21 +100,13 @@ class ConsumptionController {
120
100
  get settings() {
121
101
  return this._settings;
122
102
  }
123
- get sharedItems() {
124
- return this._sharedItems;
125
- }
126
- get relationshipInfo() {
127
- return this._relationshipInfo;
128
- }
129
- async init() {
103
+ async init(requestItemProcessors = []) {
130
104
  this._attributes = await new modules_1.ConsumptionAttributesController(this).init();
131
105
  this._drafts = await new modules_1.DraftsController(this).init();
132
- const processorRegistry = new modules_1.RequestItemProcessorRegistry();
133
- this._outgoingRequests = await new modules_1.OutgoingRequestsController(this, processorRegistry).init();
134
- this._incomingRequests = await new IncomingRequestsController_1.IncomingRequestsController(this, processorRegistry).init();
106
+ const processorRegistry = new modules_1.RequestItemProcessorRegistry(requestItemProcessors);
107
+ this._outgoingRequests = await new modules_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this).init();
108
+ this._incomingRequests = await new IncomingRequestsController_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this).init();
135
109
  this._settings = await new modules_1.SettingsController(this).init();
136
- this._sharedItems = await new modules_1.SharedItemsController(this).init();
137
- this._relationshipInfo = await new modules_1.RelationshipInfoController(this).init();
138
110
  return this;
139
111
  }
140
112
  }
@@ -228,13 +200,10 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
228
200
  class ConsumptionIds {
229
201
  }
230
202
  exports.ConsumptionIds = ConsumptionIds;
231
- ConsumptionIds.attribute = new transport_1.CoreIdHelper("CNSATT");
232
- ConsumptionIds.draft = new transport_1.CoreIdHelper("CNSDRF");
233
- ConsumptionIds.relationshipInfo = new transport_1.CoreIdHelper("CNSRIN");
234
- ConsumptionIds.sharedItem = new transport_1.CoreIdHelper("CNSSIT");
235
- ConsumptionIds.response = new transport_1.CoreIdHelper("CNSRES");
236
- ConsumptionIds.request = new transport_1.CoreIdHelper("CNSREQ");
237
- ConsumptionIds.setting = new transport_1.CoreIdHelper("CNSSET");
203
+ ConsumptionIds.draft = new transport_1.CoreIdHelper("LCLDRF");
204
+ ConsumptionIds.setting = new transport_1.CoreIdHelper("LCLSET");
205
+ ConsumptionIds.attribute = new transport_1.CoreIdHelper("ATT");
206
+ ConsumptionIds.request = new transport_1.CoreIdHelper("REQ");
238
207
  //# sourceMappingURL=ConsumptionIds.js.map
239
208
 
240
209
  /***/ }),
@@ -469,7 +438,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
469
438
  var __metadata = (this && this.__metadata) || function (k, v) {
470
439
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
471
440
  };
472
- var ConsumptionAttribute_1;
473
441
  Object.defineProperty(exports, "__esModule", ({ value: true }));
474
442
  exports.ConsumptionAttribute = void 0;
475
443
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
@@ -477,7 +445,7 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
477
445
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
478
446
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
479
447
  const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
480
- let ConsumptionAttribute = ConsumptionAttribute_1 = class ConsumptionAttribute extends transport_1.CoreSynchronizable {
448
+ let ConsumptionAttribute = class ConsumptionAttribute extends transport_1.CoreSynchronizable {
481
449
  constructor() {
482
450
  super(...arguments);
483
451
  this.technicalProperties = [
@@ -491,11 +459,11 @@ let ConsumptionAttribute = ConsumptionAttribute_1 = class ConsumptionAttribute e
491
459
  (0, ts_simple_nameof_1.nameof)((r) => r.metadataModifiedAt)
492
460
  ];
493
461
  }
494
- static async from(value) {
495
- return (await super.from(value, ConsumptionAttribute_1));
462
+ static from(value) {
463
+ return this.fromAny(value);
496
464
  }
497
465
  static async fromAttribute(attribute) {
498
- return await this.from({
466
+ return this.from({
499
467
  content: content_1.Attribute.from(attribute),
500
468
  id: await consumption_1.ConsumptionIds.attribute.generate(),
501
469
  createdAt: transport_1.CoreDate.utc()
@@ -522,7 +490,7 @@ __decorate([
522
490
  (0, ts_serval_1.serialize)(),
523
491
  __metadata("design:type", transport_1.CoreDate)
524
492
  ], ConsumptionAttribute.prototype, "metadataModifiedAt", void 0);
525
- ConsumptionAttribute = ConsumptionAttribute_1 = __decorate([
493
+ ConsumptionAttribute = __decorate([
526
494
  (0, ts_serval_1.type)("ConsumptionAttribute")
527
495
  ], ConsumptionAttribute);
528
496
  exports.ConsumptionAttribute = ConsumptionAttribute;
@@ -554,14 +522,14 @@ class DraftsController extends consumption_1.ConsumptionBaseController {
554
522
  }
555
523
  async getDraft(id) {
556
524
  const result = await this.drafts.read(id.toString());
557
- return result ? await Draft_1.Draft.from(result) : undefined;
525
+ return result ? Draft_1.Draft.from(result) : undefined;
558
526
  }
559
527
  async getDrafts(query) {
560
528
  const items = await this.drafts.find(query);
561
529
  return await this.parseArray(items, Draft_1.Draft);
562
530
  }
563
531
  async createDraft(content, type = "") {
564
- const draft = await Draft_1.Draft.from({
532
+ const draft = Draft_1.Draft.from({
565
533
  id: await consumption_1.ConsumptionIds.draft.generate(),
566
534
  content: content,
567
535
  createdAt: new transport_1.CoreDate(),
@@ -604,13 +572,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
604
572
  var __metadata = (this && this.__metadata) || function (k, v) {
605
573
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
606
574
  };
607
- var Draft_1;
608
575
  Object.defineProperty(exports, "__esModule", ({ value: true }));
609
576
  exports.Draft = void 0;
610
577
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
611
578
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
612
579
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
613
- let Draft = Draft_1 = class Draft extends transport_1.CoreSynchronizable {
580
+ let Draft = class Draft extends transport_1.CoreSynchronizable {
614
581
  constructor() {
615
582
  super(...arguments);
616
583
  this.technicalProperties = [
@@ -626,8 +593,8 @@ let Draft = Draft_1 = class Draft extends transport_1.CoreSynchronizable {
626
593
  (0, ts_simple_nameof_1.nameof)((r) => r.metadataModifiedAt)
627
594
  ];
628
595
  }
629
- static async from(value) {
630
- return (await super.from(value, Draft_1));
596
+ static from(value) {
597
+ return this.fromAny(value);
631
598
  }
632
599
  };
633
600
  __decorate([
@@ -648,7 +615,7 @@ __decorate([
648
615
  __decorate([
649
616
  (0, ts_serval_1.validate)(),
650
617
  (0, ts_serval_1.serialize)(),
651
- __metadata("design:type", ts_serval_1.SerializableAsync)
618
+ __metadata("design:type", ts_serval_1.Serializable)
652
619
  ], Draft.prototype, "content", void 0);
653
620
  __decorate([
654
621
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -660,7 +627,7 @@ __decorate([
660
627
  (0, ts_serval_1.serialize)(),
661
628
  __metadata("design:type", transport_1.CoreDate)
662
629
  ], Draft.prototype, "metadataModifiedAt", void 0);
663
- Draft = Draft_1 = __decorate([
630
+ Draft = __decorate([
664
631
  (0, ts_serval_1.type)("Draft")
665
632
  ], Draft);
666
633
  exports.Draft = Draft;
@@ -695,24 +662,20 @@ __exportStar(__webpack_require__(/*! ./attributes/ConsumptionAttributesControlle
695
662
  __exportStar(__webpack_require__(/*! ./attributes/local/ConsumptionAttribute */ "./dist/modules/attributes/local/ConsumptionAttribute.js"), exports);
696
663
  __exportStar(__webpack_require__(/*! ./drafts/DraftsController */ "./dist/modules/drafts/DraftsController.js"), exports);
697
664
  __exportStar(__webpack_require__(/*! ./drafts/local/Draft */ "./dist/modules/drafts/local/Draft.js"), exports);
698
- __exportStar(__webpack_require__(/*! ./relationships/local/RelationshipAttribute */ "./dist/modules/relationships/local/RelationshipAttribute.js"), exports);
699
- __exportStar(__webpack_require__(/*! ./relationships/local/RelationshipInfo */ "./dist/modules/relationships/local/RelationshipInfo.js"), exports);
700
- __exportStar(__webpack_require__(/*! ./relationships/local/RelationshipTheme */ "./dist/modules/relationships/local/RelationshipTheme.js"), exports);
701
- __exportStar(__webpack_require__(/*! ./relationships/RelationshipInfoController */ "./dist/modules/relationships/RelationshipInfoController.js"), exports);
702
665
  __exportStar(__webpack_require__(/*! ./requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters */ "./dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js"), exports);
703
666
  __exportStar(__webpack_require__(/*! ./requests/incoming/complete/CompleteIncomingRequestParameters */ "./dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js"), exports);
704
667
  __exportStar(__webpack_require__(/*! ./requests/incoming/decide/AcceptRequestItemParameters */ "./dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js"), exports);
705
- __exportStar(__webpack_require__(/*! ./requests/incoming/decide/AcceptRequestParameters */ "./dist/modules/requests/incoming/decide/AcceptRequestParameters.js"), exports);
706
668
  __exportStar(__webpack_require__(/*! ./requests/incoming/decide/DecideRequestItemGroupParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js"), exports);
707
669
  __exportStar(__webpack_require__(/*! ./requests/incoming/decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js"), exports);
708
670
  __exportStar(__webpack_require__(/*! ./requests/incoming/decide/DecideRequestParameters */ "./dist/modules/requests/incoming/decide/DecideRequestParameters.js"), exports);
709
671
  __exportStar(__webpack_require__(/*! ./requests/incoming/decide/RejectRequestItemParameters */ "./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js"), exports);
710
- __exportStar(__webpack_require__(/*! ./requests/incoming/decide/RejectRequestParameters */ "./dist/modules/requests/incoming/decide/RejectRequestParameters.js"), exports);
711
672
  __exportStar(__webpack_require__(/*! ./requests/incoming/DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js"), exports);
712
673
  __exportStar(__webpack_require__(/*! ./requests/incoming/IncomingRequestsController */ "./dist/modules/requests/incoming/IncomingRequestsController.js"), exports);
713
674
  __exportStar(__webpack_require__(/*! ./requests/incoming/received/ReceivedIncomingRequestParameters */ "./dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js"), exports);
714
675
  __exportStar(__webpack_require__(/*! ./requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js"), exports);
715
676
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js"), exports);
677
+ __exportStar(__webpack_require__(/*! ./requests/itemProcessors/ProcessorConstructor */ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js"), exports);
678
+ __exportStar(__webpack_require__(/*! ./requests/itemProcessors/RequestItemConstructor */ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js"), exports);
716
679
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/RequestItemProcessorRegistry */ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js"), exports);
717
680
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js"), exports);
718
681
  __exportStar(__webpack_require__(/*! ./requests/local/ConsumptionRequest */ "./dist/modules/requests/local/ConsumptionRequest.js"), exports);
@@ -726,544 +689,84 @@ __exportStar(__webpack_require__(/*! ./requests/outgoing/OutgoingRequestsControl
726
689
  __exportStar(__webpack_require__(/*! ./requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters */ "./dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js"), exports);
727
690
  __exportStar(__webpack_require__(/*! ./settings/local/Setting */ "./dist/modules/settings/local/Setting.js"), exports);
728
691
  __exportStar(__webpack_require__(/*! ./settings/SettingsController */ "./dist/modules/settings/SettingsController.js"), exports);
729
- __exportStar(__webpack_require__(/*! ./sharedItems/local/SharedItem */ "./dist/modules/sharedItems/local/SharedItem.js"), exports);
730
- __exportStar(__webpack_require__(/*! ./sharedItems/SharedItemsController */ "./dist/modules/sharedItems/SharedItemsController.js"), exports);
731
692
  __exportStar(__webpack_require__(/*! ./signatures/Signature */ "./dist/modules/signatures/Signature.js"), exports);
732
693
  __exportStar(__webpack_require__(/*! ./signatures/SignatureContent */ "./dist/modules/signatures/SignatureContent.js"), exports);
733
694
  //# sourceMappingURL=index.js.map
734
695
 
735
696
  /***/ }),
736
697
 
737
- /***/ "./dist/modules/relationships/RelationshipInfoController.js":
738
- /*!******************************************************************!*\
739
- !*** ./dist/modules/relationships/RelationshipInfoController.js ***!
740
- \******************************************************************/
698
+ /***/ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js":
699
+ /*!****************************************************************************!*\
700
+ !*** ./dist/modules/requests/incoming/DecideRequestParametersValidator.js ***!
701
+ \****************************************************************************/
741
702
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
742
703
 
743
704
  "use strict";
744
705
 
745
706
  Object.defineProperty(exports, "__esModule", ({ value: true }));
746
- exports.RelationshipInfoController = void 0;
747
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
748
- const RelationshipInfo_1 = __webpack_require__(/*! ./local/RelationshipInfo */ "./dist/modules/relationships/local/RelationshipInfo.js");
749
- const RelationshipInfoUtil_1 = __webpack_require__(/*! ./RelationshipInfoUtil */ "./dist/modules/relationships/RelationshipInfoUtil.js");
750
- class RelationshipInfoController extends consumption_1.ConsumptionBaseController {
751
- constructor(parent) {
752
- super(consumption_1.ConsumptionControllerName.RelationshipInfoController, parent);
753
- }
754
- async init() {
755
- await super.init();
756
- this.relationshipInfo = await this.parent.accountController.getSynchronizedCollection("RelationshipInfo");
757
- return this;
758
- }
759
- async getRelationshipInfo(id) {
760
- const result = await this.relationshipInfo.read(id.toString());
761
- return result ? await RelationshipInfo_1.RelationshipInfo.from(result) : undefined;
762
- }
763
- async getRelationshipInfoByRelationship(relationshipId) {
764
- const info = await new RelationshipInfoUtil_1.RelationshipInfoUtil(this.parent).createInitialRelationshipInfo(relationshipId);
765
- return info;
766
- /*
767
- // So far, do not store the relationshipInfo, as they wouldn't be updated correctly
768
-
769
- const result = await this.relationshipInfo.findOne({ relationshipId: relationshipId.toString() })
770
-
771
- if (result) {
772
- return await RelationshipInfo.from(result)
707
+ exports.DecideRequestParametersValidator = void 0;
708
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
709
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
710
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
711
+ const DecideRequestItemGroupParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemGroupParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js");
712
+ const DecideRequestItemParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js");
713
+ class DecideRequestParametersValidator {
714
+ validate(params, request) {
715
+ if (!request.id.equals(transport_1.CoreId.from(params.requestId))) {
716
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidRequestId", "The id of the request does not match the id of the response"));
773
717
  }
774
-
775
- const info = await new RelationshipInfoUtil(this.parent).createInitialRelationshipInfo(relationshipId)
776
- await this.relationshipInfo.create(info)
777
- return info
778
- */
779
- }
780
- async getRelationshipInfos(query) {
781
- const items = await this.relationshipInfo.find(query);
782
- return await this.parseArray(items, RelationshipInfo_1.RelationshipInfo);
783
- }
784
- async createRelationshipInfo(relationshipInfo) {
785
- const exists = await this.relationshipInfo.exists({ relationshipId: relationshipInfo.relationshipId });
786
- if (exists) {
787
- throw consumption_1.ConsumptionErrors.relationshipInfo.relationshipInfoExists(relationshipInfo.relationshipId.toString());
718
+ if (params.items.length !== request.content.items.length) {
719
+ return ts_utils_1.Result.fail(this.invalidNumberOfItemsError("Number of items in Request and Response do not match"));
788
720
  }
789
- await this.relationshipInfo.create(relationshipInfo);
790
- return relationshipInfo;
791
- }
792
- async updateRelationshipInfo(relationshipInfo) {
793
- const oldRelationshipInfo = await this.relationshipInfo.read(relationshipInfo.id.toString());
794
- if (!oldRelationshipInfo) {
795
- throw new Error("RelationshipInfo Not Found");
721
+ for (let i = 0; i < params.items.length; i++) {
722
+ const validationResult = this.checkItemOrGroup(request.content.items[i], params.items[i], i.toString(), params.accept);
723
+ if (validationResult.isError)
724
+ return validationResult;
796
725
  }
797
- await this.relationshipInfo.update(oldRelationshipInfo, relationshipInfo);
798
- }
799
- async deleteRelationshipInfo(relationshipInfo) {
800
- await this.relationshipInfo.delete(relationshipInfo);
801
- }
802
- }
803
- exports.RelationshipInfoController = RelationshipInfoController;
804
- //# sourceMappingURL=RelationshipInfoController.js.map
805
-
806
- /***/ }),
807
-
808
- /***/ "./dist/modules/relationships/RelationshipInfoUtil.js":
809
- /*!************************************************************!*\
810
- !*** ./dist/modules/relationships/RelationshipInfoUtil.js ***!
811
- \************************************************************/
812
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
813
-
814
- "use strict";
815
-
816
- Object.defineProperty(exports, "__esModule", ({ value: true }));
817
- exports.RelationshipInfoUtil = void 0;
818
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
819
- const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
820
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
821
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
822
- const SharedItem_1 = __webpack_require__(/*! ../sharedItems/local/SharedItem */ "./dist/modules/sharedItems/local/SharedItem.js");
823
- const RelationshipAttribute_1 = __webpack_require__(/*! ./local/RelationshipAttribute */ "./dist/modules/relationships/local/RelationshipAttribute.js");
824
- const RelationshipInfo_1 = __webpack_require__(/*! ./local/RelationshipInfo */ "./dist/modules/relationships/local/RelationshipInfo.js");
825
- class RelationshipInfoUtil {
826
- constructor(parent) {
827
- this.parent = parent;
828
- this._log = transport_1.TransportLoggerFactory.getLogger(RelationshipInfoUtil);
726
+ return ts_utils_1.Result.ok(undefined);
829
727
  }
830
- get log() {
831
- return this._log;
728
+ checkItemOrGroup(requestItem, responseItem, index, isParentAccepted) {
729
+ if (requestItem instanceof content_1.RequestItem) {
730
+ return this.checkItem(requestItem, responseItem, index, isParentAccepted);
731
+ }
732
+ return this.checkItemGroup(requestItem, responseItem, index, isParentAccepted);
832
733
  }
833
- async createInitialRelationshipInfo(id) {
834
- const relationship = await this.parent.accountController.relationships.getRelationship(id);
835
- if (!relationship) {
836
- throw transport_1.TransportErrors.general.recordNotFound(transport_1.Relationship, id.toString()).logWith(this._log);
837
- }
838
- await this.parseTemplateBody(relationship);
839
- await this.parseCreationRequest(relationship);
840
- return await this.createRelationshipInfo(relationship);
841
- }
842
- getTitle(relationship, attributeMap) {
843
- let title = relationship.peer.address.toString().substring(3, 9);
844
- const thingName = attributeMap.get("Thing.name")?.content.value;
845
- const givenName = attributeMap.get("Person.givenName")?.content.value;
846
- const familyName = attributeMap.get("Person.familyName")?.content.value;
847
- const gender = attributeMap.get("Person.gender")?.content.value;
848
- const orgname = attributeMap.get("Organization.name")?.content.value;
849
- const legalName = attributeMap.get("Organization.legalname")?.content.value;
850
- if (thingName) {
851
- title = thingName;
852
- }
853
- else if (givenName && familyName) {
854
- title = `${givenName} ${familyName}`;
855
- }
856
- else if (givenName) {
857
- title = givenName;
858
- }
859
- else if (familyName && gender) {
860
- title = `i18n://salutation.gender.${gender} ${familyName}`;
861
- }
862
- else if (orgname) {
863
- title = orgname;
864
- }
865
- else if (legalName) {
866
- title = legalName;
867
- }
868
- return title;
869
- }
870
- async createRelationshipInfo(relationship) {
871
- const peerAddress = relationship.peer.address;
872
- const truncatedAddress = peerAddress.address.substring(3, 9);
873
- const info = await RelationshipInfo_1.RelationshipInfo.from({
874
- attributes: [],
875
- id: await consumption_1.ConsumptionIds.relationshipInfo.generate(),
876
- isPinned: false,
877
- relationshipId: relationship.id,
878
- title: truncatedAddress
879
- });
880
- // info = await this.parent.relationshipInfo.createRelationshipInfo(info)
881
- const items = await this.parent.sharedItems.getSharedItems({
882
- sharedBy: relationship.peer.address.toString()
883
- });
884
- const attributes = [];
885
- const attributeMap = new Map();
886
- for (const item of items) {
887
- if (item.content instanceof content_1.Attribute) {
888
- const relAttr = await RelationshipAttribute_1.RelationshipAttribute.from({
889
- name: item.content.name,
890
- sharedItem: item.id,
891
- content: item.content
892
- });
893
- attributes.push(relAttr);
894
- attributeMap.set(relAttr.name, relAttr);
895
- }
734
+ checkItem(requestItem, response, index, isParentAccepted) {
735
+ if ((0, DecideRequestItemGroupParameters_1.isDecideRequestItemGroupParametersJSON)(response)) {
736
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem", `The RequestItem with index '${index}' was answered as a RequestItemGroup.`));
896
737
  }
897
- info.attributes = attributes;
898
- const title = this.getTitle(relationship, attributeMap);
899
- info.title = title;
900
- // await this.parent.relationshipInfo.updateRelationshipInfo(info)
901
- return info;
902
- }
903
- async parseTemplateBody(relationship) {
904
- const template = relationship.cache.template;
905
- if (!template.cache) {
906
- throw transport_1.TransportErrors.general.cacheEmpty(transport_1.RelationshipTemplate, template.id.toString()).logWith(this._log);
907
- }
908
- const body = template.cache.content;
909
- const isTemplator = this.parent.accountController.identity.isMe(template.cache.createdBy);
910
- const sharedAt = template.cache.createdAt;
911
- const sharedBy = isTemplator ? this.parent.accountController.identity.address : relationship.peer.address;
912
- const sharedWith = isTemplator ? relationship.peer.address : this.parent.accountController.identity.address;
913
- const sharedItemsWithSameReference = await this.parent.sharedItems.getSharedItems({
914
- reference: template.id.toString()
915
- });
916
- const missingItems = [];
917
- if (body instanceof content_1.RelationshipTemplateBody) {
918
- const attributes = body.sharedAttributes;
919
- if (attributes) {
920
- if (sharedItemsWithSameReference.length !== attributes.length) {
921
- attributes.forEach((attribute) => {
922
- if (!sharedItemsWithSameReference.find(function (item) {
923
- const content = item.content;
924
- return content.name === attribute.name;
925
- })) {
926
- missingItems.push(attribute);
927
- }
928
- });
929
- }
930
- }
738
+ if (!isParentAccepted && response.accept) {
739
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem", `The RequestItem with index '${index}' was accepted, but the parent was not accepted.`));
931
740
  }
932
- else {
933
- // Try to parse the old template format (without types)
934
- let oldTemplateBody = body;
935
- if (body instanceof ts_serval_1.JSONWrapper || body instanceof ts_serval_1.JSONWrapperAsync) {
936
- oldTemplateBody = oldTemplateBody.value;
937
- }
938
- if (oldTemplateBody?.attributes && Array.isArray(oldTemplateBody.attributes)) {
939
- if (sharedItemsWithSameReference.length !== oldTemplateBody.attributes.length) {
940
- oldTemplateBody.attributes.forEach((attribute) => {
941
- if (!sharedItemsWithSameReference.find(function (item) {
942
- const content = item.content;
943
- return content.name === attribute.name;
944
- })) {
945
- missingItems.push(content_1.Attribute.from({
946
- name: attribute.name,
947
- value: attribute.value
948
- }));
949
- }
950
- });
951
- }
952
- }
741
+ if (isParentAccepted && requestItem.mustBeAccepted && !response.accept) {
742
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem", `The RequestItem with index '${index}', which is flagged as 'mustBeAccepted', was not accepted.`));
953
743
  }
954
- for (const attribute of missingItems) {
955
- const sharedItem = await SharedItem_1.SharedItem.from({
956
- id: await consumption_1.ConsumptionIds.sharedItem.generate(),
957
- content: attribute,
958
- sharedAt: sharedAt,
959
- sharedBy: sharedBy,
960
- sharedWith: sharedWith,
961
- reference: template.id,
962
- expiresAt: attribute.validTo
963
- });
964
- await this.parent.sharedItems.createSharedItem(sharedItem);
965
- }
966
- }
967
- async parseCreationRequest(relationship) {
968
- const change = relationship.cache.creationChange;
969
- const request = change.request;
970
- const body = request.content;
971
- const isRequestor = this.parent.accountController.identity.isMe(request.createdBy);
972
- const sharedAt = request.createdAt;
973
- const sharedBy = isRequestor ? this.parent.accountController.identity.address : relationship.peer.address;
974
- const sharedWith = isRequestor ? relationship.peer.address : this.parent.accountController.identity.address;
975
- const sharedItemsWithSameReference = await this.parent.sharedItems.getSharedItems({
976
- reference: change.id.toString()
977
- });
978
- const missingItems = [];
979
- if (body instanceof content_1.RelationshipCreationChangeRequestBody) {
980
- const attributes = body.sharedAttributes;
981
- if (attributes && attributes.length > 0) {
982
- if (sharedItemsWithSameReference.length !== attributes.length) {
983
- attributes.forEach((attribute) => {
984
- if (!sharedItemsWithSameReference.find(function (item) {
985
- const content = item.content;
986
- return content.name === attribute.name;
987
- })) {
988
- missingItems.push(attribute);
989
- }
990
- });
991
- }
992
- }
744
+ return ts_utils_1.Result.ok(undefined);
745
+ }
746
+ checkItemGroup(requestItemGroup, responseItemGroup, index, isParentAccepted) {
747
+ if ((0, DecideRequestItemParameters_1.isDecideRequestItemParametersJSON)(responseItemGroup)) {
748
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem", `The RequestItemGroup with index '${index}' was answered as a RequestItem.`));
993
749
  }
994
- else {
995
- // Try to parse the old request format (without types)
996
- let oldRequestBody = body;
997
- if (body instanceof ts_serval_1.JSONWrapper || body instanceof ts_serval_1.JSONWrapperAsync) {
998
- oldRequestBody = oldRequestBody.value;
999
- }
1000
- if (oldRequestBody?.attributes) {
1001
- const keys = Object.keys(oldRequestBody.attributes);
1002
- if (sharedItemsWithSameReference.length !== keys.length) {
1003
- keys.forEach((key) => {
1004
- const attribute = oldRequestBody.attributes[key];
1005
- if (!sharedItemsWithSameReference.find(function (item) {
1006
- const content = item.content;
1007
- return content.name === attribute.name;
1008
- })) {
1009
- missingItems.push(content_1.Attribute.from({
1010
- name: attribute.name,
1011
- value: attribute.value
1012
- }));
1013
- }
1014
- });
1015
- }
1016
- }
750
+ if (responseItemGroup.items.length !== requestItemGroup.items.length) {
751
+ return ts_utils_1.Result.fail(this.invalidNumberOfItemsError("Number of items in RequestItemGroup and ResponseItemGroup do not match"));
1017
752
  }
1018
- for (const attribute of missingItems) {
1019
- const sharedItem = await SharedItem_1.SharedItem.from({
1020
- id: await consumption_1.ConsumptionIds.sharedItem.generate(),
1021
- content: attribute,
1022
- sharedAt: sharedAt,
1023
- sharedBy: sharedBy,
1024
- sharedWith: sharedWith,
1025
- reference: change.id,
1026
- expiresAt: attribute.validTo
1027
- });
1028
- await this.parent.sharedItems.createSharedItem(sharedItem);
753
+ const isGroupAccepted = responseItemGroup.items.some((value) => value.accept);
754
+ if (!isParentAccepted && isGroupAccepted) {
755
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem", `The RequestItemGroup with index '${index}' was accepted, but the parent was not accepted.`));
1029
756
  }
1030
- }
1031
- }
1032
- exports.RelationshipInfoUtil = RelationshipInfoUtil;
1033
- //# sourceMappingURL=RelationshipInfoUtil.js.map
1034
-
1035
- /***/ }),
1036
-
1037
- /***/ "./dist/modules/relationships/local/RelationshipAttribute.js":
1038
- /*!*******************************************************************!*\
1039
- !*** ./dist/modules/relationships/local/RelationshipAttribute.js ***!
1040
- \*******************************************************************/
1041
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1042
-
1043
- "use strict";
1044
-
1045
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1046
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1047
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1048
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1049
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1050
- };
1051
- var __metadata = (this && this.__metadata) || function (k, v) {
1052
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1053
- };
1054
- var RelationshipAttribute_1;
1055
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1056
- exports.RelationshipAttribute = void 0;
1057
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1058
- const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1059
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1060
- let RelationshipAttribute = RelationshipAttribute_1 = class RelationshipAttribute extends ts_serval_1.SerializableAsync {
1061
- static async from(value) {
1062
- return await super.fromT(value, RelationshipAttribute_1);
1063
- }
1064
- };
1065
- __decorate([
1066
- (0, ts_serval_1.validate)(),
1067
- (0, ts_serval_1.serialize)(),
1068
- __metadata("design:type", String)
1069
- ], RelationshipAttribute.prototype, "name", void 0);
1070
- __decorate([
1071
- (0, ts_serval_1.validate)(),
1072
- (0, ts_serval_1.serialize)(),
1073
- __metadata("design:type", content_1.Attribute)
1074
- ], RelationshipAttribute.prototype, "content", void 0);
1075
- __decorate([
1076
- (0, ts_serval_1.validate)(),
1077
- (0, ts_serval_1.serialize)(),
1078
- __metadata("design:type", transport_1.CoreId)
1079
- ], RelationshipAttribute.prototype, "sharedItem", void 0);
1080
- RelationshipAttribute = RelationshipAttribute_1 = __decorate([
1081
- (0, ts_serval_1.type)("RelationshipAttribute")
1082
- ], RelationshipAttribute);
1083
- exports.RelationshipAttribute = RelationshipAttribute;
1084
- //# sourceMappingURL=RelationshipAttribute.js.map
1085
-
1086
- /***/ }),
1087
-
1088
- /***/ "./dist/modules/relationships/local/RelationshipInfo.js":
1089
- /*!**************************************************************!*\
1090
- !*** ./dist/modules/relationships/local/RelationshipInfo.js ***!
1091
- \**************************************************************/
1092
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1093
-
1094
- "use strict";
1095
-
1096
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1097
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1098
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1099
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1100
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1101
- };
1102
- var __metadata = (this && this.__metadata) || function (k, v) {
1103
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1104
- };
1105
- var RelationshipInfo_1;
1106
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1107
- exports.RelationshipInfo = void 0;
1108
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1109
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1110
- const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
1111
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1112
- const RelationshipAttribute_1 = __webpack_require__(/*! ./RelationshipAttribute */ "./dist/modules/relationships/local/RelationshipAttribute.js");
1113
- const RelationshipTheme_1 = __webpack_require__(/*! ./RelationshipTheme */ "./dist/modules/relationships/local/RelationshipTheme.js");
1114
- let RelationshipInfo = RelationshipInfo_1 = class RelationshipInfo extends transport_1.CoreSynchronizable {
1115
- constructor() {
1116
- super(...arguments);
1117
- this.technicalProperties = [
1118
- "@type",
1119
- "@context",
1120
- (0, ts_simple_nameof_1.nameof)((r) => r.relationshipId),
1121
- (0, ts_simple_nameof_1.nameof)((r) => r.title),
1122
- (0, ts_simple_nameof_1.nameof)((r) => r.description),
1123
- (0, ts_simple_nameof_1.nameof)((r) => r.theme)
1124
- ];
1125
- this.userdataProperties = [
1126
- (0, ts_simple_nameof_1.nameof)((r) => r.isPinned),
1127
- (0, ts_simple_nameof_1.nameof)((r) => r.userTitle),
1128
- (0, ts_simple_nameof_1.nameof)((r) => r.userDescription)
1129
- ];
1130
- }
1131
- static async fromRelationship(relationship) {
1132
- if (typeof relationship.metadata === "undefined") {
1133
- return await RelationshipInfo_1.from({
1134
- id: await consumption_1.ConsumptionIds.relationshipInfo.generate(),
1135
- relationshipId: relationship.id,
1136
- attributes: [],
1137
- isPinned: false,
1138
- title: relationship.peer.address.address.substring(3, 9)
1139
- });
757
+ if (isParentAccepted && requestItemGroup.mustBeAccepted && !isGroupAccepted) {
758
+ return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidResponseItemForRequestItem", `The RequestItemGroup with index '${index}', which is flagged as 'mustBeAccepted', was not accepted. Please accept all 'mustBeAccepted' items in this group.`));
1140
759
  }
1141
- return await RelationshipInfo_1.from(relationship.metadata);
1142
- }
1143
- static async from(value) {
1144
- return await super.fromT(value, RelationshipInfo_1);
1145
- }
1146
- };
1147
- __decorate([
1148
- (0, ts_serval_1.validate)(),
1149
- (0, ts_serval_1.serialize)(),
1150
- __metadata("design:type", transport_1.CoreId)
1151
- ], RelationshipInfo.prototype, "relationshipId", void 0);
1152
- __decorate([
1153
- (0, ts_serval_1.validate)(),
1154
- (0, ts_serval_1.serialize)({ type: RelationshipAttribute_1.RelationshipAttribute }),
1155
- __metadata("design:type", Array)
1156
- ], RelationshipInfo.prototype, "attributes", void 0);
1157
- __decorate([
1158
- (0, ts_serval_1.validate)(),
1159
- (0, ts_serval_1.serialize)(),
1160
- __metadata("design:type", Boolean)
1161
- ], RelationshipInfo.prototype, "isPinned", void 0);
1162
- __decorate([
1163
- (0, ts_serval_1.validate)({ nullable: true }),
1164
- (0, ts_serval_1.serialize)(),
1165
- __metadata("design:type", String)
1166
- ], RelationshipInfo.prototype, "userTitle", void 0);
1167
- __decorate([
1168
- (0, ts_serval_1.validate)(),
1169
- (0, ts_serval_1.serialize)(),
1170
- __metadata("design:type", String)
1171
- ], RelationshipInfo.prototype, "title", void 0);
1172
- __decorate([
1173
- (0, ts_serval_1.validate)({ nullable: true }),
1174
- (0, ts_serval_1.serialize)(),
1175
- __metadata("design:type", String)
1176
- ], RelationshipInfo.prototype, "userDescription", void 0);
1177
- __decorate([
1178
- (0, ts_serval_1.validate)({ nullable: true }),
1179
- (0, ts_serval_1.serialize)(),
1180
- __metadata("design:type", String)
1181
- ], RelationshipInfo.prototype, "description", void 0);
1182
- __decorate([
1183
- (0, ts_serval_1.validate)({ nullable: true }),
1184
- (0, ts_serval_1.serialize)(),
1185
- __metadata("design:type", RelationshipTheme_1.RelationshipTheme)
1186
- ], RelationshipInfo.prototype, "theme", void 0);
1187
- RelationshipInfo = RelationshipInfo_1 = __decorate([
1188
- (0, ts_serval_1.type)("RelationshipInfo")
1189
- ], RelationshipInfo);
1190
- exports.RelationshipInfo = RelationshipInfo;
1191
- //# sourceMappingURL=RelationshipInfo.js.map
1192
-
1193
- /***/ }),
1194
-
1195
- /***/ "./dist/modules/relationships/local/RelationshipTheme.js":
1196
- /*!***************************************************************!*\
1197
- !*** ./dist/modules/relationships/local/RelationshipTheme.js ***!
1198
- \***************************************************************/
1199
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1200
-
1201
- "use strict";
1202
-
1203
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1204
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1205
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1206
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1207
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1208
- };
1209
- var __metadata = (this && this.__metadata) || function (k, v) {
1210
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1211
- };
1212
- var RelationshipTheme_1;
1213
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1214
- exports.RelationshipTheme = void 0;
1215
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1216
- let RelationshipTheme = RelationshipTheme_1 = class RelationshipTheme extends ts_serval_1.SerializableAsync {
1217
- static async from(value) {
1218
- return await super.fromT(value, RelationshipTheme_1);
1219
- }
1220
- };
1221
- __decorate([
1222
- (0, ts_serval_1.validate)(),
1223
- (0, ts_serval_1.serialize)(),
1224
- __metadata("design:type", String)
1225
- ], RelationshipTheme.prototype, "image", void 0);
1226
- __decorate([
1227
- (0, ts_serval_1.validate)(),
1228
- (0, ts_serval_1.serialize)(),
1229
- __metadata("design:type", String)
1230
- ], RelationshipTheme.prototype, "imageBar", void 0);
1231
- __decorate([
1232
- (0, ts_serval_1.validate)(),
1233
- (0, ts_serval_1.serialize)(),
1234
- __metadata("design:type", String)
1235
- ], RelationshipTheme.prototype, "backgroundColor", void 0);
1236
- __decorate([
1237
- (0, ts_serval_1.validate)(),
1238
- (0, ts_serval_1.serialize)(),
1239
- __metadata("design:type", String)
1240
- ], RelationshipTheme.prototype, "foregroundColor", void 0);
1241
- RelationshipTheme = RelationshipTheme_1 = __decorate([
1242
- (0, ts_serval_1.type)("RelationshipTheme")
1243
- ], RelationshipTheme);
1244
- exports.RelationshipTheme = RelationshipTheme;
1245
- //# sourceMappingURL=RelationshipTheme.js.map
1246
-
1247
- /***/ }),
1248
-
1249
- /***/ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js":
1250
- /*!****************************************************************************!*\
1251
- !*** ./dist/modules/requests/incoming/DecideRequestParametersValidator.js ***!
1252
- \****************************************************************************/
1253
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1254
-
1255
- "use strict";
1256
-
1257
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1258
- exports.DecideRequestParametersValidator = void 0;
1259
- const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
1260
- class DecideRequestParametersValidator {
1261
- validate(params, request) {
1262
- if (params.items.length !== request.content.items.length) {
1263
- return ts_utils_1.Result.fail(new ts_utils_1.ApplicationError("invalidNumberOfItems", "Number of items in Request and Response do not match"));
760
+ for (let i = 0; i < responseItemGroup.items.length; i++) {
761
+ const validationResult = this.checkItem(requestItemGroup.items[i], responseItemGroup.items[i], `${index}.${i}`, isGroupAccepted);
762
+ if (validationResult.isError)
763
+ return validationResult;
1264
764
  }
1265
765
  return ts_utils_1.Result.ok(undefined);
1266
766
  }
767
+ invalidNumberOfItemsError(message) {
768
+ return new ts_utils_1.ApplicationError("error.requests.decide.validation.invalidNumberOfItems", message);
769
+ }
1267
770
  }
1268
771
  exports.DecideRequestParametersValidator = DecideRequestParametersValidator;
1269
772
  //# sourceMappingURL=DecideRequestParametersValidator.js.map
@@ -1289,31 +792,22 @@ const ConsumptionRequestStatus_1 = __webpack_require__(/*! ../local/ConsumptionR
1289
792
  const ConsumptionResponse_1 = __webpack_require__(/*! ../local/ConsumptionResponse */ "./dist/modules/requests/local/ConsumptionResponse.js");
1290
793
  const CheckPrerequisitesOfIncomingRequestParameters_1 = __webpack_require__(/*! ./checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters */ "./dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js");
1291
794
  const CompleteIncomingRequestParameters_1 = __webpack_require__(/*! ./complete/CompleteIncomingRequestParameters */ "./dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js");
1292
- const AcceptRequestItemParameters_1 = __webpack_require__(/*! ./decide/AcceptRequestItemParameters */ "./dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js");
1293
- const AcceptRequestParameters_1 = __webpack_require__(/*! ./decide/AcceptRequestParameters */ "./dist/modules/requests/incoming/decide/AcceptRequestParameters.js");
1294
- const DecideRequestItemGroupParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemGroupParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js");
1295
- const DecideRequestItemParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js");
1296
- const RejectRequestItemParameters_1 = __webpack_require__(/*! ./decide/RejectRequestItemParameters */ "./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js");
1297
- const RejectRequestParameters_1 = __webpack_require__(/*! ./decide/RejectRequestParameters */ "./dist/modules/requests/incoming/decide/RejectRequestParameters.js");
795
+ const InternalDecideRequestParameters_1 = __webpack_require__(/*! ./decide/InternalDecideRequestParameters */ "./dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js");
1298
796
  const DecideRequestParametersValidator_1 = __webpack_require__(/*! ./DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js");
1299
797
  const ReceivedIncomingRequestParameters_1 = __webpack_require__(/*! ./received/ReceivedIncomingRequestParameters */ "./dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js");
1300
798
  const RequireManualDecisionOfIncomingRequestParameters_1 = __webpack_require__(/*! ./requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js");
1301
799
  class IncomingRequestsController extends consumption_1.ConsumptionBaseController {
1302
- constructor(parent, processorRegistry) {
800
+ constructor(consumptionRequests, processorRegistry, parent) {
1303
801
  super(consumption_1.ConsumptionControllerName.RequestsController, parent);
802
+ this.consumptionRequests = consumptionRequests;
1304
803
  this.processorRegistry = processorRegistry;
1305
804
  this.decideRequestParamsValidator = new DecideRequestParametersValidator_1.DecideRequestParametersValidator();
1306
805
  }
1307
- async init() {
1308
- await super.init();
1309
- this.consumptionRequests = await this.parent.accountController.getSynchronizedCollection("Requests");
1310
- return this;
1311
- }
1312
806
  async received(params) {
1313
- const parsedParams = await ReceivedIncomingRequestParameters_1.ReceivedIncomingRequestParameters.from(params);
807
+ const parsedParams = ReceivedIncomingRequestParameters_1.ReceivedIncomingRequestParameters.from(params);
1314
808
  const infoFromSource = this.extractInfoFromSource(parsedParams.requestSourceObject);
1315
- const consumptionRequest = await ConsumptionRequest_1.ConsumptionRequest.from({
1316
- id: parsedParams.receivedRequest.id ?? (await transport_1.CoreId.generate()),
809
+ const consumptionRequest = ConsumptionRequest_1.ConsumptionRequest.from({
810
+ id: parsedParams.receivedRequest.id ?? (await consumption_1.ConsumptionIds.request.generate()),
1317
811
  createdAt: transport_1.CoreDate.utc(),
1318
812
  status: ConsumptionRequestStatus_1.ConsumptionRequestStatus.Open,
1319
813
  content: parsedParams.receivedRequest,
@@ -1354,7 +848,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1354
848
  };
1355
849
  }
1356
850
  async checkPrerequisites(params) {
1357
- const parsedParams = await CheckPrerequisitesOfIncomingRequestParameters_1.CheckPrerequisitesOfIncomingRequestParameters.from(params);
851
+ const parsedParams = CheckPrerequisitesOfIncomingRequestParameters_1.CheckPrerequisitesOfIncomingRequestParameters.from(params);
1358
852
  const request = await this.getOrThrow(parsedParams.requestId);
1359
853
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.Open);
1360
854
  for (const item of request.content.items) {
@@ -1380,7 +874,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1380
874
  return request;
1381
875
  }
1382
876
  async requireManualDecision(params) {
1383
- const parsedParams = await RequireManualDecisionOfIncomingRequestParameters_1.RequireManualDecisionOfIncomingRequestParameters.from(params);
877
+ const parsedParams = RequireManualDecisionOfIncomingRequestParameters_1.RequireManualDecisionOfIncomingRequestParameters.from(params);
1384
878
  const request = await this.getOrThrow(parsedParams.requestId);
1385
879
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.DecisionRequired);
1386
880
  request.changeStatus(ConsumptionRequestStatus_1.ConsumptionRequestStatus.ManualDecisionRequired);
@@ -1388,64 +882,67 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1388
882
  return request;
1389
883
  }
1390
884
  async canAccept(params) {
1391
- const parsedParams = await AcceptRequestParameters_1.AcceptRequestParameters.from(params);
1392
- return await this.canDecide(parsedParams, "Accept");
885
+ return await this.canDecide({ ...params, accept: true });
1393
886
  }
1394
887
  async canReject(params) {
1395
- const parsedParams = await RejectRequestParameters_1.RejectRequestParameters.from(params);
1396
- return await this.canDecide(parsedParams, "Reject");
888
+ return await this.canDecide({ ...params, accept: false });
1397
889
  }
1398
- async canDecide(params, action) {
890
+ async canDecide(params) {
891
+ // syntactic validation
892
+ InternalDecideRequestParameters_1.InternalDecideRequestParameters.from(params);
1399
893
  const request = await this.getOrThrow(params.requestId);
894
+ const validationResult = this.decideRequestParamsValidator.validate(params, request);
895
+ if (!validationResult.isSuccess) {
896
+ throw new Error(validationResult.error.message);
897
+ }
1400
898
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.DecisionRequired, ConsumptionRequestStatus_1.ConsumptionRequestStatus.ManualDecisionRequired);
1401
- const itemResults = await this.canDecideItems(params.items, request.content.items, action);
899
+ const itemResults = await this.canDecideItems(params.items, request.content.items);
1402
900
  return ValidationResult_1.ValidationResult.fromItems(itemResults);
1403
901
  }
1404
- async canDecideGroup(params, requestItemGroup, action) {
1405
- const itemResults = await this.canDecideItems(params.items, requestItemGroup.items, action);
902
+ async canDecideGroup(params, requestItemGroup) {
903
+ const itemResults = await this.canDecideItems(params.items, requestItemGroup.items);
1406
904
  return ValidationResult_1.ValidationResult.fromItems(itemResults);
1407
905
  }
1408
- async canDecideItems(params, items, action) {
906
+ async canDecideItems(params, items) {
1409
907
  const validationResults = [];
1410
908
  for (let i = 0; i < params.length; i++) {
1411
909
  const decideItemParams = params[i];
1412
910
  const requestItem = items[i];
1413
911
  if (requestItem instanceof content_1.RequestItemGroup) {
1414
- const groupResult = await this.canDecideGroup(decideItemParams, requestItem, action);
912
+ const groupResult = await this.canDecideGroup(decideItemParams, requestItem);
1415
913
  validationResults.push(groupResult);
1416
914
  }
1417
915
  else {
1418
- const itemResult = await this.canDecideItem(decideItemParams, requestItem, action);
916
+ const itemResult = await this.canDecideItem(decideItemParams, requestItem);
1419
917
  validationResults.push(itemResult);
1420
918
  }
1421
919
  }
1422
920
  return validationResults;
1423
921
  }
1424
- canDecideItem(params, requestItem, action) {
922
+ async canDecideItem(params, requestItem) {
1425
923
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
1426
- return processor[`can${action}`](requestItem, params);
924
+ if (params.accept) {
925
+ return await processor.canAccept(requestItem, params);
926
+ }
927
+ return await processor.canReject(requestItem, params);
1427
928
  }
1428
929
  async accept(params) {
1429
930
  const canAccept = await this.canAccept(params);
1430
931
  if (!canAccept.isSuccess()) {
1431
932
  throw new Error("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
1432
933
  }
1433
- return await this.decide(await AcceptRequestParameters_1.AcceptRequestParameters.from(params));
934
+ return await this.decide({ ...params, accept: true });
1434
935
  }
1435
936
  async reject(params) {
1436
937
  const canReject = await this.canReject(params);
1437
938
  if (!canReject.isSuccess()) {
1438
939
  throw new Error("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
1439
940
  }
1440
- return await this.decide(await RejectRequestParameters_1.RejectRequestParameters.from(params));
941
+ return await this.decide({ ...params, accept: false });
1441
942
  }
1442
943
  async decide(params) {
1443
944
  const consumptionRequest = await this.getOrThrow(params.requestId);
1444
945
  this.assertRequestStatus(consumptionRequest, ConsumptionRequestStatus_1.ConsumptionRequestStatus.DecisionRequired, ConsumptionRequestStatus_1.ConsumptionRequestStatus.ManualDecisionRequired);
1445
- const validationResult = this.decideRequestParamsValidator.validate(params, consumptionRequest);
1446
- if (!validationResult.isSuccess) {
1447
- throw new Error(validationResult.error.message);
1448
- }
1449
946
  const consumptionResponse = await this.createConsumptionResponse(params, consumptionRequest);
1450
947
  consumptionRequest.response = consumptionResponse;
1451
948
  consumptionRequest.changeStatus(ConsumptionRequestStatus_1.ConsumptionRequestStatus.Decided);
@@ -1455,12 +952,12 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1455
952
  async createConsumptionResponse(params, request) {
1456
953
  const requestItems = request.content.items;
1457
954
  const responseItems = await this.decideItems(params.items, requestItems);
1458
- const response = await content_1.Response.from({
1459
- result: params instanceof AcceptRequestParameters_1.AcceptRequestParameters ? content_1.ResponseResult.Accepted : content_1.ResponseResult.Rejected,
955
+ const response = content_1.Response.from({
956
+ result: params.accept ? content_1.ResponseResult.Accepted : content_1.ResponseResult.Rejected,
1460
957
  requestId: request.id,
1461
958
  items: responseItems
1462
959
  });
1463
- const consumptionResponse = await ConsumptionResponse_1.ConsumptionResponse.from({
960
+ const consumptionResponse = ConsumptionResponse_1.ConsumptionResponse.from({
1464
961
  content: response,
1465
962
  createdAt: transport_1.CoreDate.utc()
1466
963
  });
@@ -1468,7 +965,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1468
965
  }
1469
966
  async decideGroup(groupItemParam, requestItemGroup) {
1470
967
  const items = (await this.decideItems(groupItemParam.items, requestItemGroup.items));
1471
- const group = await content_1.ResponseItemGroup.from({
968
+ const group = content_1.ResponseItemGroup.from({
1472
969
  items: items,
1473
970
  metadata: requestItemGroup.responseMetadata
1474
971
  });
@@ -1478,11 +975,12 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1478
975
  const responseItems = [];
1479
976
  for (let i = 0; i < params.length; i++) {
1480
977
  const itemParam = params[i];
1481
- if (itemParam instanceof DecideRequestItemParameters_1.DecideRequestItemParameters) {
1482
- responseItems.push(await this.decideItem(itemParam, requestItems[i]));
978
+ const item = requestItems[i];
979
+ if (item instanceof content_1.RequestItemGroup) {
980
+ responseItems.push(await this.decideGroup(itemParam, item));
1483
981
  }
1484
- else if (itemParam instanceof DecideRequestItemGroupParameters_1.DecideRequestItemGroupParameters) {
1485
- responseItems.push(await this.decideGroup(itemParam, requestItems[i]));
982
+ else {
983
+ responseItems.push(await this.decideItem(itemParam, requestItems[i]));
1486
984
  }
1487
985
  }
1488
986
  return responseItems;
@@ -1490,12 +988,10 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1490
988
  async decideItem(params, requestItem) {
1491
989
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
1492
990
  try {
1493
- if (params instanceof AcceptRequestItemParameters_1.AcceptRequestItemParameters) {
991
+ if (params.accept) {
1494
992
  return await processor.accept(requestItem, params);
1495
993
  }
1496
- else if (params instanceof RejectRequestItemParameters_1.RejectRequestItemParameters) {
1497
- return await processor.reject(requestItem, params);
1498
- }
994
+ return await processor.reject(requestItem, params);
1499
995
  }
1500
996
  catch (e) {
1501
997
  let details = "";
@@ -1504,10 +1000,9 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1504
1000
  }
1505
1001
  throw new Error(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
1506
1002
  }
1507
- throw new Error("Unknown params type");
1508
1003
  }
1509
1004
  async complete(params) {
1510
- const parsedParams = await CompleteIncomingRequestParameters_1.CompleteIncomingRequestParameters.from(params);
1005
+ const parsedParams = CompleteIncomingRequestParameters_1.CompleteIncomingRequestParameters.from(params);
1511
1006
  const request = await this.getOrThrow(parsedParams.requestId);
1512
1007
  if (request.isOwn) {
1513
1008
  throw new Error("Cannot decide own Request");
@@ -1523,7 +1018,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1523
1018
  else {
1524
1019
  throw new Error("Unknown response source");
1525
1020
  }
1526
- request.response.source = await ConsumptionResponse_1.ConsumptionResponseSource.from({
1021
+ request.response.source = ConsumptionResponse_1.ConsumptionResponseSource.from({
1527
1022
  type: responseSource,
1528
1023
  reference: parsedParams.responseSourceObject.id
1529
1024
  });
@@ -1531,13 +1026,20 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1531
1026
  await this.update(request);
1532
1027
  return request;
1533
1028
  }
1534
- async get(id) {
1535
- const requestDoc = await this.consumptionRequests.findOne({ id: id.toString(), isOwn: false });
1536
- const request = requestDoc ? await ConsumptionRequest_1.ConsumptionRequest.from(requestDoc) : undefined;
1029
+ async getIncomingRequests(query) {
1030
+ query ??= {};
1031
+ query.isOwn = false;
1032
+ const requestDocs = await this.consumptionRequests.find(query);
1033
+ const requests = requestDocs.map((r) => ConsumptionRequest_1.ConsumptionRequest.from(r));
1034
+ return requests;
1035
+ }
1036
+ async getIncomingRequest(idIncomingRequest) {
1037
+ const requestDoc = await this.consumptionRequests.findOne({ id: idIncomingRequest.toString(), isOwn: false });
1038
+ const request = requestDoc ? ConsumptionRequest_1.ConsumptionRequest.from(requestDoc) : undefined;
1537
1039
  return request;
1538
1040
  }
1539
1041
  async getOrThrow(id) {
1540
- const request = await this.get(id);
1042
+ const request = await this.getIncomingRequest(transport_1.CoreId.from(id));
1541
1043
  if (!request) {
1542
1044
  throw transport_1.TransportErrors.general.recordNotFound(ConsumptionRequest_1.ConsumptionRequest, id.toString());
1543
1045
  }
@@ -1578,14 +1080,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
1578
1080
  var __metadata = (this && this.__metadata) || function (k, v) {
1579
1081
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1580
1082
  };
1581
- var CheckPrerequisitesOfIncomingRequestParameters_1;
1582
1083
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1583
1084
  exports.CheckPrerequisitesOfIncomingRequestParameters = void 0;
1584
1085
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1585
1086
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1586
- let CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters_1 = class CheckPrerequisitesOfIncomingRequestParameters extends ts_serval_1.SerializableAsync {
1587
- static async from(value) {
1588
- return await super.fromT(value, CheckPrerequisitesOfIncomingRequestParameters_1);
1087
+ let CheckPrerequisitesOfIncomingRequestParameters = class CheckPrerequisitesOfIncomingRequestParameters extends ts_serval_1.Serializable {
1088
+ static from(value) {
1089
+ return this.fromAny(value);
1589
1090
  }
1590
1091
  };
1591
1092
  __decorate([
@@ -1593,7 +1094,7 @@ __decorate([
1593
1094
  (0, ts_serval_1.validate)(),
1594
1095
  __metadata("design:type", transport_1.CoreId)
1595
1096
  ], CheckPrerequisitesOfIncomingRequestParameters.prototype, "requestId", void 0);
1596
- CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters_1 = __decorate([
1097
+ CheckPrerequisitesOfIncomingRequestParameters = __decorate([
1597
1098
  (0, ts_serval_1.type)("CheckPrerequisitesOfIncomingRequestParameters")
1598
1099
  ], CheckPrerequisitesOfIncomingRequestParameters);
1599
1100
  exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters;
@@ -1622,9 +1123,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1622
1123
  exports.CompleteIncomingRequestParameters = void 0;
1623
1124
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1624
1125
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1625
- class CompleteIncomingRequestParameters extends ts_serval_1.SerializableAsync {
1626
- static async from(value) {
1627
- return await super.fromT(value, CompleteIncomingRequestParameters);
1126
+ class CompleteIncomingRequestParameters extends ts_serval_1.Serializable {
1127
+ static from(value) {
1128
+ return this.fromAny(value);
1628
1129
  }
1629
1130
  }
1630
1131
  __decorate([
@@ -1646,101 +1147,29 @@ exports.CompleteIncomingRequestParameters = CompleteIncomingRequestParameters;
1646
1147
  /*!******************************************************************************!*\
1647
1148
  !*** ./dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js ***!
1648
1149
  \******************************************************************************/
1649
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1150
+ /***/ ((__unused_webpack_module, exports) => {
1650
1151
 
1651
1152
  "use strict";
1652
1153
 
1653
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1654
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1655
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1656
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1657
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1658
- };
1659
- var AcceptRequestItemParameters_1;
1660
1154
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1661
- exports.AcceptRequestItemParameters = void 0;
1662
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1663
- const DecideRequestItemParameters_1 = __webpack_require__(/*! ./DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js");
1664
- let AcceptRequestItemParameters = AcceptRequestItemParameters_1 = class AcceptRequestItemParameters extends DecideRequestItemParameters_1.DecideRequestItemParameters {
1665
- static async from(params) {
1666
- return await super.fromT(params, AcceptRequestItemParameters_1);
1667
- }
1668
- };
1669
- AcceptRequestItemParameters = AcceptRequestItemParameters_1 = __decorate([
1670
- (0, ts_serval_1.type)("AcceptRequestItemParameters")
1671
- ], AcceptRequestItemParameters);
1672
- exports.AcceptRequestItemParameters = AcceptRequestItemParameters;
1673
1155
  //# sourceMappingURL=AcceptRequestItemParameters.js.map
1674
1156
 
1675
1157
  /***/ }),
1676
1158
 
1677
- /***/ "./dist/modules/requests/incoming/decide/AcceptRequestParameters.js":
1678
- /*!**************************************************************************!*\
1679
- !*** ./dist/modules/requests/incoming/decide/AcceptRequestParameters.js ***!
1680
- \**************************************************************************/
1681
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1682
-
1683
- "use strict";
1684
-
1685
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1686
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1687
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1688
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1689
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1690
- };
1691
- var AcceptRequestParameters_1;
1692
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1693
- exports.AcceptRequestParameters = void 0;
1694
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1695
- const DecideRequestParameters_1 = __webpack_require__(/*! ./DecideRequestParameters */ "./dist/modules/requests/incoming/decide/DecideRequestParameters.js");
1696
- let AcceptRequestParameters = AcceptRequestParameters_1 = class AcceptRequestParameters extends DecideRequestParameters_1.DecideRequestParameters {
1697
- static async from(params) {
1698
- return await super.fromT(params, AcceptRequestParameters_1);
1699
- }
1700
- };
1701
- AcceptRequestParameters = AcceptRequestParameters_1 = __decorate([
1702
- (0, ts_serval_1.type)("AcceptRequestParameters")
1703
- ], AcceptRequestParameters);
1704
- exports.AcceptRequestParameters = AcceptRequestParameters;
1705
- //# sourceMappingURL=AcceptRequestParameters.js.map
1706
-
1707
- /***/ }),
1708
-
1709
1159
  /***/ "./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js":
1710
1160
  /*!***********************************************************************************!*\
1711
1161
  !*** ./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js ***!
1712
1162
  \***********************************************************************************/
1713
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1163
+ /***/ ((__unused_webpack_module, exports) => {
1714
1164
 
1715
1165
  "use strict";
1716
1166
 
1717
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1718
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1719
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1720
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1721
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1722
- };
1723
- var __metadata = (this && this.__metadata) || function (k, v) {
1724
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1725
- };
1726
- var DecideRequestItemGroupParameters_1;
1727
1167
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1728
- exports.DecideRequestItemGroupParameters = void 0;
1729
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1730
- let DecideRequestItemGroupParameters = DecideRequestItemGroupParameters_1 = class DecideRequestItemGroupParameters extends ts_serval_1.SerializableAsync {
1731
- static async from(params) {
1732
- return await super.fromT(params, DecideRequestItemGroupParameters_1);
1733
- }
1734
- };
1735
- __decorate([
1736
- (0, ts_serval_1.serialize)(),
1737
- (0, ts_serval_1.validate)(),
1738
- __metadata("design:type", Array)
1739
- ], DecideRequestItemGroupParameters.prototype, "items", void 0);
1740
- DecideRequestItemGroupParameters = DecideRequestItemGroupParameters_1 = __decorate([
1741
- (0, ts_serval_1.type)("DecideRequestItemGroupParameters")
1742
- ], DecideRequestItemGroupParameters);
1743
- exports.DecideRequestItemGroupParameters = DecideRequestItemGroupParameters;
1168
+ exports.isDecideRequestItemGroupParametersJSON = void 0;
1169
+ function isDecideRequestItemGroupParametersJSON(json) {
1170
+ return typeof json.items !== "undefined" && typeof json.accept === "undefined";
1171
+ }
1172
+ exports.isDecideRequestItemGroupParametersJSON = isDecideRequestItemGroupParametersJSON;
1744
1173
  //# sourceMappingURL=DecideRequestItemGroupParameters.js.map
1745
1174
 
1746
1175
  /***/ }),
@@ -1749,16 +1178,16 @@ exports.DecideRequestItemGroupParameters = DecideRequestItemGroupParameters;
1749
1178
  /*!******************************************************************************!*\
1750
1179
  !*** ./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js ***!
1751
1180
  \******************************************************************************/
1752
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1181
+ /***/ ((__unused_webpack_module, exports) => {
1753
1182
 
1754
1183
  "use strict";
1755
1184
 
1756
1185
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1757
- exports.DecideRequestItemParameters = void 0;
1758
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1759
- class DecideRequestItemParameters extends ts_serval_1.SerializableAsync {
1186
+ exports.isDecideRequestItemParametersJSON = void 0;
1187
+ function isDecideRequestItemParametersJSON(json) {
1188
+ return typeof json.items === "undefined" && typeof json.accept !== "undefined";
1760
1189
  }
1761
- exports.DecideRequestItemParameters = DecideRequestItemParameters;
1190
+ exports.isDecideRequestItemParametersJSON = isDecideRequestItemParametersJSON;
1762
1191
  //# sourceMappingURL=DecideRequestItemParameters.js.map
1763
1192
 
1764
1193
  /***/ }),
@@ -1767,46 +1196,19 @@ exports.DecideRequestItemParameters = DecideRequestItemParameters;
1767
1196
  /*!**************************************************************************!*\
1768
1197
  !*** ./dist/modules/requests/incoming/decide/DecideRequestParameters.js ***!
1769
1198
  \**************************************************************************/
1770
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1199
+ /***/ ((__unused_webpack_module, exports) => {
1771
1200
 
1772
1201
  "use strict";
1773
1202
 
1774
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1775
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1776
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1777
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1778
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1779
- };
1780
- var __metadata = (this && this.__metadata) || function (k, v) {
1781
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1782
- };
1783
1203
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1784
- exports.DecideRequestParameters = void 0;
1785
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1786
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1787
- class DecideRequestParameters extends ts_serval_1.SerializableAsync {
1788
- }
1789
- __decorate([
1790
- (0, ts_serval_1.serialize)(),
1791
- (0, ts_serval_1.validate)(),
1792
- __metadata("design:type", transport_1.CoreId)
1793
- ], DecideRequestParameters.prototype, "requestId", void 0);
1794
- __decorate([
1795
- (0, ts_serval_1.serialize)(),
1796
- (0, ts_serval_1.validate)({
1797
- customValidator: (items) => items.length === 0 ? "may not be empty" : undefined
1798
- }),
1799
- __metadata("design:type", Array)
1800
- ], DecideRequestParameters.prototype, "items", void 0);
1801
- exports.DecideRequestParameters = DecideRequestParameters;
1802
1204
  //# sourceMappingURL=DecideRequestParameters.js.map
1803
1205
 
1804
1206
  /***/ }),
1805
1207
 
1806
- /***/ "./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js":
1807
- /*!******************************************************************************!*\
1808
- !*** ./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js ***!
1809
- \******************************************************************************/
1208
+ /***/ "./dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js":
1209
+ /*!**********************************************************************************!*\
1210
+ !*** ./dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js ***!
1211
+ \**********************************************************************************/
1810
1212
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1811
1213
 
1812
1214
  "use strict";
@@ -1820,63 +1222,48 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
1820
1222
  var __metadata = (this && this.__metadata) || function (k, v) {
1821
1223
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1822
1224
  };
1823
- var RejectRequestItemParameters_1;
1824
1225
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1825
- exports.RejectRequestItemParameters = void 0;
1226
+ exports.InternalDecideRequestParameters = void 0;
1826
1227
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1827
- const DecideRequestItemParameters_1 = __webpack_require__(/*! ./DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js");
1828
- let RejectRequestItemParameters = RejectRequestItemParameters_1 = class RejectRequestItemParameters extends DecideRequestItemParameters_1.DecideRequestItemParameters {
1829
- static async from(params) {
1830
- return await super.fromT(params, RejectRequestItemParameters_1);
1228
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1229
+ let InternalDecideRequestParameters = class InternalDecideRequestParameters extends ts_serval_1.Serializable {
1230
+ static from(value) {
1231
+ return this.fromAny(value);
1831
1232
  }
1832
1233
  };
1833
1234
  __decorate([
1834
1235
  (0, ts_serval_1.serialize)(),
1835
- (0, ts_serval_1.validate)({ nullable: true }),
1836
- __metadata("design:type", String)
1837
- ], RejectRequestItemParameters.prototype, "code", void 0);
1236
+ (0, ts_serval_1.validate)(),
1237
+ __metadata("design:type", transport_1.CoreId)
1238
+ ], InternalDecideRequestParameters.prototype, "requestId", void 0);
1838
1239
  __decorate([
1839
1240
  (0, ts_serval_1.serialize)(),
1840
- (0, ts_serval_1.validate)({ nullable: true }),
1841
- __metadata("design:type", String)
1842
- ], RejectRequestItemParameters.prototype, "message", void 0);
1843
- RejectRequestItemParameters = RejectRequestItemParameters_1 = __decorate([
1844
- (0, ts_serval_1.type)("RejectRequestItemParameters")
1845
- ], RejectRequestItemParameters);
1846
- exports.RejectRequestItemParameters = RejectRequestItemParameters;
1847
- //# sourceMappingURL=RejectRequestItemParameters.js.map
1241
+ (0, ts_serval_1.validate)(),
1242
+ __metadata("design:type", Array)
1243
+ ], InternalDecideRequestParameters.prototype, "items", void 0);
1244
+ __decorate([
1245
+ (0, ts_serval_1.serialize)(),
1246
+ (0, ts_serval_1.validate)(),
1247
+ __metadata("design:type", Boolean)
1248
+ ], InternalDecideRequestParameters.prototype, "accept", void 0);
1249
+ InternalDecideRequestParameters = __decorate([
1250
+ (0, ts_serval_1.type)("InternalDecideRequestParameters")
1251
+ ], InternalDecideRequestParameters);
1252
+ exports.InternalDecideRequestParameters = InternalDecideRequestParameters;
1253
+ //# sourceMappingURL=InternalDecideRequestParameters.js.map
1848
1254
 
1849
1255
  /***/ }),
1850
1256
 
1851
- /***/ "./dist/modules/requests/incoming/decide/RejectRequestParameters.js":
1852
- /*!**************************************************************************!*\
1853
- !*** ./dist/modules/requests/incoming/decide/RejectRequestParameters.js ***!
1854
- \**************************************************************************/
1855
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1257
+ /***/ "./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js":
1258
+ /*!******************************************************************************!*\
1259
+ !*** ./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js ***!
1260
+ \******************************************************************************/
1261
+ /***/ ((__unused_webpack_module, exports) => {
1856
1262
 
1857
1263
  "use strict";
1858
1264
 
1859
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1860
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1861
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1862
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1863
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1864
- };
1865
- var RejectRequestParameters_1;
1866
1265
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1867
- exports.RejectRequestParameters = void 0;
1868
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1869
- const DecideRequestParameters_1 = __webpack_require__(/*! ./DecideRequestParameters */ "./dist/modules/requests/incoming/decide/DecideRequestParameters.js");
1870
- let RejectRequestParameters = RejectRequestParameters_1 = class RejectRequestParameters extends DecideRequestParameters_1.DecideRequestParameters {
1871
- static async from(params) {
1872
- return await super.fromT(params, RejectRequestParameters_1);
1873
- }
1874
- };
1875
- RejectRequestParameters = RejectRequestParameters_1 = __decorate([
1876
- (0, ts_serval_1.type)("RejectRequestParameters")
1877
- ], RejectRequestParameters);
1878
- exports.RejectRequestParameters = RejectRequestParameters;
1879
- //# sourceMappingURL=RejectRequestParameters.js.map
1266
+ //# sourceMappingURL=RejectRequestItemParameters.js.map
1880
1267
 
1881
1268
  /***/ }),
1882
1269
 
@@ -1897,15 +1284,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
1897
1284
  var __metadata = (this && this.__metadata) || function (k, v) {
1898
1285
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1899
1286
  };
1900
- var ReceivedIncomingRequestParameters_1;
1901
1287
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1902
1288
  exports.ReceivedIncomingRequestParameters = void 0;
1903
1289
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1904
1290
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1905
1291
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1906
- let ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters_1 = class ReceivedIncomingRequestParameters extends ts_serval_1.SerializableAsync {
1907
- static async from(params) {
1908
- return await super.fromT(params, ReceivedIncomingRequestParameters_1);
1292
+ let ReceivedIncomingRequestParameters = class ReceivedIncomingRequestParameters extends ts_serval_1.Serializable {
1293
+ static from(value) {
1294
+ return this.fromAny(value);
1909
1295
  }
1910
1296
  };
1911
1297
  __decorate([
@@ -1918,7 +1304,7 @@ __decorate([
1918
1304
  (0, ts_serval_1.validate)(),
1919
1305
  __metadata("design:type", Object)
1920
1306
  ], ReceivedIncomingRequestParameters.prototype, "requestSourceObject", void 0);
1921
- ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters_1 = __decorate([
1307
+ ReceivedIncomingRequestParameters = __decorate([
1922
1308
  (0, ts_serval_1.type)("ReceivedIncomingRequestParameters")
1923
1309
  ], ReceivedIncomingRequestParameters);
1924
1310
  exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters;
@@ -1947,9 +1333,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1947
1333
  exports.RequireManualDecisionOfIncomingRequestParameters = void 0;
1948
1334
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1949
1335
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1950
- class RequireManualDecisionOfIncomingRequestParameters extends ts_serval_1.SerializableAsync {
1951
- static async from(value) {
1952
- return await super.fromT(value, RequireManualDecisionOfIncomingRequestParameters);
1336
+ class RequireManualDecisionOfIncomingRequestParameters extends ts_serval_1.Serializable {
1337
+ static from(value) {
1338
+ return this.fromAny(value);
1953
1339
  }
1954
1340
  }
1955
1341
  __decorate([
@@ -1984,14 +1370,14 @@ class GenericRequestItemProcessor {
1984
1370
  canReject(_requestItem, _params) {
1985
1371
  return ValidationResult_1.ValidationResult.success();
1986
1372
  }
1987
- async accept(requestItem, _params) {
1988
- return await content_1.AcceptResponseItem.from({
1373
+ accept(requestItem, _params) {
1374
+ return content_1.AcceptResponseItem.from({
1989
1375
  result: content_1.ResponseItemResult.Accepted,
1990
1376
  metadata: requestItem.responseMetadata
1991
1377
  });
1992
1378
  }
1993
- async reject(requestItem, _params) {
1994
- return await content_1.RejectResponseItem.from({
1379
+ reject(requestItem, _params) {
1380
+ return content_1.RejectResponseItem.from({
1995
1381
  result: content_1.ResponseItemResult.Rejected,
1996
1382
  metadata: requestItem.responseMetadata
1997
1383
  });
@@ -2011,6 +1397,32 @@ exports.GenericRequestItemProcessor = GenericRequestItemProcessor;
2011
1397
 
2012
1398
  /***/ }),
2013
1399
 
1400
+ /***/ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js":
1401
+ /*!**********************************************************************!*\
1402
+ !*** ./dist/modules/requests/itemProcessors/ProcessorConstructor.js ***!
1403
+ \**********************************************************************/
1404
+ /***/ ((__unused_webpack_module, exports) => {
1405
+
1406
+ "use strict";
1407
+
1408
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1409
+ //# sourceMappingURL=ProcessorConstructor.js.map
1410
+
1411
+ /***/ }),
1412
+
1413
+ /***/ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js":
1414
+ /*!************************************************************************!*\
1415
+ !*** ./dist/modules/requests/itemProcessors/RequestItemConstructor.js ***!
1416
+ \************************************************************************/
1417
+ /***/ ((__unused_webpack_module, exports) => {
1418
+
1419
+ "use strict";
1420
+
1421
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1422
+ //# sourceMappingURL=RequestItemConstructor.js.map
1423
+
1424
+ /***/ }),
1425
+
2014
1426
  /***/ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js":
2015
1427
  /*!******************************************************************************!*\
2016
1428
  !*** ./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js ***!
@@ -2022,8 +1434,11 @@ exports.GenericRequestItemProcessor = GenericRequestItemProcessor;
2022
1434
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2023
1435
  exports.RequestItemProcessorRegistry = void 0;
2024
1436
  class RequestItemProcessorRegistry {
2025
- constructor() {
1437
+ constructor(processors = []) {
2026
1438
  this.registry = {};
1439
+ for (const { itemConstructor, processorConstructor } of processors) {
1440
+ this.registerProcessor(processorConstructor, itemConstructor);
1441
+ }
2027
1442
  }
2028
1443
  registerProcessor(processorConstructor, itemConstructor) {
2029
1444
  if (this.registry.hasOwnProperty(itemConstructor.name)) {
@@ -2115,7 +1530,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2115
1530
  var __metadata = (this && this.__metadata) || function (k, v) {
2116
1531
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2117
1532
  };
2118
- var ConsumptionRequestSource_1, ConsumptionRequest_1;
2119
1533
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2120
1534
  exports.ConsumptionRequest = exports.ConsumptionRequestSource = void 0;
2121
1535
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
@@ -2124,9 +1538,9 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
2124
1538
  const ConsumptionRequestStatus_1 = __webpack_require__(/*! ./ConsumptionRequestStatus */ "./dist/modules/requests/local/ConsumptionRequestStatus.js");
2125
1539
  const ConsumptionRequestStatusLogEntry_1 = __webpack_require__(/*! ./ConsumptionRequestStatusLogEntry */ "./dist/modules/requests/local/ConsumptionRequestStatusLogEntry.js");
2126
1540
  const ConsumptionResponse_1 = __webpack_require__(/*! ./ConsumptionResponse */ "./dist/modules/requests/local/ConsumptionResponse.js");
2127
- let ConsumptionRequestSource = ConsumptionRequestSource_1 = class ConsumptionRequestSource extends transport_1.CoreSerializableAsync {
1541
+ let ConsumptionRequestSource = class ConsumptionRequestSource extends transport_1.CoreSerializable {
2128
1542
  static from(value) {
2129
- return super.fromT(value, ConsumptionRequestSource_1);
1543
+ return this.fromAny(value);
2130
1544
  }
2131
1545
  };
2132
1546
  __decorate([
@@ -2139,11 +1553,11 @@ __decorate([
2139
1553
  (0, ts_serval_1.validate)(),
2140
1554
  __metadata("design:type", transport_1.CoreId)
2141
1555
  ], ConsumptionRequestSource.prototype, "reference", void 0);
2142
- ConsumptionRequestSource = ConsumptionRequestSource_1 = __decorate([
1556
+ ConsumptionRequestSource = __decorate([
2143
1557
  (0, ts_serval_1.type)("ConsumptionRequestSource")
2144
1558
  ], ConsumptionRequestSource);
2145
1559
  exports.ConsumptionRequestSource = ConsumptionRequestSource;
2146
- let ConsumptionRequest = ConsumptionRequest_1 = class ConsumptionRequest extends transport_1.CoreSynchronizable {
1560
+ let ConsumptionRequest = class ConsumptionRequest extends transport_1.CoreSynchronizable {
2147
1561
  changeStatus(newStatus) {
2148
1562
  const logEntry = ConsumptionRequestStatusLogEntry_1.ConsumptionRequestStatusLogEntry.from({
2149
1563
  createdAt: transport_1.CoreDate.utc(),
@@ -2160,8 +1574,8 @@ let ConsumptionRequest = ConsumptionRequest_1 = class ConsumptionRequest extends
2160
1574
  this.source = source;
2161
1575
  this.changeStatus(ConsumptionRequestStatus_1.ConsumptionRequestStatus.Open);
2162
1576
  }
2163
- static async from(value) {
2164
- return await super.fromT(value, ConsumptionRequest_1);
1577
+ static from(value) {
1578
+ return this.fromAny(value);
2165
1579
  }
2166
1580
  };
2167
1581
  __decorate([
@@ -2204,7 +1618,7 @@ __decorate([
2204
1618
  (0, ts_serval_1.validate)(),
2205
1619
  __metadata("design:type", Array)
2206
1620
  ], ConsumptionRequest.prototype, "statusLog", void 0);
2207
- ConsumptionRequest = ConsumptionRequest_1 = __decorate([
1621
+ ConsumptionRequest = __decorate([
2208
1622
  (0, ts_serval_1.type)("ConsumptionRequest")
2209
1623
  ], ConsumptionRequest);
2210
1624
  exports.ConsumptionRequest = ConsumptionRequest;
@@ -2252,15 +1666,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2252
1666
  var __metadata = (this && this.__metadata) || function (k, v) {
2253
1667
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2254
1668
  };
2255
- var ConsumptionRequestStatusLogEntry_1;
2256
1669
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2257
1670
  exports.ConsumptionRequestStatusLogEntry = void 0;
2258
1671
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2259
1672
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2260
1673
  const ConsumptionRequestStatus_1 = __webpack_require__(/*! ./ConsumptionRequestStatus */ "./dist/modules/requests/local/ConsumptionRequestStatus.js");
2261
- let ConsumptionRequestStatusLogEntry = ConsumptionRequestStatusLogEntry_1 = class ConsumptionRequestStatusLogEntry extends transport_1.CoreSerializable {
1674
+ let ConsumptionRequestStatusLogEntry = class ConsumptionRequestStatusLogEntry extends transport_1.CoreSerializable {
2262
1675
  static from(value) {
2263
- return super.fromT(value, ConsumptionRequestStatusLogEntry_1);
1676
+ return this.fromAny(value);
2264
1677
  }
2265
1678
  };
2266
1679
  __decorate([
@@ -2288,7 +1701,7 @@ __decorate([
2288
1701
  (0, ts_serval_1.validate)({ nullable: true }),
2289
1702
  __metadata("design:type", String)
2290
1703
  ], ConsumptionRequestStatusLogEntry.prototype, "code", void 0);
2291
- ConsumptionRequestStatusLogEntry = ConsumptionRequestStatusLogEntry_1 = __decorate([
1704
+ ConsumptionRequestStatusLogEntry = __decorate([
2292
1705
  (0, ts_serval_1.type)("ConsumptionRequestStatusLogEntry")
2293
1706
  ], ConsumptionRequestStatusLogEntry);
2294
1707
  exports.ConsumptionRequestStatusLogEntry = ConsumptionRequestStatusLogEntry;
@@ -2313,15 +1726,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2313
1726
  var __metadata = (this && this.__metadata) || function (k, v) {
2314
1727
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2315
1728
  };
2316
- var ConsumptionResponseSource_1, ConsumptionResponse_1;
2317
1729
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2318
1730
  exports.ConsumptionResponse = exports.ConsumptionResponseSource = void 0;
2319
1731
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2320
1732
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2321
1733
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2322
- let ConsumptionResponseSource = ConsumptionResponseSource_1 = class ConsumptionResponseSource extends transport_1.CoreSerializableAsync {
2323
- static async from(value) {
2324
- return await super.fromT(value, ConsumptionResponseSource_1);
1734
+ let ConsumptionResponseSource = class ConsumptionResponseSource extends transport_1.CoreSerializable {
1735
+ static from(value) {
1736
+ return this.fromAny(value);
2325
1737
  }
2326
1738
  };
2327
1739
  __decorate([
@@ -2334,13 +1746,13 @@ __decorate([
2334
1746
  (0, ts_serval_1.validate)(),
2335
1747
  __metadata("design:type", transport_1.CoreId)
2336
1748
  ], ConsumptionResponseSource.prototype, "reference", void 0);
2337
- ConsumptionResponseSource = ConsumptionResponseSource_1 = __decorate([
1749
+ ConsumptionResponseSource = __decorate([
2338
1750
  (0, ts_serval_1.type)("ConsumptionResponseSource")
2339
1751
  ], ConsumptionResponseSource);
2340
1752
  exports.ConsumptionResponseSource = ConsumptionResponseSource;
2341
- let ConsumptionResponse = ConsumptionResponse_1 = class ConsumptionResponse extends transport_1.CoreSerializableAsync {
2342
- static async from(value) {
2343
- return await super.fromT(value, ConsumptionResponse_1);
1753
+ let ConsumptionResponse = class ConsumptionResponse extends transport_1.CoreSerializable {
1754
+ static from(value) {
1755
+ return this.fromAny(value);
2344
1756
  }
2345
1757
  };
2346
1758
  __decorate([
@@ -2358,7 +1770,7 @@ __decorate([
2358
1770
  (0, ts_serval_1.validate)({ nullable: true }),
2359
1771
  __metadata("design:type", ConsumptionResponseSource)
2360
1772
  ], ConsumptionResponse.prototype, "source", void 0);
2361
- ConsumptionResponse = ConsumptionResponse_1 = __decorate([
1773
+ ConsumptionResponse = __decorate([
2362
1774
  (0, ts_serval_1.type)("ConsumptionResponse")
2363
1775
  ], ConsumptionResponse);
2364
1776
  exports.ConsumptionResponse = ConsumptionResponse;
@@ -2388,17 +1800,13 @@ const CreateOutgoingRequestFromRelationshipCreationChangeParameters_1 = __webpac
2388
1800
  const CreateOutgoingRequestParameters_1 = __webpack_require__(/*! ./createOutgoingRequest/CreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js");
2389
1801
  const SentOutgoingRequestParameters_1 = __webpack_require__(/*! ./sentOutgoingRequest/SentOutgoingRequestParameters */ "./dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js");
2390
1802
  class OutgoingRequestsController extends consumption_1.ConsumptionBaseController {
2391
- constructor(parent, processorRegistry) {
1803
+ constructor(consumptionRequests, processorRegistry, parent) {
2392
1804
  super(consumption_1.ConsumptionControllerName.RequestsController, parent);
1805
+ this.consumptionRequests = consumptionRequests;
2393
1806
  this.processorRegistry = processorRegistry;
2394
1807
  }
2395
- async init() {
2396
- await super.init();
2397
- this.consumptionRequests = await this.parent.accountController.getSynchronizedCollection("Requests");
2398
- return this;
2399
- }
2400
1808
  async canCreate(params) {
2401
- const parsedParams = await CreateOutgoingRequestParameters_1.CreateOutgoingRequestParameters.from(params);
1809
+ const parsedParams = CreateOutgoingRequestParameters_1.CreateOutgoingRequestParameters.from(params);
2402
1810
  const innerResults = await this.canCreateItems(parsedParams.content.items);
2403
1811
  const result = ValidationResult_1.ValidationResult.fromItems(innerResults);
2404
1812
  return result;
@@ -2431,7 +1839,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2431
1839
  return result;
2432
1840
  }
2433
1841
  async create(params) {
2434
- const parsedParams = await CreateOutgoingRequestParameters_1.CreateOutgoingRequestParameters.from(params);
1842
+ const parsedParams = CreateOutgoingRequestParameters_1.CreateOutgoingRequestParameters.from(params);
2435
1843
  const id = await consumption_1.ConsumptionIds.request.generate();
2436
1844
  parsedParams.content.id = id;
2437
1845
  const consumptionRequest = await this._create(id, parsedParams.content, parsedParams.peer);
@@ -2445,7 +1853,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2445
1853
  if (canCreateResult.isError()) {
2446
1854
  throw new Error(canCreateResult.message);
2447
1855
  }
2448
- const consumptionRequest = await ConsumptionRequest_1.ConsumptionRequest.from({
1856
+ const consumptionRequest = ConsumptionRequest_1.ConsumptionRequest.from({
2449
1857
  id: id,
2450
1858
  content: content,
2451
1859
  createdAt: transport_1.CoreDate.utc(),
@@ -2458,23 +1866,33 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2458
1866
  return consumptionRequest;
2459
1867
  }
2460
1868
  async createFromRelationshipCreationChange(params) {
2461
- const parsedParams = await CreateOutgoingRequestFromRelationshipCreationChangeParameters_1.CreateOutgoingRequestFromRelationshipCreationChangeParameters.from(params);
1869
+ const parsedParams = CreateOutgoingRequestFromRelationshipCreationChangeParameters_1.CreateOutgoingRequestFromRelationshipCreationChangeParameters.from(params);
2462
1870
  const peer = parsedParams.creationChange.request.createdBy;
2463
- const id = parsedParams.creationChange.request.content.requestId;
2464
- await this._create(id, parsedParams.template.cache.content, peer);
1871
+ const requestBody = parsedParams.creationChange.request.content;
1872
+ if (!(requestBody instanceof content_1.RelationshipCreationChangeRequestBody)) {
1873
+ throw new Error("the body of the request is not supported as is is not type of RelationshipCreationChangeRequestBody");
1874
+ }
1875
+ const receivedResponse = requestBody.response;
1876
+ const id = receivedResponse.requestId;
1877
+ const templateContent = parsedParams.template.cache.content;
1878
+ if (!(templateContent instanceof content_1.RelationshipTemplateBody)) {
1879
+ throw new Error("the body of the template is not supported as is is not type of RelationshipTemplateBody");
1880
+ }
1881
+ // TODO: is this the correct request (=> could be RelationshipTemplateBody#existingRelationshipRequest)
1882
+ await this._create(id, templateContent.onNewRelationship, peer);
2465
1883
  await this._sent(id, parsedParams.template);
2466
- const consumptionRequest = await this._complete(id, parsedParams.creationChange, parsedParams.creationChange.request.content);
1884
+ const consumptionRequest = await this._complete(id, parsedParams.creationChange, receivedResponse);
2467
1885
  return consumptionRequest;
2468
1886
  }
2469
1887
  async sent(params) {
2470
- const parsedParams = await SentOutgoingRequestParameters_1.SentOutgoingRequestParameters.from(params);
1888
+ const parsedParams = SentOutgoingRequestParameters_1.SentOutgoingRequestParameters.from(params);
2471
1889
  return await this._sent(parsedParams.requestId, parsedParams.requestSourceObject);
2472
1890
  }
2473
1891
  async _sent(requestId, requestSourceObject) {
2474
1892
  const request = await this.getOrThrow(requestId);
2475
1893
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.Draft);
2476
1894
  request.changeStatus(ConsumptionRequestStatus_1.ConsumptionRequestStatus.Open);
2477
- request.source = await ConsumptionRequest_1.ConsumptionRequestSource.from({
1895
+ request.source = ConsumptionRequest_1.ConsumptionRequestSource.from({
2478
1896
  reference: requestSourceObject.id,
2479
1897
  type: this.getSourceType(requestSourceObject)
2480
1898
  });
@@ -2497,7 +1915,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2497
1915
  throw new Error("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
2498
1916
  }
2499
1917
  async complete(params) {
2500
- const parsedParams = await CompleteOutgoingRequestParameters_1.CompleteOugoingRequestParameters.from(params);
1918
+ const parsedParams = CompleteOutgoingRequestParameters_1.CompleteOugoingRequestParameters.from(params);
2501
1919
  return await this._complete(parsedParams.requestId, parsedParams.responseSourceObject, parsedParams.receivedResponse);
2502
1920
  }
2503
1921
  async _complete(requestId, responseSourceObject, receivedResponse) {
@@ -2518,7 +1936,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2518
1936
  else {
2519
1937
  throw new Error("Invalid responseSourceObject");
2520
1938
  }
2521
- const consumptionResponse = await ConsumptionResponse_1.ConsumptionResponse.from({
1939
+ const consumptionResponse = ConsumptionResponse_1.ConsumptionResponse.from({
2522
1940
  content: receivedResponse,
2523
1941
  createdAt: transport_1.CoreDate.utc(),
2524
1942
  source: { reference: responseSourceObject.id, type: responseSource }
@@ -2571,13 +1989,20 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2571
1989
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
2572
1990
  await processor.applyIncomingResponseItem(responseItem, requestItem);
2573
1991
  }
2574
- async get(id) {
1992
+ async getOutgoingRequests(query) {
1993
+ query ??= {};
1994
+ query.isOwn = true;
1995
+ const requestDocs = await this.consumptionRequests.find(query);
1996
+ const requests = requestDocs.map((r) => ConsumptionRequest_1.ConsumptionRequest.from(r));
1997
+ return requests;
1998
+ }
1999
+ async getOutgoingRequest(id) {
2575
2000
  const requestDoc = await this.consumptionRequests.findOne({ id: id.toString(), isOwn: true });
2576
- const request = requestDoc ? await ConsumptionRequest_1.ConsumptionRequest.from(requestDoc) : undefined;
2001
+ const request = requestDoc ? ConsumptionRequest_1.ConsumptionRequest.from(requestDoc) : undefined;
2577
2002
  return request;
2578
2003
  }
2579
2004
  async getOrThrow(id) {
2580
- const request = await this.get(id);
2005
+ const request = await this.getOutgoingRequest(id);
2581
2006
  if (!request) {
2582
2007
  throw transport_1.TransportErrors.general.recordNotFound(ConsumptionRequest_1.ConsumptionRequest, id.toString());
2583
2008
  }
@@ -2618,15 +2043,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2618
2043
  var __metadata = (this && this.__metadata) || function (k, v) {
2619
2044
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2620
2045
  };
2621
- var CompleteOugoingRequestParameters_1;
2622
2046
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2623
2047
  exports.CompleteOugoingRequestParameters = void 0;
2624
2048
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2625
2049
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2626
2050
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2627
- let CompleteOugoingRequestParameters = CompleteOugoingRequestParameters_1 = class CompleteOugoingRequestParameters extends ts_serval_1.SerializableAsync {
2628
- static async from(value) {
2629
- return await super.fromT(value, CompleteOugoingRequestParameters_1);
2051
+ let CompleteOugoingRequestParameters = class CompleteOugoingRequestParameters extends ts_serval_1.Serializable {
2052
+ static from(value) {
2053
+ return this.fromAny(value);
2630
2054
  }
2631
2055
  };
2632
2056
  __decorate([
@@ -2644,7 +2068,7 @@ __decorate([
2644
2068
  (0, ts_serval_1.validate)(),
2645
2069
  __metadata("design:type", content_1.Response)
2646
2070
  ], CompleteOugoingRequestParameters.prototype, "receivedResponse", void 0);
2647
- CompleteOugoingRequestParameters = CompleteOugoingRequestParameters_1 = __decorate([
2071
+ CompleteOugoingRequestParameters = __decorate([
2648
2072
  (0, ts_serval_1.type)("CompleteOugoingRequestParameters")
2649
2073
  ], CompleteOugoingRequestParameters);
2650
2074
  exports.CompleteOugoingRequestParameters = CompleteOugoingRequestParameters;
@@ -2669,14 +2093,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2669
2093
  var __metadata = (this && this.__metadata) || function (k, v) {
2670
2094
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2671
2095
  };
2672
- var CreateOutgoingRequestFromRelationshipCreationChangeParameters_1;
2673
2096
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2674
2097
  exports.CreateOutgoingRequestFromRelationshipCreationChangeParameters = void 0;
2675
2098
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2676
2099
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2677
- let CreateOutgoingRequestFromRelationshipCreationChangeParameters = CreateOutgoingRequestFromRelationshipCreationChangeParameters_1 = class CreateOutgoingRequestFromRelationshipCreationChangeParameters extends ts_serval_1.SerializableAsync {
2678
- static async from(value) {
2679
- return await super.fromT(value, CreateOutgoingRequestFromRelationshipCreationChangeParameters_1);
2100
+ let CreateOutgoingRequestFromRelationshipCreationChangeParameters = class CreateOutgoingRequestFromRelationshipCreationChangeParameters extends ts_serval_1.Serializable {
2101
+ static from(value) {
2102
+ return this.fromAny(value);
2680
2103
  }
2681
2104
  };
2682
2105
  __decorate([
@@ -2689,7 +2112,7 @@ __decorate([
2689
2112
  (0, ts_serval_1.validate)(),
2690
2113
  __metadata("design:type", transport_1.RelationshipChange)
2691
2114
  ], CreateOutgoingRequestFromRelationshipCreationChangeParameters.prototype, "creationChange", void 0);
2692
- CreateOutgoingRequestFromRelationshipCreationChangeParameters = CreateOutgoingRequestFromRelationshipCreationChangeParameters_1 = __decorate([
2115
+ CreateOutgoingRequestFromRelationshipCreationChangeParameters = __decorate([
2693
2116
  (0, ts_serval_1.type)("CreateOutgoingRequestFromRelationshipCreationChangeParameters")
2694
2117
  ], CreateOutgoingRequestFromRelationshipCreationChangeParameters);
2695
2118
  exports.CreateOutgoingRequestFromRelationshipCreationChangeParameters = CreateOutgoingRequestFromRelationshipCreationChangeParameters;
@@ -2714,15 +2137,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2714
2137
  var __metadata = (this && this.__metadata) || function (k, v) {
2715
2138
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2716
2139
  };
2717
- var CreateOutgoingRequestParameters_1;
2718
2140
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2719
2141
  exports.CreateOutgoingRequestParameters = void 0;
2720
2142
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2721
2143
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2722
2144
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2723
- let CreateOutgoingRequestParameters = CreateOutgoingRequestParameters_1 = class CreateOutgoingRequestParameters extends ts_serval_1.SerializableAsync {
2724
- static async from(value) {
2725
- return await super.fromT(value, CreateOutgoingRequestParameters_1);
2145
+ let CreateOutgoingRequestParameters = class CreateOutgoingRequestParameters extends ts_serval_1.Serializable {
2146
+ static from(value) {
2147
+ return this.fromAny(value);
2726
2148
  }
2727
2149
  };
2728
2150
  __decorate([
@@ -2735,7 +2157,7 @@ __decorate([
2735
2157
  (0, ts_serval_1.validate)(),
2736
2158
  __metadata("design:type", transport_1.CoreAddress)
2737
2159
  ], CreateOutgoingRequestParameters.prototype, "peer", void 0);
2738
- CreateOutgoingRequestParameters = CreateOutgoingRequestParameters_1 = __decorate([
2160
+ CreateOutgoingRequestParameters = __decorate([
2739
2161
  (0, ts_serval_1.type)("CreateOutgoingRequestParameters")
2740
2162
  ], CreateOutgoingRequestParameters);
2741
2163
  exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters;
@@ -2760,14 +2182,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2760
2182
  var __metadata = (this && this.__metadata) || function (k, v) {
2761
2183
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2762
2184
  };
2763
- var SentOutgoingRequestParameters_1;
2764
2185
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2765
2186
  exports.SentOutgoingRequestParameters = void 0;
2766
2187
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2767
2188
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2768
- let SentOutgoingRequestParameters = SentOutgoingRequestParameters_1 = class SentOutgoingRequestParameters extends ts_serval_1.SerializableAsync {
2769
- static async from(value) {
2770
- return await super.fromT(value, SentOutgoingRequestParameters_1);
2189
+ let SentOutgoingRequestParameters = class SentOutgoingRequestParameters extends ts_serval_1.Serializable {
2190
+ static from(value) {
2191
+ return this.fromAny(value);
2771
2192
  }
2772
2193
  };
2773
2194
  __decorate([
@@ -2780,7 +2201,7 @@ __decorate([
2780
2201
  (0, ts_serval_1.validate)(),
2781
2202
  __metadata("design:type", transport_1.Message)
2782
2203
  ], SentOutgoingRequestParameters.prototype, "requestSourceObject", void 0);
2783
- SentOutgoingRequestParameters = SentOutgoingRequestParameters_1 = __decorate([
2204
+ SentOutgoingRequestParameters = __decorate([
2784
2205
  (0, ts_serval_1.type)("SentOutgoingRequestParameters")
2785
2206
  ], SentOutgoingRequestParameters);
2786
2207
  exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
@@ -2812,14 +2233,14 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
2812
2233
  }
2813
2234
  async getSetting(id) {
2814
2235
  const result = await this.settings.read(id.toString());
2815
- return result ? await Setting_1.Setting.from(result) : undefined;
2236
+ return result ? Setting_1.Setting.from(result) : undefined;
2816
2237
  }
2817
2238
  async getSettings(query) {
2818
2239
  const items = await this.settings.find(query);
2819
2240
  return await this.parseArray(items, Setting_1.Setting);
2820
2241
  }
2821
2242
  async createSetting(parameters) {
2822
- const setting = await Setting_1.Setting.from({
2243
+ const setting = Setting_1.Setting.from({
2823
2244
  id: await consumption_1.ConsumptionIds.setting.generate(),
2824
2245
  createdAt: transport_1.CoreDate.utc(),
2825
2246
  key: parameters.key,
@@ -2865,7 +2286,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
2865
2286
  var __metadata = (this && this.__metadata) || function (k, v) {
2866
2287
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2867
2288
  };
2868
- var Setting_1;
2869
2289
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2870
2290
  exports.Setting = exports.SettingScope = void 0;
2871
2291
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
@@ -2877,7 +2297,7 @@ var SettingScope;
2877
2297
  SettingScope["Device"] = "Device";
2878
2298
  SettingScope["Relationship"] = "Relationship";
2879
2299
  })(SettingScope = exports.SettingScope || (exports.SettingScope = {}));
2880
- let Setting = Setting_1 = class Setting extends transport_1.CoreSynchronizable {
2300
+ let Setting = class Setting extends transport_1.CoreSynchronizable {
2881
2301
  constructor() {
2882
2302
  super(...arguments);
2883
2303
  this.technicalProperties = [
@@ -2897,8 +2317,8 @@ let Setting = Setting_1 = class Setting extends transport_1.CoreSynchronizable {
2897
2317
  (0, ts_simple_nameof_1.nameof)((r) => r.metadataModifiedAt)
2898
2318
  ];
2899
2319
  }
2900
- static async from(value) {
2901
- return await super.fromT(value, Setting_1);
2320
+ static from(value) {
2321
+ return this.fromAny(value);
2902
2322
  }
2903
2323
  };
2904
2324
  __decorate([
@@ -2919,7 +2339,7 @@ __decorate([
2919
2339
  __decorate([
2920
2340
  (0, ts_serval_1.validate)(),
2921
2341
  (0, ts_serval_1.serialize)(),
2922
- __metadata("design:type", ts_serval_1.SerializableAsync)
2342
+ __metadata("design:type", ts_serval_1.Serializable)
2923
2343
  ], Setting.prototype, "value", void 0);
2924
2344
  __decorate([
2925
2345
  (0, ts_serval_1.validate)(),
@@ -2951,7 +2371,7 @@ __decorate([
2951
2371
  (0, ts_serval_1.serialize)(),
2952
2372
  __metadata("design:type", transport_1.CoreDate)
2953
2373
  ], Setting.prototype, "metadataModifiedAt", void 0);
2954
- Setting = Setting_1 = __decorate([
2374
+ Setting = __decorate([
2955
2375
  (0, ts_serval_1.type)("Setting")
2956
2376
  ], Setting);
2957
2377
  exports.Setting = Setting;
@@ -2959,167 +2379,6 @@ exports.Setting = Setting;
2959
2379
 
2960
2380
  /***/ }),
2961
2381
 
2962
- /***/ "./dist/modules/sharedItems/SharedItemsController.js":
2963
- /*!***********************************************************!*\
2964
- !*** ./dist/modules/sharedItems/SharedItemsController.js ***!
2965
- \***********************************************************/
2966
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2967
-
2968
- "use strict";
2969
-
2970
- Object.defineProperty(exports, "__esModule", ({ value: true }));
2971
- exports.SharedItemsController = void 0;
2972
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2973
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
2974
- const SharedItem_1 = __webpack_require__(/*! ./local/SharedItem */ "./dist/modules/sharedItems/local/SharedItem.js");
2975
- class SharedItemsController extends consumption_1.ConsumptionBaseController {
2976
- constructor(parent) {
2977
- super(consumption_1.ConsumptionControllerName.SharedItemsController, parent);
2978
- }
2979
- async init() {
2980
- await super.init();
2981
- this.sharedItems = await this.parent.accountController.getSynchronizedCollection("SharedItems");
2982
- return this;
2983
- }
2984
- async getSharedItem(id) {
2985
- const result = await this.sharedItems.read(id.toString());
2986
- return result ? await SharedItem_1.SharedItem.from(result) : undefined;
2987
- }
2988
- async getSharedItems(query) {
2989
- const items = await this.sharedItems.find(query);
2990
- return await this.parseArray(items, SharedItem_1.SharedItem);
2991
- }
2992
- async createSharedItem(sharedItem) {
2993
- await this.sharedItems.create(sharedItem);
2994
- return sharedItem;
2995
- }
2996
- async updateSharedItem(sharedItem) {
2997
- const oldSharedItem = await this.sharedItems.read(sharedItem.id.toString());
2998
- if (!oldSharedItem) {
2999
- throw transport_1.TransportErrors.general.recordNotFound(SharedItem_1.SharedItem, sharedItem.id.toString());
3000
- }
3001
- return await this.sharedItems.update(oldSharedItem, sharedItem);
3002
- }
3003
- async deleteSharedItem(sharedItem) {
3004
- await this.sharedItems.delete(sharedItem);
3005
- }
3006
- }
3007
- exports.SharedItemsController = SharedItemsController;
3008
- //# sourceMappingURL=SharedItemsController.js.map
3009
-
3010
- /***/ }),
3011
-
3012
- /***/ "./dist/modules/sharedItems/local/SharedItem.js":
3013
- /*!******************************************************!*\
3014
- !*** ./dist/modules/sharedItems/local/SharedItem.js ***!
3015
- \******************************************************/
3016
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3017
-
3018
- "use strict";
3019
-
3020
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3021
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3022
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3023
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3024
- return c > 3 && r && Object.defineProperty(target, key, r), r;
3025
- };
3026
- var __metadata = (this && this.__metadata) || function (k, v) {
3027
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3028
- };
3029
- var SharedItem_1;
3030
- Object.defineProperty(exports, "__esModule", ({ value: true }));
3031
- exports.SharedItem = void 0;
3032
- const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
3033
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3034
- const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
3035
- let SharedItem = SharedItem_1 = class SharedItem extends transport_1.CoreSynchronizable {
3036
- constructor() {
3037
- super(...arguments);
3038
- this.technicalProperties = [
3039
- "@type",
3040
- "@context",
3041
- (0, ts_simple_nameof_1.nameof)((r) => r.tags),
3042
- (0, ts_simple_nameof_1.nameof)((r) => r.sharedBy),
3043
- (0, ts_simple_nameof_1.nameof)((r) => r.sharedWith),
3044
- (0, ts_simple_nameof_1.nameof)((r) => r.sharedAt),
3045
- (0, ts_simple_nameof_1.nameof)((r) => r.reference),
3046
- (0, ts_simple_nameof_1.nameof)((r) => r.content),
3047
- (0, ts_simple_nameof_1.nameof)((r) => r.succeedsItem),
3048
- (0, ts_simple_nameof_1.nameof)((r) => r.succeedsAt),
3049
- (0, ts_simple_nameof_1.nameof)((r) => r.expiresAt)
3050
- ];
3051
- this.metadataProperties = [
3052
- (0, ts_simple_nameof_1.nameof)((r) => r.metadata),
3053
- (0, ts_simple_nameof_1.nameof)((r) => r.metadataModifiedAt)
3054
- ];
3055
- }
3056
- static async from(value) {
3057
- return await super.fromT(value, SharedItem_1);
3058
- }
3059
- };
3060
- __decorate([
3061
- (0, ts_serval_1.validate)({ nullable: true }),
3062
- (0, ts_serval_1.serialize)({ type: String }),
3063
- __metadata("design:type", Array)
3064
- ], SharedItem.prototype, "tags", void 0);
3065
- __decorate([
3066
- (0, ts_serval_1.validate)(),
3067
- (0, ts_serval_1.serialize)(),
3068
- __metadata("design:type", transport_1.CoreAddress)
3069
- ], SharedItem.prototype, "sharedBy", void 0);
3070
- __decorate([
3071
- (0, ts_serval_1.validate)(),
3072
- (0, ts_serval_1.serialize)(),
3073
- __metadata("design:type", transport_1.CoreAddress)
3074
- ], SharedItem.prototype, "sharedWith", void 0);
3075
- __decorate([
3076
- (0, ts_serval_1.validate)(),
3077
- (0, ts_serval_1.serialize)(),
3078
- __metadata("design:type", transport_1.CoreDate)
3079
- ], SharedItem.prototype, "sharedAt", void 0);
3080
- __decorate([
3081
- (0, ts_serval_1.validate)({ nullable: true }),
3082
- (0, ts_serval_1.serialize)(),
3083
- __metadata("design:type", transport_1.CoreId)
3084
- ], SharedItem.prototype, "reference", void 0);
3085
- __decorate([
3086
- (0, ts_serval_1.validate)(),
3087
- (0, ts_serval_1.serialize)(),
3088
- __metadata("design:type", ts_serval_1.Serializable)
3089
- ], SharedItem.prototype, "content", void 0);
3090
- __decorate([
3091
- (0, ts_serval_1.validate)({ nullable: true }),
3092
- (0, ts_serval_1.serialize)(),
3093
- __metadata("design:type", transport_1.CoreId)
3094
- ], SharedItem.prototype, "succeedsItem", void 0);
3095
- __decorate([
3096
- (0, ts_serval_1.validate)({ nullable: true }),
3097
- (0, ts_serval_1.serialize)(),
3098
- __metadata("design:type", transport_1.CoreDate)
3099
- ], SharedItem.prototype, "succeedsAt", void 0);
3100
- __decorate([
3101
- (0, ts_serval_1.validate)({ nullable: true }),
3102
- (0, ts_serval_1.serialize)(),
3103
- __metadata("design:type", transport_1.CoreDate)
3104
- ], SharedItem.prototype, "expiresAt", void 0);
3105
- __decorate([
3106
- (0, ts_serval_1.validate)({ nullable: true }),
3107
- (0, ts_serval_1.serialize)({ any: true }),
3108
- __metadata("design:type", Object)
3109
- ], SharedItem.prototype, "metadata", void 0);
3110
- __decorate([
3111
- (0, ts_serval_1.validate)({ nullable: true }),
3112
- (0, ts_serval_1.serialize)(),
3113
- __metadata("design:type", transport_1.CoreDate)
3114
- ], SharedItem.prototype, "metadataModifiedAt", void 0);
3115
- SharedItem = SharedItem_1 = __decorate([
3116
- (0, ts_serval_1.type)("SharedItem")
3117
- ], SharedItem);
3118
- exports.SharedItem = SharedItem;
3119
- //# sourceMappingURL=SharedItem.js.map
3120
-
3121
- /***/ }),
3122
-
3123
2382
  /***/ "./dist/modules/signatures/Signature.js":
3124
2383
  /*!**********************************************!*\
3125
2384
  !*** ./dist/modules/signatures/Signature.js ***!
@@ -3137,20 +2396,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
3137
2396
  var __metadata = (this && this.__metadata) || function (k, v) {
3138
2397
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3139
2398
  };
3140
- var Signature_1;
3141
2399
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3142
2400
  exports.Signature = void 0;
3143
2401
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
3144
2402
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
3145
2403
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3146
2404
  const SignatureContent_1 = __webpack_require__(/*! ./SignatureContent */ "./dist/modules/signatures/SignatureContent.js");
3147
- let Signature = Signature_1 = class Signature extends transport_1.CoreSerializableAsync {
3148
- static async from(value) {
3149
- const signature = await crypto_1.CryptoSignature.fromBase64(value.signature);
3150
- return await super.fromT({ content: value.content, signature: signature }, Signature_1);
2405
+ let Signature = class Signature extends transport_1.CoreSerializable {
2406
+ static preFrom(value) {
2407
+ if (value.signature instanceof crypto_1.CryptoSignature) {
2408
+ value.signature = crypto_1.CryptoSignature.fromBase64(value.signature);
2409
+ }
2410
+ return value;
3151
2411
  }
3152
- static async deserialize(value) {
3153
- return await super.deserializeT(value, Signature_1);
2412
+ static from(value) {
2413
+ return this.fromAny(value);
3154
2414
  }
3155
2415
  async verify(content, publicKey) {
3156
2416
  const hash = await crypto_1.CryptoHash.hash(crypto_1.CoreBuffer.fromUtf8(content), this.content.hashAlgorithm);
@@ -3177,7 +2437,7 @@ __decorate([
3177
2437
  (0, ts_serval_1.serialize)(),
3178
2438
  __metadata("design:type", crypto_1.CryptoSignature)
3179
2439
  ], Signature.prototype, "signature", void 0);
3180
- Signature = Signature_1 = __decorate([
2440
+ Signature = __decorate([
3181
2441
  (0, ts_serval_1.type)("Signature")
3182
2442
  ], Signature);
3183
2443
  exports.Signature = Signature;
@@ -3202,17 +2462,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
3202
2462
  var __metadata = (this && this.__metadata) || function (k, v) {
3203
2463
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3204
2464
  };
3205
- var SignatureContent_1;
3206
2465
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3207
2466
  exports.SignatureContent = void 0;
3208
2467
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
3209
2468
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3210
- let SignatureContent = SignatureContent_1 = class SignatureContent extends transport_1.CoreSerializable {
2469
+ let SignatureContent = class SignatureContent extends transport_1.CoreSerializable {
3211
2470
  static from(value) {
3212
- return super.from(value, SignatureContent_1);
3213
- }
3214
- static deserialize(value) {
3215
- return super.deserializeT(value, SignatureContent_1);
2471
+ return this.fromAny(value);
3216
2472
  }
3217
2473
  };
3218
2474
  __decorate([
@@ -3250,7 +2506,7 @@ __decorate([
3250
2506
  (0, ts_serval_1.serialize)(),
3251
2507
  __metadata("design:type", transport_1.CoreHash)
3252
2508
  ], SignatureContent.prototype, "hash", void 0);
3253
- SignatureContent = SignatureContent_1 = __decorate([
2509
+ SignatureContent = __decorate([
3254
2510
  (0, ts_serval_1.type)("SignatureContent")
3255
2511
  ], SignatureContent);
3256
2512
  exports.SignatureContent = SignatureContent;