@nmshd/runtime 2.0.0-alpha.11 → 2.0.0-alpha.14

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 (75) hide show
  1. package/dist/Runtime.js +1 -1
  2. package/dist/Runtime.js.map +1 -1
  3. package/dist/buildInformation.js +5 -5
  4. package/dist/dataViews/DataViewExpander.d.ts +11 -6
  5. package/dist/dataViews/DataViewExpander.js +155 -28
  6. package/dist/dataViews/DataViewExpander.js.map +1 -1
  7. package/dist/dataViews/{content → consumption}/ConsumptionAttributeDVO.d.ts +2 -0
  8. package/dist/dataViews/{content → consumption}/ConsumptionAttributeDVO.js +0 -0
  9. package/dist/dataViews/consumption/ConsumptionAttributeDVO.js.map +1 -0
  10. package/dist/dataViews/consumption/ConsumptionRequestDVO.d.ts +26 -0
  11. package/dist/dataViews/consumption/{StoredAttributeDVO.js → ConsumptionRequestDVO.js} +1 -1
  12. package/dist/dataViews/consumption/ConsumptionRequestDVO.js.map +1 -0
  13. package/dist/dataViews/consumption/index.d.ts +2 -1
  14. package/dist/dataViews/consumption/index.js +2 -1
  15. package/dist/dataViews/consumption/index.js.map +1 -1
  16. package/dist/dataViews/content/RequestDVOs.d.ts +12 -16
  17. package/dist/dataViews/content/index.d.ts +0 -1
  18. package/dist/dataViews/content/index.js +0 -1
  19. package/dist/dataViews/content/index.js.map +1 -1
  20. package/dist/extensibility/facades/transport/RelationshipsFacade.d.ts +4 -2
  21. package/dist/extensibility/facades/transport/RelationshipsFacade.js +8 -2
  22. package/dist/extensibility/facades/transport/RelationshipsFacade.js.map +1 -1
  23. package/dist/useCases/common/Schemas.d.ts +1 -0
  24. package/dist/useCases/common/Schemas.js +217 -235
  25. package/dist/useCases/common/Schemas.js.map +1 -1
  26. package/dist/useCases/consumption/attributes/CreateAttribute.d.ts +7 -6
  27. package/dist/useCases/consumption/attributes/CreateAttribute.js +13 -9
  28. package/dist/useCases/consumption/attributes/CreateAttribute.js.map +1 -1
  29. package/dist/useCases/consumption/attributes/CreateShareAttributeCopy.d.ts +17 -6
  30. package/dist/useCases/consumption/attributes/CreateShareAttributeCopy.js +15 -8
  31. package/dist/useCases/consumption/attributes/CreateShareAttributeCopy.js.map +1 -1
  32. package/dist/useCases/consumption/attributes/DeleteAttribute.d.ts +7 -4
  33. package/dist/useCases/consumption/attributes/DeleteAttribute.js +9 -6
  34. package/dist/useCases/consumption/attributes/DeleteAttribute.js.map +1 -1
  35. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.d.ts +10 -0
  36. package/dist/{dataViews/consumption/MatchedAttributesDVO.js → useCases/consumption/attributes/ExtendedAttributeValue.js} +1 -1
  37. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.js.map +1 -0
  38. package/dist/useCases/consumption/attributes/GetAttribute.d.ts +7 -4
  39. package/dist/useCases/consumption/attributes/GetAttribute.js +9 -6
  40. package/dist/useCases/consumption/attributes/GetAttribute.js.map +1 -1
  41. package/dist/useCases/consumption/attributes/GetAttributes.d.ts +4 -8
  42. package/dist/useCases/consumption/attributes/GetAttributes.js +8 -16
  43. package/dist/useCases/consumption/attributes/GetAttributes.js.map +1 -1
  44. package/dist/useCases/consumption/attributes/SucceedAttribute.d.ts +11 -6
  45. package/dist/useCases/consumption/attributes/SucceedAttribute.js +14 -9
  46. package/dist/useCases/consumption/attributes/SucceedAttribute.js.map +1 -1
  47. package/dist/useCases/consumption/attributes/UpdateAttribute.d.ts +11 -6
  48. package/dist/useCases/consumption/attributes/UpdateAttribute.js +14 -14
  49. package/dist/useCases/consumption/attributes/UpdateAttribute.js.map +1 -1
  50. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.d.ts +1 -1
  51. package/dist/useCases/consumption/requests/CompleteIncomingRequest.d.ts +1 -1
  52. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.d.ts +0 -4
  53. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js +3 -3
  54. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js.map +1 -1
  55. package/dist/useCases/consumption/requests/GetIncomingRequest.d.ts +1 -1
  56. package/dist/useCases/consumption/requests/GetOutgoingRequest.d.ts +1 -1
  57. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.d.ts +1 -1
  58. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.d.ts +1 -1
  59. package/dist/useCases/consumption/requests/SentOutgoingRequest.d.ts +1 -1
  60. package/dist/useCases/transport/relationships/GetAttributesForRelationship.d.ts +20 -0
  61. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js +65 -0
  62. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js.map +1 -0
  63. package/dist/useCases/transport/relationships/index.d.ts +1 -0
  64. package/dist/useCases/transport/relationships/index.js +1 -0
  65. package/dist/useCases/transport/relationships/index.js.map +1 -1
  66. package/lib-web/nmshd.runtime.js +574 -369
  67. package/lib-web/nmshd.runtime.js.map +1 -1
  68. package/lib-web/nmshd.runtime.min.js +3 -3
  69. package/lib-web/nmshd.runtime.min.js.map +1 -1
  70. package/package.json +4 -4
  71. package/dist/dataViews/consumption/MatchedAttributesDVO.d.ts +0 -8
  72. package/dist/dataViews/consumption/MatchedAttributesDVO.js.map +0 -1
  73. package/dist/dataViews/consumption/StoredAttributeDVO.d.ts +0 -6
  74. package/dist/dataViews/consumption/StoredAttributeDVO.js.map +0 -1
  75. package/dist/dataViews/content/ConsumptionAttributeDVO.js.map +0 -1
@@ -144,8 +144,8 @@ class Runtime {
144
144
  }
145
145
  async login(accountController, consumptionController) {
146
146
  this._accountController = accountController;
147
- const transportServices = typescript_ioc_1.Container.get(extensibility_1.TransportServices);
148
147
  this._consumptionController = consumptionController;
148
+ const transportServices = typescript_ioc_1.Container.get(extensibility_1.TransportServices);
149
149
  const consumptionServices = typescript_ioc_1.Container.get(extensibility_1.ConsumptionServices);
150
150
  const dataViewExpander = typescript_ioc_1.Container.get(dataViews_1.DataViewExpander);
151
151
  await new DatabaseSchemaUpgrader_1.DatabaseSchemaUpgrader(accountController, consumptionController).upgradeSchemaVersion();
@@ -435,11 +435,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
435
435
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
436
436
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
437
437
  exports.buildInformation = {
438
- version: "2.0.0-alpha.11",
439
- build: "58",
440
- date: "2022-05-30T12:40:27+00:00",
441
- commit: "9e5ded1a4fff9a33ae25b60c4e5602b47eb30c4f",
442
- dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.2","@nmshd/consumption":"2.0.0-alpha.17","@nmshd/content":"2.0.0-alpha.24","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-alpha.1","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.3","json-stringify-safe":"^5.0.1","luxon":"^2.4.0","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
438
+ version: "2.0.0-alpha.14",
439
+ build: "61",
440
+ date: "2022-06-01T12:31:43+00:00",
441
+ commit: "604f34d6e64110e3540f5c165a2b503abf925bbb",
442
+ dependencies: {"@js-soft/docdb-querytranslator":"1.0.1","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.3","@js-soft/ts-utils":"^1.1.2","@nmshd/consumption":"2.0.0-alpha.19","@nmshd/content":"2.0.0-alpha.25","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-alpha.1","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","fluent-ts-validator":"3.0.3","json-stringify-safe":"^5.0.1","luxon":"^2.4.0","qrcode":"1.5.0","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
443
443
  libraries: {
444
444
  serval: ts_serval_1.buildInformation,
445
445
  consumption: consumption_1.buildInformation,
@@ -474,6 +474,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
474
474
  };
475
475
  Object.defineProperty(exports, "__esModule", ({ value: true }));
476
476
  exports.DataViewExpander = void 0;
477
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
478
+ const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
477
479
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
478
480
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
479
481
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
@@ -484,9 +486,10 @@ const DataViewTranslateable_1 = __webpack_require__(/*! ./DataViewTranslateable
484
486
  const MessageDVO_1 = __webpack_require__(/*! ./transport/MessageDVO */ "./dist/dataViews/transport/MessageDVO.js");
485
487
  const RelationshipDVO_1 = __webpack_require__(/*! ./transport/RelationshipDVO */ "./dist/dataViews/transport/RelationshipDVO.js");
486
488
  let DataViewExpander = class DataViewExpander {
487
- constructor(transport, consumption, identityController) {
489
+ constructor(transport, consumption, consumptionController, identityController) {
488
490
  this.transport = transport;
489
491
  this.consumption = consumption;
492
+ this.consumptionController = consumptionController;
490
493
  this.identityController = identityController;
491
494
  }
492
495
  async expand(content, expectedType) {
@@ -645,48 +648,168 @@ let DataViewExpander = class DataViewExpander {
645
648
  ...request
646
649
  };
647
650
  }
651
+ async expandConsumptionRequest(request) {
652
+ return {
653
+ ...request,
654
+ id: request.id,
655
+ name: "i18n://dvo.request.name.response",
656
+ type: "ConsumptionRequestDVO",
657
+ date: request.createdAt,
658
+ peer: await this.expandAddress(request.peer),
659
+ response: request.response ? this.expandConsumptionResponse(request.response) : undefined
660
+ };
661
+ }
662
+ expandConsumptionResponse(response) {
663
+ return {
664
+ ...response,
665
+ id: "",
666
+ name: "i18n://dvo.request.name.response",
667
+ type: "ConsumptionResponseDVO",
668
+ date: response.createdAt
669
+ };
670
+ }
648
671
  async expandConsumptionAttribute(attribute) {
649
672
  const valueType = attribute.content.value["@type"];
673
+ const consumptionAttribute = await this.consumptionController.attributes.getConsumptionAttribute(transport_1.CoreId.from(attribute.id));
674
+ if (!consumptionAttribute) {
675
+ throw new Error("Attribute not found");
676
+ }
677
+ const owner = await this.expandAddress(attribute.content.owner);
678
+ let name = `i18n://dvo.attribute.name.${valueType}`;
679
+ let description = `i18n://dvo.attribute.description.${valueType}`;
680
+ if (consumptionAttribute.content instanceof content_1.RelationshipAttribute) {
681
+ name = "";
682
+ description = "";
683
+ }
684
+ const renderHints = consumptionAttribute.content.value.renderHints.toJSON();
685
+ const valueHints = consumptionAttribute.content.value.valueHints.toJSON();
686
+ if (consumptionAttribute.shareInfo) {
687
+ const peer = await this.expandAddress(consumptionAttribute.shareInfo.peer.toString());
688
+ if (consumptionAttribute.shareInfo.sourceAttribute) {
689
+ // Own Shared Attribute
690
+ return {
691
+ type: "SharedToPeerAttributeDVO",
692
+ id: attribute.id,
693
+ name,
694
+ description,
695
+ content: attribute.content,
696
+ value: attribute.content.value,
697
+ date: attribute.createdAt,
698
+ owner: owner,
699
+ renderHints,
700
+ valueHints,
701
+ isValid: true,
702
+ createdAt: attribute.createdAt,
703
+ isOwn: true,
704
+ peer: peer,
705
+ requestReference: consumptionAttribute.shareInfo.requestReference.toString(),
706
+ sourceAttribute: consumptionAttribute.shareInfo.sourceAttribute.toString()
707
+ };
708
+ }
709
+ // Peer Attribute
710
+ return {
711
+ type: "PeerAttributeDVO",
712
+ id: attribute.id,
713
+ name,
714
+ description,
715
+ content: attribute.content,
716
+ value: attribute.content.value,
717
+ date: attribute.createdAt,
718
+ owner: owner,
719
+ renderHints,
720
+ valueHints,
721
+ isValid: true,
722
+ createdAt: attribute.createdAt,
723
+ isOwn: false,
724
+ peer: peer,
725
+ requestReference: consumptionAttribute.shareInfo.requestReference.toString()
726
+ };
727
+ }
728
+ const sharedToPeerAttributes = await this.consumption.attributes.getAttributes({ query: { shareInfo: { sourceAttribute: attribute.id } } });
729
+ const sharedToPeerDVOs = await this.expandConsumptionAttributes(sharedToPeerAttributes.value);
730
+ // Own Source Attribute
650
731
  return {
651
732
  type: "RepositoryAttributeDVO",
652
733
  id: attribute.id,
653
- name: `i18n://attribute.title.${valueType}`,
734
+ name,
735
+ description,
654
736
  content: attribute.content,
737
+ value: attribute.content.value,
655
738
  date: attribute.createdAt,
656
- owner: await this.expandAddress(attribute.content.owner),
657
- renderHints: {
658
- "@type": "RenderHints",
659
- technicalType: content_1.RenderHintsTechnicalType.Object,
660
- editType: content_1.RenderHintsEditType.InputLike
661
- },
662
- valueHints: {
663
- "@type": "ValueHints"
664
- },
739
+ owner: owner,
740
+ renderHints,
741
+ valueHints,
665
742
  isValid: true,
666
743
  createdAt: attribute.createdAt,
667
744
  isOwn: true,
668
- sharedWith: []
745
+ sharedWith: sharedToPeerDVOs
669
746
  };
670
747
  }
671
748
  async expandConsumptionAttributes(attributes) {
672
749
  const attributesPromise = attributes.map((attribute) => this.expandConsumptionAttribute(attribute));
673
750
  return await Promise.all(attributesPromise);
674
751
  }
752
+ async expandIdentityAttributeQuery(query) {
753
+ const queryInstance = content_1.IdentityAttributeQuery.from(query);
754
+ const matchedAttributes = await this.consumptionController.attributes.executeIdentityAttributeQuery({ query: queryInstance });
755
+ const matchedAttributeDTOs = useCases_1.AttributeMapper.toAttributeDTOList(matchedAttributes);
756
+ const matchedAttributeDVOs = await this.expandConsumptionAttributes(matchedAttributeDTOs);
757
+ const valueType = query.valueType;
758
+ const name = `i18n://dvo.attribute.name.${valueType}`;
759
+ const description = `i18n://dvo.attribute.description.${valueType}`;
760
+ const valueTypeClass = ts_serval_1.SerializableBase.getModule(valueType, 1);
761
+ if (!valueTypeClass) {
762
+ throw new Error(`No class implementation found for ${valueType}`);
763
+ }
764
+ let renderHints = {
765
+ "@type": "RenderHints",
766
+ editType: content_1.RenderHintsEditType.InputLike,
767
+ technicalType: content_1.RenderHintsTechnicalType.String
768
+ };
769
+ let valueHints = {
770
+ "@type": "ValueHints",
771
+ max: 200
772
+ };
773
+ if (valueTypeClass.renderHints && valueTypeClass.renderHints instanceof content_1.RenderHints) {
774
+ renderHints = valueTypeClass.renderHints.toJSON();
775
+ }
776
+ if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
777
+ valueHints = valueTypeClass.valueHints.toJSON();
778
+ }
779
+ return {
780
+ type: "IdentityAttributeQueryExpanded",
781
+ name,
782
+ description,
783
+ valueType,
784
+ validFrom: query.validFrom,
785
+ validTo: query.validTo,
786
+ results: matchedAttributeDVOs,
787
+ renderHints,
788
+ valueHints
789
+ };
790
+ }
675
791
  async expandAttribute(attribute) {
792
+ const attributeInstance = ts_serval_1.Serializable.fromAny(attribute);
793
+ const valueType = attribute.value["@type"];
794
+ let name = `i18n://dvo.attribute.name.${valueType}`;
795
+ let description = `i18n://dvo.attribute.description.${valueType}`;
796
+ const renderHints = attributeInstance.value.renderHints.toJSON();
797
+ const valueHints = attributeInstance.value.valueHints.toJSON();
798
+ if (attributeInstance instanceof content_1.RelationshipAttribute) {
799
+ name = ""; // attributeInstance.value.title;
800
+ description = ""; // attributeInstance.value.description;
801
+ }
802
+ const owner = await this.expandAddress(attribute.owner);
676
803
  return {
677
804
  type: "DraftAttributeDVO",
678
805
  content: attribute,
679
- name: "DraftAttribute",
806
+ name,
807
+ description,
680
808
  id: "",
681
- owner: await this.expandAddress(attribute.owner),
682
- renderHints: {
683
- "@type": "RenderHints",
684
- technicalType: content_1.RenderHintsTechnicalType.Object,
685
- editType: content_1.RenderHintsEditType.InputLike
686
- },
687
- valueHints: {
688
- "@type": "ValueHints"
689
- }
809
+ owner: owner,
810
+ renderHints,
811
+ valueHints,
812
+ value: attribute.value
690
813
  };
691
814
  }
692
815
  async expandAttributes(attributes) {
@@ -711,7 +834,7 @@ let DataViewExpander = class DataViewExpander {
711
834
  const name = address.substring(3, 9);
712
835
  const initials = (name.match(/\b\w/g) ?? []).join("");
713
836
  return {
714
- id: this.identityController.address.toString(),
837
+ id: address,
715
838
  type: "IdentityDVO",
716
839
  name: name,
717
840
  initials: initials,
@@ -840,14 +963,16 @@ let DataViewExpander = class DataViewExpander {
840
963
  // const relationshipInfo = relationshipInfoResult.value;
841
964
  // const name = relationshipInfo.userTitle ? relationshipInfo.userTitle : relationshipInfo.title;
842
965
  // let description = relationshipInfo.userDescription ? relationshipInfo.userDescription : relationshipInfo.description;
843
- const name = "";
844
- const description = "";
966
+ const name = relationship.peer.substring(3, 9);
845
967
  const initials = (name.match(/\b\w/g) ?? []).join("");
846
968
  const relationshipDVO = await this.createRelationshipDVO(relationship);
969
+ const description = relationshipDVO.statusText;
847
970
  // TODO: re-enable when we can query relationship info
848
- // if (!description) {
849
- // description = relationshipDVO.statusText;
850
- // }
971
+ /*
972
+ if (!description) {
973
+ description = relationshipDVO.statusText;
974
+ }
975
+ */
851
976
  return {
852
977
  type: "IdentityDVO",
853
978
  id: relationship.peer,
@@ -930,8 +1055,10 @@ DataViewExpander = __decorate([
930
1055
  __param(0, typescript_ioc_1.Inject),
931
1056
  __param(1, typescript_ioc_1.Inject),
932
1057
  __param(2, typescript_ioc_1.Inject),
1058
+ __param(3, typescript_ioc_1.Inject),
933
1059
  __metadata("design:paramtypes", [extensibility_1.TransportServices,
934
1060
  ConsumptionServices_1.ConsumptionServices,
1061
+ consumption_1.ConsumptionController,
935
1062
  transport_1.IdentityController])
936
1063
  ], DataViewExpander);
937
1064
  exports.DataViewExpander = DataViewExpander;
@@ -1060,16 +1187,29 @@ __exportStar(__webpack_require__(/*! ./Warning */ "./dist/dataViews/common/Warni
1060
1187
 
1061
1188
  /***/ }),
1062
1189
 
1063
- /***/ "./dist/dataViews/consumption/MatchedAttributesDVO.js":
1064
- /*!************************************************************!*\
1065
- !*** ./dist/dataViews/consumption/MatchedAttributesDVO.js ***!
1066
- \************************************************************/
1190
+ /***/ "./dist/dataViews/consumption/ConsumptionAttributeDVO.js":
1191
+ /*!***************************************************************!*\
1192
+ !*** ./dist/dataViews/consumption/ConsumptionAttributeDVO.js ***!
1193
+ \***************************************************************/
1194
+ /***/ ((__unused_webpack_module, exports) => {
1195
+
1196
+ "use strict";
1197
+
1198
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1199
+ //# sourceMappingURL=ConsumptionAttributeDVO.js.map
1200
+
1201
+ /***/ }),
1202
+
1203
+ /***/ "./dist/dataViews/consumption/ConsumptionRequestDVO.js":
1204
+ /*!*************************************************************!*\
1205
+ !*** ./dist/dataViews/consumption/ConsumptionRequestDVO.js ***!
1206
+ \*************************************************************/
1067
1207
  /***/ ((__unused_webpack_module, exports) => {
1068
1208
 
1069
1209
  "use strict";
1070
1210
 
1071
1211
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1072
- //# sourceMappingURL=MatchedAttributesDVO.js.map
1212
+ //# sourceMappingURL=ConsumptionRequestDVO.js.map
1073
1213
 
1074
1214
  /***/ }),
1075
1215
 
@@ -1096,24 +1236,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1096
1236
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1097
1237
  };
1098
1238
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1099
- __exportStar(__webpack_require__(/*! ./MatchedAttributesDVO */ "./dist/dataViews/consumption/MatchedAttributesDVO.js"), exports);
1239
+ __exportStar(__webpack_require__(/*! ./ConsumptionAttributeDVO */ "./dist/dataViews/consumption/ConsumptionAttributeDVO.js"), exports);
1240
+ __exportStar(__webpack_require__(/*! ./ConsumptionRequestDVO */ "./dist/dataViews/consumption/ConsumptionRequestDVO.js"), exports);
1100
1241
  //# sourceMappingURL=index.js.map
1101
1242
 
1102
1243
  /***/ }),
1103
1244
 
1104
- /***/ "./dist/dataViews/content/ConsumptionAttributeDVO.js":
1105
- /*!***********************************************************!*\
1106
- !*** ./dist/dataViews/content/ConsumptionAttributeDVO.js ***!
1107
- \***********************************************************/
1108
- /***/ ((__unused_webpack_module, exports) => {
1109
-
1110
- "use strict";
1111
-
1112
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1113
- //# sourceMappingURL=ConsumptionAttributeDVO.js.map
1114
-
1115
- /***/ }),
1116
-
1117
1245
  /***/ "./dist/dataViews/content/MailDVOs.js":
1118
1246
  /*!********************************************!*\
1119
1247
  !*** ./dist/dataViews/content/MailDVOs.js ***!
@@ -1163,7 +1291,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1163
1291
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1164
1292
  };
1165
1293
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1166
- __exportStar(__webpack_require__(/*! ./ConsumptionAttributeDVO */ "./dist/dataViews/content/ConsumptionAttributeDVO.js"), exports);
1167
1294
  __exportStar(__webpack_require__(/*! ./MailDVOs */ "./dist/dataViews/content/MailDVOs.js"), exports);
1168
1295
  __exportStar(__webpack_require__(/*! ./RequestDVOs */ "./dist/dataViews/content/RequestDVOs.js"), exports);
1169
1296
  //# sourceMappingURL=index.js.map
@@ -2972,7 +3099,7 @@ exports.RelationshipsFacade = void 0;
2972
3099
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
2973
3100
  const useCases_1 = __webpack_require__(/*! ../../../useCases */ "./dist/useCases/index.js");
2974
3101
  let RelationshipsFacade = class RelationshipsFacade {
2975
- constructor(getRelationshipsUseCase, getRelationshipUseCase, getRelationshipByAddressUseCase, createRelationshipUseCase, createRelationshipChangeUseCase, acceptRelationshipChangeUseCase, rejectRelationshipChangeUseCase, revokeRelationshipChangeUseCase) {
3102
+ constructor(getRelationshipsUseCase, getRelationshipUseCase, getRelationshipByAddressUseCase, createRelationshipUseCase, createRelationshipChangeUseCase, acceptRelationshipChangeUseCase, rejectRelationshipChangeUseCase, revokeRelationshipChangeUseCase, getAttributesForRelationshipUseCase) {
2976
3103
  this.getRelationshipsUseCase = getRelationshipsUseCase;
2977
3104
  this.getRelationshipUseCase = getRelationshipUseCase;
2978
3105
  this.getRelationshipByAddressUseCase = getRelationshipByAddressUseCase;
@@ -2981,6 +3108,7 @@ let RelationshipsFacade = class RelationshipsFacade {
2981
3108
  this.acceptRelationshipChangeUseCase = acceptRelationshipChangeUseCase;
2982
3109
  this.rejectRelationshipChangeUseCase = rejectRelationshipChangeUseCase;
2983
3110
  this.revokeRelationshipChangeUseCase = revokeRelationshipChangeUseCase;
3111
+ this.getAttributesForRelationshipUseCase = getAttributesForRelationshipUseCase;
2984
3112
  }
2985
3113
  async getRelationships(request) {
2986
3114
  return await this.getRelationshipsUseCase.execute(request);
@@ -3006,6 +3134,9 @@ let RelationshipsFacade = class RelationshipsFacade {
3006
3134
  async revokeRelationshipChange(request) {
3007
3135
  return await this.revokeRelationshipChangeUseCase.execute(request);
3008
3136
  }
3137
+ async getAttributesForRelationship(request) {
3138
+ return await this.getAttributesForRelationshipUseCase.execute(request);
3139
+ }
3009
3140
  };
3010
3141
  RelationshipsFacade = __decorate([
3011
3142
  __param(0, typescript_ioc_1.Inject),
@@ -3016,6 +3147,7 @@ RelationshipsFacade = __decorate([
3016
3147
  __param(5, typescript_ioc_1.Inject),
3017
3148
  __param(6, typescript_ioc_1.Inject),
3018
3149
  __param(7, typescript_ioc_1.Inject),
3150
+ __param(8, typescript_ioc_1.Inject),
3019
3151
  __metadata("design:paramtypes", [useCases_1.GetRelationshipsUseCase,
3020
3152
  useCases_1.GetRelationshipUseCase,
3021
3153
  useCases_1.GetRelationshipByAddressUseCase,
@@ -3023,7 +3155,8 @@ RelationshipsFacade = __decorate([
3023
3155
  useCases_1.CreateRelationshipChangeUseCase,
3024
3156
  useCases_1.AcceptRelationshipChangeUseCase,
3025
3157
  useCases_1.RejectRelationshipChangeUseCase,
3026
- useCases_1.RevokeRelationshipChangeUseCase])
3158
+ useCases_1.RevokeRelationshipChangeUseCase,
3159
+ useCases_1.GetAttributesForRelationshipUseCase])
3027
3160
  ], RelationshipsFacade);
3028
3161
  exports.RelationshipsFacade = RelationshipsFacade;
3029
3162
  //# sourceMappingURL=RelationshipsFacade.js.map
@@ -4486,7 +4619,7 @@ exports.JsonSchema = JsonSchema;
4486
4619
 
4487
4620
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4488
4621
  exports.CreateTokenForFileRequest = exports.UpdateDeviceRequest = exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = exports.ValidateChallengeRequest = exports.CreateChallengeRequest = exports.CreateDeviceChallengeRequest = exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.DownloadFileRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.SentOutgoingRequestRequest = exports.RequireManualDecisionOfIncomingRequestRequest = exports.ReceivedIncomingRequestRequest = exports.GetOutgoingRequestsRequest = exports.GetOutgoingRequestRequest = exports.GetIncomingRequestsRequest = exports.GetIncomingRequestRequest = exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest = exports.CompleteOutgoingRequestRequest = exports.CompleteIncomingRequestRequest = exports.CheckPrerequisitesOfIncomingRequestRequest = exports.RejectIncomingRequestRequest = exports.CreateOutgoingRequestRequest = exports.AcceptIncomingRequestRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.GetAttributesRequest = exports.GetAttributeRequest = exports.DeleteAttributeRequest = exports.CreateShareAttributeCopyRequest = exports.CreateAttributeRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
4489
- exports.LoadPeerTokenRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileRequest = exports.LoadPeerFileRequest = exports.LoadPeerFileViaReferenceRequest = exports.LoadPeerFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = void 0;
4622
+ exports.LoadPeerTokenRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.GetAttributesForRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileRequest = exports.LoadPeerFileRequest = exports.LoadPeerFileViaReferenceRequest = exports.LoadPeerFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = void 0;
4490
4623
  exports.LoadPeerTokenAnonymousByIdAndKeyRequest = {
4491
4624
  "$schema": "http://json-schema.org/draft-07/schema#",
4492
4625
  "$ref": "#/definitions/LoadPeerTokenAnonymousByIdAndKeyRequest",
@@ -4532,27 +4665,15 @@ exports.CreateAttributeRequest = {
4532
4665
  "$ref": "#/definitions/CreateAttributeRequest",
4533
4666
  "definitions": {
4534
4667
  "CreateAttributeRequest": {
4535
- "type": "object",
4536
- "properties": {
4537
- "params": {
4538
- "$ref": "#/definitions/ICreateConsumptionAttributeParams"
4539
- }
4540
- },
4541
- "required": [
4542
- "params"
4543
- ],
4544
- "additionalProperties": false
4545
- },
4546
- "ICreateConsumptionAttributeParams": {
4547
4668
  "type": "object",
4548
4669
  "properties": {
4549
4670
  "content": {
4550
4671
  "anyOf": [
4551
4672
  {
4552
- "$ref": "#/definitions/IIdentityAttribute"
4673
+ "$ref": "#/definitions/ExtendedIdentityAttributeJSON"
4553
4674
  },
4554
4675
  {
4555
- "$ref": "#/definitions/IRelationshipAttribute"
4676
+ "$ref": "#/definitions/ExtendedRelationshipAttributeJSON"
4556
4677
  }
4557
4678
  ]
4558
4679
  }
@@ -4562,20 +4683,43 @@ exports.CreateAttributeRequest = {
4562
4683
  ],
4563
4684
  "additionalProperties": false
4564
4685
  },
4565
- "IIdentityAttribute": {
4686
+ "ExtendedIdentityAttributeJSON": {
4566
4687
  "type": "object",
4567
4688
  "properties": {
4689
+ "@type": {
4690
+ "type": "string"
4691
+ },
4692
+ "@context": {
4693
+ "type": "string"
4694
+ },
4695
+ "@version": {
4696
+ "type": "string"
4697
+ },
4568
4698
  "owner": {
4569
- "$ref": "#/definitions/ICoreAddress"
4699
+ "type": "string"
4570
4700
  },
4571
4701
  "validFrom": {
4572
- "$ref": "#/definitions/ICoreDate"
4702
+ "type": "string"
4573
4703
  },
4574
4704
  "validTo": {
4575
- "$ref": "#/definitions/ICoreDate"
4705
+ "type": "string"
4576
4706
  },
4577
4707
  "value": {
4578
- "$ref": "#/definitions/IAbstractAttributeValue"
4708
+ "type": "object",
4709
+ "properties": {
4710
+ "@type": {
4711
+ "type": "string"
4712
+ },
4713
+ "@context": {
4714
+ "type": "string"
4715
+ },
4716
+ "@version": {
4717
+ "type": "string"
4718
+ }
4719
+ },
4720
+ "required": [
4721
+ "@type"
4722
+ ]
4579
4723
  },
4580
4724
  "tags": {
4581
4725
  "type": "array",
@@ -4585,54 +4729,49 @@ exports.CreateAttributeRequest = {
4585
4729
  }
4586
4730
  },
4587
4731
  "required": [
4732
+ "@type",
4588
4733
  "owner",
4589
4734
  "value"
4590
4735
  ],
4591
4736
  "additionalProperties": false
4592
4737
  },
4593
- "ICoreAddress": {
4738
+ "ExtendedRelationshipAttributeJSON": {
4594
4739
  "type": "object",
4595
4740
  "properties": {
4596
- "address": {
4741
+ "@type": {
4597
4742
  "type": "string"
4598
- }
4599
- },
4600
- "required": [
4601
- "address"
4602
- ],
4603
- "additionalProperties": false
4604
- },
4605
- "ICoreDate": {
4606
- "type": "object",
4607
- "properties": {
4608
- "date": {
4743
+ },
4744
+ "@context": {
4609
4745
  "type": "string"
4610
- }
4611
- },
4612
- "required": [
4613
- "date"
4614
- ],
4615
- "additionalProperties": false
4616
- },
4617
- "IAbstractAttributeValue": {
4618
- "type": "object",
4619
- "additionalProperties": false,
4620
- "properties": {}
4621
- },
4622
- "IRelationshipAttribute": {
4623
- "type": "object",
4624
- "properties": {
4746
+ },
4747
+ "@version": {
4748
+ "type": "string"
4749
+ },
4625
4750
  "owner": {
4626
- "$ref": "#/definitions/ICoreAddress"
4751
+ "type": "string"
4627
4752
  },
4628
4753
  "validFrom": {
4629
- "$ref": "#/definitions/ICoreDate"
4754
+ "type": "string"
4630
4755
  },
4631
4756
  "validTo": {
4632
- "$ref": "#/definitions/ICoreDate"
4757
+ "type": "string"
4633
4758
  },
4634
4759
  "value": {
4635
- "$ref": "#/definitions/IAbstractAttributeValue"
4760
+ "type": "object",
4761
+ "properties": {
4762
+ "@type": {
4763
+ "type": "string"
4764
+ },
4765
+ "@context": {
4766
+ "type": "string"
4767
+ },
4768
+ "@version": {
4769
+ "type": "string"
4770
+ }
4771
+ },
4772
+ "required": [
4773
+ "@type"
4774
+ ]
4636
4775
  },
4637
4776
  "key": {
4638
4777
  "type": "string"
@@ -4645,6 +4784,7 @@ exports.CreateAttributeRequest = {
4645
4784
  }
4646
4785
  },
4647
4786
  "required": [
4787
+ "@type",
4648
4788
  "confidentiality",
4649
4789
  "key",
4650
4790
  "owner",
@@ -4667,28 +4807,19 @@ exports.CreateShareAttributeCopyRequest = {
4667
4807
  "$ref": "#/definitions/CreateShareAttributeCopyRequest",
4668
4808
  "definitions": {
4669
4809
  "CreateShareAttributeCopyRequest": {
4670
- "type": "object",
4671
- "properties": {
4672
- "params": {
4673
- "$ref": "#/definitions/ICreateSharedConsumptionAttributeCopyParams"
4674
- }
4675
- },
4676
- "required": [
4677
- "params"
4678
- ],
4679
- "additionalProperties": false
4680
- },
4681
- "ICreateSharedConsumptionAttributeCopyParams": {
4682
4810
  "type": "object",
4683
4811
  "properties": {
4684
4812
  "attributeId": {
4685
- "$ref": "#/definitions/ICoreId"
4813
+ "type": "string",
4814
+ "pattern": "ATT[A-Za-z0-9]{17}"
4686
4815
  },
4687
4816
  "peer": {
4688
- "$ref": "#/definitions/ICoreAddress"
4817
+ "type": "string",
4818
+ "pattern": "[a-zA-Z1-9]{35,36}"
4689
4819
  },
4690
4820
  "requestReference": {
4691
- "$ref": "#/definitions/ICoreId"
4821
+ "type": "string",
4822
+ "pattern": "REQ[A-Za-z0-9]{17}"
4692
4823
  }
4693
4824
  },
4694
4825
  "required": [
@@ -4697,30 +4828,6 @@ exports.CreateShareAttributeCopyRequest = {
4697
4828
  "requestReference"
4698
4829
  ],
4699
4830
  "additionalProperties": false
4700
- },
4701
- "ICoreId": {
4702
- "type": "object",
4703
- "properties": {
4704
- "id": {
4705
- "type": "string"
4706
- }
4707
- },
4708
- "required": [
4709
- "id"
4710
- ],
4711
- "additionalProperties": false
4712
- },
4713
- "ICoreAddress": {
4714
- "type": "object",
4715
- "properties": {
4716
- "address": {
4717
- "type": "string"
4718
- }
4719
- },
4720
- "required": [
4721
- "address"
4722
- ],
4723
- "additionalProperties": false
4724
4831
  }
4725
4832
  }
4726
4833
  };
@@ -4732,7 +4839,8 @@ exports.DeleteAttributeRequest = {
4732
4839
  "type": "object",
4733
4840
  "properties": {
4734
4841
  "id": {
4735
- "type": "string"
4842
+ "type": "string",
4843
+ "pattern": "ATT[A-Za-z0-9]{17}"
4736
4844
  }
4737
4845
  },
4738
4846
  "required": [
@@ -4750,7 +4858,8 @@ exports.GetAttributeRequest = {
4750
4858
  "type": "object",
4751
4859
  "properties": {
4752
4860
  "id": {
4753
- "type": "string"
4861
+ "type": "string",
4862
+ "pattern": "ATT[A-Za-z0-9]{17}"
4754
4863
  }
4755
4864
  },
4756
4865
  "required": [
@@ -4771,9 +4880,6 @@ exports.GetAttributesRequest = {
4771
4880
  "$ref": "#/definitions/ConsumptionAttributeQuery"
4772
4881
  }
4773
4882
  },
4774
- "required": [
4775
- "query"
4776
- ],
4777
4883
  "additionalProperties": false
4778
4884
  },
4779
4885
  "ConsumptionAttributeQuery": {
@@ -4809,7 +4915,7 @@ exports.GetAttributesRequest = {
4809
4915
  "isTechnical": {
4810
4916
  "type": "boolean"
4811
4917
  },
4812
- "confidenttiality": {
4918
+ "confidentiality": {
4813
4919
  "$ref": "#/definitions/RelationshipAttributeConfidentiality"
4814
4920
  },
4815
4921
  "value": {
@@ -4863,32 +4969,21 @@ exports.SucceedAttributeRequest = {
4863
4969
  "$ref": "#/definitions/SucceedAttributeRequest",
4864
4970
  "definitions": {
4865
4971
  "SucceedAttributeRequest": {
4866
- "type": "object",
4867
- "properties": {
4868
- "params": {
4869
- "$ref": "#/definitions/ISucceedConsumptionAttributeParams"
4870
- }
4871
- },
4872
- "required": [
4873
- "params"
4874
- ],
4875
- "additionalProperties": false
4876
- },
4877
- "ISucceedConsumptionAttributeParams": {
4878
4972
  "type": "object",
4879
4973
  "properties": {
4880
4974
  "successorContent": {
4881
4975
  "anyOf": [
4882
4976
  {
4883
- "$ref": "#/definitions/IIdentityAttribute"
4977
+ "$ref": "#/definitions/ExtendedIdentityAttributeJSON"
4884
4978
  },
4885
4979
  {
4886
- "$ref": "#/definitions/IRelationshipAttribute"
4980
+ "$ref": "#/definitions/ExtendedRelationshipAttributeJSON"
4887
4981
  }
4888
4982
  ]
4889
4983
  },
4890
4984
  "succeeds": {
4891
- "$ref": "#/definitions/ICoreId"
4985
+ "type": "string",
4986
+ "pattern": "ATT[A-Za-z0-9]{17}"
4892
4987
  }
4893
4988
  },
4894
4989
  "required": [
@@ -4897,20 +4992,43 @@ exports.SucceedAttributeRequest = {
4897
4992
  ],
4898
4993
  "additionalProperties": false
4899
4994
  },
4900
- "IIdentityAttribute": {
4995
+ "ExtendedIdentityAttributeJSON": {
4901
4996
  "type": "object",
4902
4997
  "properties": {
4998
+ "@type": {
4999
+ "type": "string"
5000
+ },
5001
+ "@context": {
5002
+ "type": "string"
5003
+ },
5004
+ "@version": {
5005
+ "type": "string"
5006
+ },
4903
5007
  "owner": {
4904
- "$ref": "#/definitions/ICoreAddress"
5008
+ "type": "string"
4905
5009
  },
4906
5010
  "validFrom": {
4907
- "$ref": "#/definitions/ICoreDate"
5011
+ "type": "string"
4908
5012
  },
4909
5013
  "validTo": {
4910
- "$ref": "#/definitions/ICoreDate"
5014
+ "type": "string"
4911
5015
  },
4912
5016
  "value": {
4913
- "$ref": "#/definitions/IAbstractAttributeValue"
5017
+ "type": "object",
5018
+ "properties": {
5019
+ "@type": {
5020
+ "type": "string"
5021
+ },
5022
+ "@context": {
5023
+ "type": "string"
5024
+ },
5025
+ "@version": {
5026
+ "type": "string"
5027
+ }
5028
+ },
5029
+ "required": [
5030
+ "@type"
5031
+ ]
4914
5032
  },
4915
5033
  "tags": {
4916
5034
  "type": "array",
@@ -4920,54 +5038,49 @@ exports.SucceedAttributeRequest = {
4920
5038
  }
4921
5039
  },
4922
5040
  "required": [
5041
+ "@type",
4923
5042
  "owner",
4924
5043
  "value"
4925
5044
  ],
4926
5045
  "additionalProperties": false
4927
5046
  },
4928
- "ICoreAddress": {
5047
+ "ExtendedRelationshipAttributeJSON": {
4929
5048
  "type": "object",
4930
5049
  "properties": {
4931
- "address": {
5050
+ "@type": {
4932
5051
  "type": "string"
4933
- }
4934
- },
4935
- "required": [
4936
- "address"
4937
- ],
4938
- "additionalProperties": false
4939
- },
4940
- "ICoreDate": {
4941
- "type": "object",
4942
- "properties": {
4943
- "date": {
5052
+ },
5053
+ "@context": {
4944
5054
  "type": "string"
4945
- }
4946
- },
4947
- "required": [
4948
- "date"
4949
- ],
4950
- "additionalProperties": false
4951
- },
4952
- "IAbstractAttributeValue": {
4953
- "type": "object",
4954
- "additionalProperties": false,
4955
- "properties": {}
4956
- },
4957
- "IRelationshipAttribute": {
4958
- "type": "object",
4959
- "properties": {
5055
+ },
5056
+ "@version": {
5057
+ "type": "string"
5058
+ },
4960
5059
  "owner": {
4961
- "$ref": "#/definitions/ICoreAddress"
5060
+ "type": "string"
4962
5061
  },
4963
5062
  "validFrom": {
4964
- "$ref": "#/definitions/ICoreDate"
5063
+ "type": "string"
4965
5064
  },
4966
5065
  "validTo": {
4967
- "$ref": "#/definitions/ICoreDate"
5066
+ "type": "string"
4968
5067
  },
4969
5068
  "value": {
4970
- "$ref": "#/definitions/IAbstractAttributeValue"
5069
+ "type": "object",
5070
+ "properties": {
5071
+ "@type": {
5072
+ "type": "string"
5073
+ },
5074
+ "@context": {
5075
+ "type": "string"
5076
+ },
5077
+ "@version": {
5078
+ "type": "string"
5079
+ }
5080
+ },
5081
+ "required": [
5082
+ "@type"
5083
+ ]
4971
5084
  },
4972
5085
  "key": {
4973
5086
  "type": "string"
@@ -4980,6 +5093,7 @@ exports.SucceedAttributeRequest = {
4980
5093
  }
4981
5094
  },
4982
5095
  "required": [
5096
+ "@type",
4983
5097
  "confidentiality",
4984
5098
  "key",
4985
5099
  "owner",
@@ -4987,25 +5101,13 @@ exports.SucceedAttributeRequest = {
4987
5101
  ],
4988
5102
  "additionalProperties": false
4989
5103
  },
4990
- "RelationshipAttributeConfidentiality": {
4991
- "type": "string",
4992
- "enum": [
4993
- "public",
4994
- "private",
4995
- "protected"
4996
- ]
4997
- },
4998
- "ICoreId": {
4999
- "type": "object",
5000
- "properties": {
5001
- "id": {
5002
- "type": "string"
5003
- }
5004
- },
5005
- "required": [
5006
- "id"
5007
- ],
5008
- "additionalProperties": false
5104
+ "RelationshipAttributeConfidentiality": {
5105
+ "type": "string",
5106
+ "enum": [
5107
+ "public",
5108
+ "private",
5109
+ "protected"
5110
+ ]
5009
5111
  }
5010
5112
  }
5011
5113
  };
@@ -5014,67 +5116,66 @@ exports.UpdateAttributeRequest = {
5014
5116
  "$ref": "#/definitions/UpdateAttributeRequest",
5015
5117
  "definitions": {
5016
5118
  "UpdateAttributeRequest": {
5017
- "type": "object",
5018
- "properties": {
5019
- "params": {
5020
- "$ref": "#/definitions/UpdateConsumptionAttributeParams"
5021
- }
5022
- },
5023
- "required": [
5024
- "params"
5025
- ],
5026
- "additionalProperties": false
5027
- },
5028
- "UpdateConsumptionAttributeParams": {
5029
5119
  "type": "object",
5030
5120
  "properties": {
5031
5121
  "id": {
5032
- "$ref": "#/definitions/CoreId"
5122
+ "type": "string",
5123
+ "pattern": "ATT[A-Za-z0-9]{17}"
5033
5124
  },
5034
5125
  "content": {
5035
5126
  "anyOf": [
5036
5127
  {
5037
- "$ref": "#/definitions/IdentityAttribute"
5128
+ "$ref": "#/definitions/ExtendedIdentityAttributeJSON"
5038
5129
  },
5039
5130
  {
5040
- "$ref": "#/definitions/RelationshipAttribute"
5131
+ "$ref": "#/definitions/ExtendedRelationshipAttributeJSON"
5041
5132
  }
5042
5133
  ]
5043
5134
  }
5044
5135
  },
5045
5136
  "required": [
5046
- "content",
5047
- "id"
5137
+ "id",
5138
+ "content"
5048
5139
  ],
5049
5140
  "additionalProperties": false
5050
5141
  },
5051
- "CoreId": {
5142
+ "ExtendedIdentityAttributeJSON": {
5052
5143
  "type": "object",
5053
5144
  "properties": {
5054
- "id": {
5145
+ "@type": {
5055
5146
  "type": "string"
5056
- }
5057
- },
5058
- "required": [
5059
- "id"
5060
- ],
5061
- "additionalProperties": false,
5062
- "description": "A CoreId is any kind of identifier we have in the system."
5063
- },
5064
- "IdentityAttribute": {
5065
- "type": "object",
5066
- "properties": {
5147
+ },
5148
+ "@context": {
5149
+ "type": "string"
5150
+ },
5151
+ "@version": {
5152
+ "type": "string"
5153
+ },
5067
5154
  "owner": {
5068
- "$ref": "#/definitions/CoreAddress"
5155
+ "type": "string"
5069
5156
  },
5070
5157
  "validFrom": {
5071
- "$ref": "#/definitions/CoreDate"
5158
+ "type": "string"
5072
5159
  },
5073
5160
  "validTo": {
5074
- "$ref": "#/definitions/CoreDate"
5161
+ "type": "string"
5075
5162
  },
5076
5163
  "value": {
5077
- "$ref": "#/definitions/AbstractAttributeValue"
5164
+ "type": "object",
5165
+ "properties": {
5166
+ "@type": {
5167
+ "type": "string"
5168
+ },
5169
+ "@context": {
5170
+ "type": "string"
5171
+ },
5172
+ "@version": {
5173
+ "type": "string"
5174
+ }
5175
+ },
5176
+ "required": [
5177
+ "@type"
5178
+ ]
5078
5179
  },
5079
5180
  "tags": {
5080
5181
  "type": "array",
@@ -5084,48 +5185,49 @@ exports.UpdateAttributeRequest = {
5084
5185
  }
5085
5186
  },
5086
5187
  "required": [
5188
+ "@type",
5087
5189
  "owner",
5088
5190
  "value"
5089
5191
  ],
5090
5192
  "additionalProperties": false
5091
5193
  },
5092
- "CoreAddress": {
5194
+ "ExtendedRelationshipAttributeJSON": {
5093
5195
  "type": "object",
5094
5196
  "properties": {
5095
- "address": {
5197
+ "@type": {
5096
5198
  "type": "string"
5097
- }
5098
- },
5099
- "required": [
5100
- "address"
5101
- ],
5102
- "additionalProperties": false,
5103
- "description": "A CoreAddress is the primariy technical identitier of an account."
5104
- },
5105
- "CoreDate": {
5106
- "type": "object",
5107
- "additionalProperties": false,
5108
- "properties": {}
5109
- },
5110
- "AbstractAttributeValue": {
5111
- "type": "object",
5112
- "additionalProperties": false,
5113
- "properties": {}
5114
- },
5115
- "RelationshipAttribute": {
5116
- "type": "object",
5117
- "properties": {
5199
+ },
5200
+ "@context": {
5201
+ "type": "string"
5202
+ },
5203
+ "@version": {
5204
+ "type": "string"
5205
+ },
5118
5206
  "owner": {
5119
- "$ref": "#/definitions/CoreAddress"
5207
+ "type": "string"
5120
5208
  },
5121
5209
  "validFrom": {
5122
- "$ref": "#/definitions/CoreDate"
5210
+ "type": "string"
5123
5211
  },
5124
5212
  "validTo": {
5125
- "$ref": "#/definitions/CoreDate"
5213
+ "type": "string"
5126
5214
  },
5127
5215
  "value": {
5128
- "$ref": "#/definitions/AbstractAttributeValue"
5216
+ "type": "object",
5217
+ "properties": {
5218
+ "@type": {
5219
+ "type": "string"
5220
+ },
5221
+ "@context": {
5222
+ "type": "string"
5223
+ },
5224
+ "@version": {
5225
+ "type": "string"
5226
+ }
5227
+ },
5228
+ "required": [
5229
+ "@type"
5230
+ ]
5129
5231
  },
5130
5232
  "key": {
5131
5233
  "type": "string"
@@ -5138,8 +5240,8 @@ exports.UpdateAttributeRequest = {
5138
5240
  }
5139
5241
  },
5140
5242
  "required": [
5243
+ "@type",
5141
5244
  "confidentiality",
5142
- "isTechnical",
5143
5245
  "key",
5144
5246
  "owner",
5145
5247
  "value"
@@ -5675,7 +5777,7 @@ exports.CheckPrerequisitesOfIncomingRequestRequest = {
5675
5777
  "properties": {
5676
5778
  "requestId": {
5677
5779
  "type": "string",
5678
- "pattern": "REQ[A-Za-z0-9]{14}"
5780
+ "pattern": "REQ[A-Za-z0-9]{17}"
5679
5781
  }
5680
5782
  },
5681
5783
  "required": [
@@ -5694,7 +5796,7 @@ exports.CompleteIncomingRequestRequest = {
5694
5796
  "properties": {
5695
5797
  "requestId": {
5696
5798
  "type": "string",
5697
- "pattern": "REQ[A-Za-z0-9]{14}"
5799
+ "pattern": "REQ[A-Za-z0-9]{17}"
5698
5800
  },
5699
5801
  "responseSourceId": {
5700
5802
  "type": "string",
@@ -5716,10 +5818,6 @@ exports.CompleteOutgoingRequestRequest = {
5716
5818
  "CompleteOutgoingRequestRequest": {
5717
5819
  "type": "object",
5718
5820
  "properties": {
5719
- "requestId": {
5720
- "type": "string",
5721
- "pattern": "REQ[A-Za-z0-9]{14}"
5722
- },
5723
5821
  "receivedResponse": {
5724
5822
  "$ref": "#/definitions/ResponseJSON"
5725
5823
  },
@@ -5729,7 +5827,6 @@ exports.CompleteOutgoingRequestRequest = {
5729
5827
  }
5730
5828
  },
5731
5829
  "required": [
5732
- "requestId",
5733
5830
  "receivedResponse",
5734
5831
  "messageId"
5735
5832
  ],
@@ -5881,7 +5978,7 @@ exports.GetIncomingRequestRequest = {
5881
5978
  "properties": {
5882
5979
  "id": {
5883
5980
  "type": "string",
5884
- "pattern": "REQ[A-Za-z0-9]{14}"
5981
+ "pattern": "REQ[A-Za-z0-9]{17}"
5885
5982
  }
5886
5983
  },
5887
5984
  "required": [
@@ -6011,7 +6108,7 @@ exports.GetOutgoingRequestRequest = {
6011
6108
  "properties": {
6012
6109
  "id": {
6013
6110
  "type": "string",
6014
- "pattern": "REQ[A-Za-z0-9]{14}"
6111
+ "pattern": "REQ[A-Za-z0-9]{17}"
6015
6112
  }
6016
6113
  },
6017
6114
  "required": [
@@ -6145,7 +6242,7 @@ exports.ReceivedIncomingRequestRequest = {
6145
6242
  "requestSourceId": {
6146
6243
  "type": "string",
6147
6244
  "description": "The id of the Message or RelationshipTemplate in which the Response was received.",
6148
- "pattern": "(MSG|RLT)[A-Za-z0-9]{14}"
6245
+ "pattern": "(MSG|RLT)[A-Za-z0-9]{17}"
6149
6246
  }
6150
6247
  },
6151
6248
  "required": [
@@ -6289,7 +6386,7 @@ exports.RequireManualDecisionOfIncomingRequestRequest = {
6289
6386
  "properties": {
6290
6387
  "requestId": {
6291
6388
  "type": "string",
6292
- "pattern": "REQ[A-Za-z0-9]{14}"
6389
+ "pattern": "REQ[A-Za-z0-9]{17}"
6293
6390
  }
6294
6391
  },
6295
6392
  "required": [
@@ -6308,7 +6405,7 @@ exports.SentOutgoingRequestRequest = {
6308
6405
  "properties": {
6309
6406
  "requestId": {
6310
6407
  "type": "string",
6311
- "pattern": "REQ[A-Za-z0-9]{14}"
6408
+ "pattern": "REQ[A-Za-z0-9]{17}"
6312
6409
  },
6313
6410
  "messageId": {
6314
6411
  "type": "string",
@@ -7197,6 +7294,24 @@ exports.CreateRelationshipChangeRequest = {
7197
7294
  }
7198
7295
  }
7199
7296
  };
7297
+ exports.GetAttributesForRelationshipRequest = {
7298
+ "$schema": "http://json-schema.org/draft-07/schema#",
7299
+ "$ref": "#/definitions/GetAttributesForRelationshipRequest",
7300
+ "definitions": {
7301
+ "GetAttributesForRelationshipRequest": {
7302
+ "type": "object",
7303
+ "properties": {
7304
+ "id": {
7305
+ "type": "string"
7306
+ }
7307
+ },
7308
+ "required": [
7309
+ "id"
7310
+ ],
7311
+ "additionalProperties": false
7312
+ }
7313
+ }
7314
+ };
7200
7315
  exports.GetRelationshipRequest = {
7201
7316
  "$schema": "http://json-schema.org/draft-07/schema#",
7202
7317
  "$ref": "#/definitions/GetRelationshipRequest",
@@ -7871,13 +7986,15 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
7871
7986
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
7872
7987
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
7873
7988
  const AttributeMapper_1 = __webpack_require__(/*! ./AttributeMapper */ "./dist/useCases/consumption/attributes/AttributeMapper.js");
7874
- class CreateAttributeRequestValidator extends common_1.RuntimeValidator {
7875
- constructor() {
7876
- super();
7877
- this.validateIf((x) => x.params.content).isDefined();
7878
- this.validateIf((x) => x.params.content.value).isDefined();
7989
+ let Validator = class Validator extends common_1.SchemaValidator {
7990
+ constructor(schemaRepository) {
7991
+ super(schemaRepository.getSchema("CreateAttributeRequest"));
7879
7992
  }
7880
- }
7993
+ };
7994
+ Validator = __decorate([
7995
+ __param(0, typescript_ioc_1.Inject),
7996
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
7997
+ ], Validator);
7881
7998
  let CreateAttributeUseCase = class CreateAttributeUseCase extends common_1.UseCase {
7882
7999
  constructor(attributeController, accountController, validator) {
7883
8000
  super(validator);
@@ -7885,8 +8002,10 @@ let CreateAttributeUseCase = class CreateAttributeUseCase extends common_1.UseCa
7885
8002
  this.accountController = accountController;
7886
8003
  }
7887
8004
  async executeInternal(request) {
7888
- const attribute = await consumption_1.ConsumptionAttribute.fromAttribute(request.params.content);
7889
- const createdAttribute = await this.attributeController.createConsumptionAttribute(attribute);
8005
+ const params = consumption_1.CreateConsumptionAttributeParams.from({
8006
+ content: request.content
8007
+ });
8008
+ const createdAttribute = await this.attributeController.createConsumptionAttribute(params);
7890
8009
  await this.accountController.syncDatawallet();
7891
8010
  return ts_utils_1.Result.ok(AttributeMapper_1.AttributeMapper.toAttributeDTO(createdAttribute));
7892
8011
  }
@@ -7897,7 +8016,7 @@ CreateAttributeUseCase = __decorate([
7897
8016
  __param(2, typescript_ioc_1.Inject),
7898
8017
  __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController,
7899
8018
  transport_1.AccountController,
7900
- CreateAttributeRequestValidator])
8019
+ Validator])
7901
8020
  ], CreateAttributeUseCase);
7902
8021
  exports.CreateAttributeUseCase = CreateAttributeUseCase;
7903
8022
  //# sourceMappingURL=CreateAttribute.js.map
@@ -7932,13 +8051,15 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
7932
8051
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
7933
8052
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
7934
8053
  const AttributeMapper_1 = __webpack_require__(/*! ./AttributeMapper */ "./dist/useCases/consumption/attributes/AttributeMapper.js");
7935
- class CreateSharedAttributeRequestValidator extends common_1.RuntimeValidator {
7936
- constructor() {
7937
- super();
7938
- this.validateIf((x) => x.params.peer).isDefined();
7939
- this.validateIf((x) => x.params.attributeId.toString()).fulfills(common_1.IdValidator.required(consumption_1.ConsumptionIds.attribute));
8054
+ let Validator = class Validator extends common_1.SchemaValidator {
8055
+ constructor(schemaRepository) {
8056
+ super(schemaRepository.getSchema("CreateShareAttributeCopyRequest"));
7940
8057
  }
7941
- }
8058
+ };
8059
+ Validator = __decorate([
8060
+ __param(0, typescript_ioc_1.Inject),
8061
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
8062
+ ], Validator);
7942
8063
  let CreateSharedAttributeCopyUseCase = class CreateSharedAttributeCopyUseCase extends common_1.UseCase {
7943
8064
  constructor(attributeController, accountController, validator) {
7944
8065
  super(validator);
@@ -7946,7 +8067,12 @@ let CreateSharedAttributeCopyUseCase = class CreateSharedAttributeCopyUseCase ex
7946
8067
  this.accountController = accountController;
7947
8068
  }
7948
8069
  async executeInternal(request) {
7949
- const successor = await this.attributeController.createSharedConsumptionAttributeCopy(request.params);
8070
+ const params = consumption_1.CreateSharedConsumptionAttributeCopyParams.from({
8071
+ attributeId: transport_1.CoreId.from(request.attributeId),
8072
+ peer: transport_1.CoreAddress.from(request.peer),
8073
+ requestReference: transport_1.CoreId.from(request.requestReference)
8074
+ });
8075
+ const successor = await this.attributeController.createSharedConsumptionAttributeCopy(params);
7950
8076
  await this.accountController.syncDatawallet();
7951
8077
  return ts_utils_1.Result.ok(AttributeMapper_1.AttributeMapper.toAttributeDTO(successor));
7952
8078
  }
@@ -7957,7 +8083,7 @@ CreateSharedAttributeCopyUseCase = __decorate([
7957
8083
  __param(2, typescript_ioc_1.Inject),
7958
8084
  __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController,
7959
8085
  transport_1.AccountController,
7960
- CreateSharedAttributeRequestValidator])
8086
+ Validator])
7961
8087
  ], CreateSharedAttributeCopyUseCase);
7962
8088
  exports.CreateSharedAttributeCopyUseCase = CreateSharedAttributeCopyUseCase;
7963
8089
  //# sourceMappingURL=CreateShareAttributeCopy.js.map
@@ -7991,12 +8117,15 @@ const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/cons
7991
8117
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
7992
8118
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
7993
8119
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
7994
- class DeleteAttributeRequestValidator extends common_1.RuntimeValidator {
7995
- constructor() {
7996
- super();
7997
- this.validateIfString((x) => x.id).fulfills(common_1.IdValidator.required(consumption_1.ConsumptionIds.attribute));
8120
+ let Validator = class Validator extends common_1.SchemaValidator {
8121
+ constructor(schemaRepository) {
8122
+ super(schemaRepository.getSchema("DeleteAttributeRequest"));
7998
8123
  }
7999
- }
8124
+ };
8125
+ Validator = __decorate([
8126
+ __param(0, typescript_ioc_1.Inject),
8127
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
8128
+ ], Validator);
8000
8129
  let DeleteAttributeUseCase = class DeleteAttributeUseCase extends common_1.UseCase {
8001
8130
  constructor(attributeController, accountController, validator) {
8002
8131
  super(validator);
@@ -8019,7 +8148,7 @@ DeleteAttributeUseCase = __decorate([
8019
8148
  __param(2, typescript_ioc_1.Inject),
8020
8149
  __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController,
8021
8150
  transport_1.AccountController,
8022
- DeleteAttributeRequestValidator])
8151
+ Validator])
8023
8152
  ], DeleteAttributeUseCase);
8024
8153
  exports.DeleteAttributeUseCase = DeleteAttributeUseCase;
8025
8154
  //# sourceMappingURL=DeleteAttribute.js.map
@@ -8101,12 +8230,15 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
8101
8230
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
8102
8231
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
8103
8232
  const AttributeMapper_1 = __webpack_require__(/*! ./AttributeMapper */ "./dist/useCases/consumption/attributes/AttributeMapper.js");
8104
- class GetAttributeRequestValidator extends common_1.RuntimeValidator {
8105
- constructor() {
8106
- super();
8107
- this.validateIf((x) => x.id).fulfills(common_1.IdValidator.required(consumption_1.ConsumptionIds.attribute));
8233
+ let Validator = class Validator extends common_1.SchemaValidator {
8234
+ constructor(schemaRepository) {
8235
+ super(schemaRepository.getSchema("GetAttributeRequest"));
8108
8236
  }
8109
- }
8237
+ };
8238
+ Validator = __decorate([
8239
+ __param(0, typescript_ioc_1.Inject),
8240
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
8241
+ ], Validator);
8110
8242
  let GetAttributeUseCase = class GetAttributeUseCase extends common_1.UseCase {
8111
8243
  constructor(attributeController, validator) {
8112
8244
  super(validator);
@@ -8123,7 +8255,7 @@ let GetAttributeUseCase = class GetAttributeUseCase extends common_1.UseCase {
8123
8255
  GetAttributeUseCase = __decorate([
8124
8256
  __param(0, typescript_ioc_1.Inject),
8125
8257
  __param(1, typescript_ioc_1.Inject),
8126
- __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController, GetAttributeRequestValidator])
8258
+ __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController, Validator])
8127
8259
  ], GetAttributeUseCase);
8128
8260
  exports.GetAttributeUseCase = GetAttributeUseCase;
8129
8261
  //# sourceMappingURL=GetAttribute.js.map
@@ -8161,14 +8293,9 @@ const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modul
8161
8293
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
8162
8294
  const flattenObject_1 = __webpack_require__(/*! ../requests/flattenObject */ "./dist/useCases/consumption/requests/flattenObject.js");
8163
8295
  const AttributeMapper_1 = __webpack_require__(/*! ./AttributeMapper */ "./dist/useCases/consumption/attributes/AttributeMapper.js");
8164
- class GetAttributesRequestValidator extends common_1.RuntimeValidator {
8165
- constructor() {
8166
- super();
8167
- }
8168
- }
8169
8296
  let GetAttributesUseCase = class GetAttributesUseCase extends common_1.UseCase {
8170
- constructor(attributeController, validator) {
8171
- super(validator);
8297
+ constructor(attributeController) {
8298
+ super();
8172
8299
  this.attributeController = attributeController;
8173
8300
  }
8174
8301
  async executeInternal(request) {
@@ -8187,10 +8314,10 @@ GetAttributesUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslat
8187
8314
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`]: true,
8188
8315
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validTo)}`]: true,
8189
8316
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.owner)}`]: true,
8190
- [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x["@type"])}`]: true,
8317
+ [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.@type`]: true,
8191
8318
  // content.identityAttribute
8192
8319
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.tags)}`]: true,
8193
- [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.${(0, ts_simple_nameof_1.nameof)((x) => x["@type"])}`]: true,
8320
+ [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.@type`]: true,
8194
8321
  // content.relationshipAttribute
8195
8322
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.key)}`]: true,
8196
8323
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.isTechnical)}`]: true,
@@ -8214,15 +8341,13 @@ GetAttributesUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslat
8214
8341
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.owner)}`]: [
8215
8342
  `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.owner)}`
8216
8343
  ],
8217
- [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x["@type"])}`]: [
8218
- `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x["@type"])}`
8219
- ],
8344
+ [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.@type`]: [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.@type`],
8220
8345
  // content.identityAttribute
8221
8346
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.tags)}`]: [
8222
8347
  `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.tags)}`
8223
8348
  ],
8224
- [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.${(0, ts_simple_nameof_1.nameof)((x) => x["@type"])}`]: [
8225
- `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.${(0, ts_simple_nameof_1.nameof)((x) => x["@type"])}`
8349
+ [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.@type`]: [
8350
+ `${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.value)}.@type`
8226
8351
  ],
8227
8352
  // content.relationshipAttribute
8228
8353
  [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.key)}`]: [
@@ -8279,8 +8404,7 @@ GetAttributesUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslat
8279
8404
  });
8280
8405
  GetAttributesUseCase = __decorate([
8281
8406
  __param(0, typescript_ioc_1.Inject),
8282
- __param(1, typescript_ioc_1.Inject),
8283
- __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController, GetAttributesRequestValidator])
8407
+ __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController])
8284
8408
  ], GetAttributesUseCase);
8285
8409
  exports.GetAttributesUseCase = GetAttributesUseCase;
8286
8410
  //# sourceMappingURL=GetAttributes.js.map
@@ -8315,14 +8439,15 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
8315
8439
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
8316
8440
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
8317
8441
  const AttributeMapper_1 = __webpack_require__(/*! ./AttributeMapper */ "./dist/useCases/consumption/attributes/AttributeMapper.js");
8318
- class SucceedAttributeRequestValidator extends common_1.RuntimeValidator {
8319
- constructor() {
8320
- super();
8321
- this.validateIf((x) => x.params.successorContent.validFrom?.toString()).fulfills(common_1.DateValidator.optional());
8322
- this.validateIf((x) => x.params.successorContent.value).isDefined();
8323
- this.validateIf((x) => x.params.succeeds.toString()).fulfills(common_1.IdValidator.required(consumption_1.ConsumptionIds.attribute));
8442
+ let Validator = class Validator extends common_1.SchemaValidator {
8443
+ constructor(schemaRepository) {
8444
+ super(schemaRepository.getSchema("SucceedAttributeRequest"));
8324
8445
  }
8325
- }
8446
+ };
8447
+ Validator = __decorate([
8448
+ __param(0, typescript_ioc_1.Inject),
8449
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
8450
+ ], Validator);
8326
8451
  let SucceedAttributeUseCase = class SucceedAttributeUseCase extends common_1.UseCase {
8327
8452
  constructor(attributeController, accountController, validator) {
8328
8453
  super(validator);
@@ -8330,7 +8455,11 @@ let SucceedAttributeUseCase = class SucceedAttributeUseCase extends common_1.Use
8330
8455
  this.accountController = accountController;
8331
8456
  }
8332
8457
  async executeInternal(request) {
8333
- const successor = await this.attributeController.succeedConsumptionAttribute(request.params);
8458
+ const params = consumption_1.SucceedConsumptionAttributeParams.from({
8459
+ successorContent: request.successorContent,
8460
+ succeeds: request.succeeds
8461
+ });
8462
+ const successor = await this.attributeController.succeedConsumptionAttribute(params);
8334
8463
  await this.accountController.syncDatawallet();
8335
8464
  return ts_utils_1.Result.ok(AttributeMapper_1.AttributeMapper.toAttributeDTO(successor));
8336
8465
  }
@@ -8341,7 +8470,7 @@ SucceedAttributeUseCase = __decorate([
8341
8470
  __param(2, typescript_ioc_1.Inject),
8342
8471
  __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController,
8343
8472
  transport_1.AccountController,
8344
- SucceedAttributeRequestValidator])
8473
+ Validator])
8345
8474
  ], SucceedAttributeUseCase);
8346
8475
  exports.SucceedAttributeUseCase = SucceedAttributeUseCase;
8347
8476
  //# sourceMappingURL=SucceedAttribute.js.map
@@ -8376,14 +8505,15 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
8376
8505
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
8377
8506
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
8378
8507
  const AttributeMapper_1 = __webpack_require__(/*! ./AttributeMapper */ "./dist/useCases/consumption/attributes/AttributeMapper.js");
8379
- class UpdateAttributeRequestValidator extends common_1.RuntimeValidator {
8380
- constructor() {
8381
- super();
8382
- this.validateIfString((x) => x.params.id.toString()).fulfills(common_1.IdValidator.required(consumption_1.ConsumptionIds.attribute));
8383
- this.validateIf((x) => x.params.content).isDefined();
8384
- this.validateIf((x) => x.params.content.value).isNotEmpty();
8508
+ let Validator = class Validator extends common_1.SchemaValidator {
8509
+ constructor(schemaRepository) {
8510
+ super(schemaRepository.getSchema("UpdateAttributeRequest"));
8385
8511
  }
8386
- }
8512
+ };
8513
+ Validator = __decorate([
8514
+ __param(0, typescript_ioc_1.Inject),
8515
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
8516
+ ], Validator);
8387
8517
  let UpdateAttributeUseCase = class UpdateAttributeUseCase extends common_1.UseCase {
8388
8518
  constructor(attributeController, accountController, validator) {
8389
8519
  super(validator);
@@ -8391,12 +8521,11 @@ let UpdateAttributeUseCase = class UpdateAttributeUseCase extends common_1.UseCa
8391
8521
  this.accountController = accountController;
8392
8522
  }
8393
8523
  async executeInternal(request) {
8394
- const attribute = await this.attributeController.getConsumptionAttribute(transport_1.CoreId.from(request.params.id));
8395
- if (!attribute) {
8396
- return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(consumption_1.ConsumptionAttribute));
8397
- }
8398
- attribute.content = request.params.content;
8399
- const updated = await this.attributeController.updateConsumptionAttribute(attribute);
8524
+ const params = consumption_1.UpdateConsumptionAttributeParams.from({
8525
+ id: request.id,
8526
+ content: request.content
8527
+ });
8528
+ const updated = await this.attributeController.updateConsumptionAttribute(params);
8400
8529
  await this.accountController.syncDatawallet();
8401
8530
  return ts_utils_1.Result.ok(AttributeMapper_1.AttributeMapper.toAttributeDTO(updated));
8402
8531
  }
@@ -8407,7 +8536,7 @@ UpdateAttributeUseCase = __decorate([
8407
8536
  __param(2, typescript_ioc_1.Inject),
8408
8537
  __metadata("design:paramtypes", [consumption_1.ConsumptionAttributesController,
8409
8538
  transport_1.AccountController,
8410
- UpdateAttributeRequestValidator])
8539
+ Validator])
8411
8540
  ], UpdateAttributeUseCase);
8412
8541
  exports.UpdateAttributeUseCase = UpdateAttributeUseCase;
8413
8542
  //# sourceMappingURL=UpdateAttribute.js.map
@@ -9237,6 +9366,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
9237
9366
  exports.CompleteOutgoingRequestUseCase = void 0;
9238
9367
  const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
9239
9368
  const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
9369
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
9240
9370
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
9241
9371
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
9242
9372
  const events_1 = __webpack_require__(/*! ../../../events */ "./dist/events/index.js");
@@ -9264,9 +9394,8 @@ let CompleteOutgoingRequestUseCase = class CompleteOutgoingRequestUseCase extend
9264
9394
  return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.Message));
9265
9395
  }
9266
9396
  const params = {
9267
- requestId: transport_1.CoreId.from(request.requestId),
9268
- // @ts-expect-error // TODO: remove this as soon as the Type Definitions are correct
9269
- receivedResponse: request.receivedResponse,
9397
+ requestId: transport_1.CoreId.from(request.receivedResponse.requestId),
9398
+ receivedResponse: content_1.Response.fromAny(request.receivedResponse),
9270
9399
  responseSourceObject: message
9271
9400
  };
9272
9401
  const consumptionRequest = await this.outgoingRequestsController.complete(params);
@@ -13948,6 +14077,81 @@ exports.CreateRelationshipChangeUseCase = CreateRelationshipChangeUseCase;
13948
14077
 
13949
14078
  /***/ }),
13950
14079
 
14080
+ /***/ "./dist/useCases/transport/relationships/GetAttributesForRelationship.js":
14081
+ /*!*******************************************************************************!*\
14082
+ !*** ./dist/useCases/transport/relationships/GetAttributesForRelationship.js ***!
14083
+ \*******************************************************************************/
14084
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
14085
+
14086
+ "use strict";
14087
+
14088
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14089
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14090
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14091
+ 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;
14092
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14093
+ };
14094
+ var __metadata = (this && this.__metadata) || function (k, v) {
14095
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14096
+ };
14097
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
14098
+ return function (target, key) { decorator(target, key, paramIndex); }
14099
+ };
14100
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
14101
+ exports.GetAttributesForRelationshipUseCase = void 0;
14102
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
14103
+ const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
14104
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
14105
+ const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
14106
+ const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
14107
+ const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
14108
+ const consumption_2 = __webpack_require__(/*! ../../consumption */ "./dist/useCases/consumption/index.js");
14109
+ let Validator = class Validator extends common_1.SchemaValidator {
14110
+ constructor(schemaRepository) {
14111
+ super(schemaRepository.getSchema("GetRelationshipRequest"));
14112
+ }
14113
+ };
14114
+ Validator = __decorate([
14115
+ __param(0, typescript_ioc_1.Inject),
14116
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
14117
+ ], Validator);
14118
+ let GetAttributesForRelationshipUseCase = class GetAttributesForRelationshipUseCase extends common_1.UseCase {
14119
+ constructor(relationshipsController, attributesController, validator) {
14120
+ super(validator);
14121
+ this.relationshipsController = relationshipsController;
14122
+ this.attributesController = attributesController;
14123
+ }
14124
+ async executeInternal(request) {
14125
+ const relationship = await this.relationshipsController.getRelationship(transport_1.CoreId.from(request.id));
14126
+ if (!relationship) {
14127
+ return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(transport_1.Relationship));
14128
+ }
14129
+ const peerAddress = relationship.peer.address.toString();
14130
+ const query = {
14131
+ $or: [
14132
+ // content.owner
14133
+ { [`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.owner)}`]: peerAddress },
14134
+ // shareInfo.peer
14135
+ { [`${(0, ts_simple_nameof_1.nameof)((x) => x.shareInfo)}.${(0, ts_simple_nameof_1.nameof)((x) => x.peer)}`]: peerAddress }
14136
+ ]
14137
+ };
14138
+ const attributes = await this.attributesController.getConsumptionAttributes(query);
14139
+ return ts_utils_1.Result.ok(consumption_2.AttributeMapper.toAttributeDTOList(attributes));
14140
+ }
14141
+ };
14142
+ GetAttributesForRelationshipUseCase = __decorate([
14143
+ __param(0, typescript_ioc_1.Inject),
14144
+ __param(1, typescript_ioc_1.Inject),
14145
+ __param(2, typescript_ioc_1.Inject),
14146
+ __metadata("design:paramtypes", [transport_1.RelationshipsController,
14147
+ consumption_1.ConsumptionAttributesController,
14148
+ Validator])
14149
+ ], GetAttributesForRelationshipUseCase);
14150
+ exports.GetAttributesForRelationshipUseCase = GetAttributesForRelationshipUseCase;
14151
+ //# sourceMappingURL=GetAttributesForRelationship.js.map
14152
+
14153
+ /***/ }),
14154
+
13951
14155
  /***/ "./dist/useCases/transport/relationships/GetRelationship.js":
13952
14156
  /*!******************************************************************!*\
13953
14157
  !*** ./dist/useCases/transport/relationships/GetRelationship.js ***!
@@ -14380,6 +14584,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
14380
14584
  __exportStar(__webpack_require__(/*! ./AcceptRelationshipChange */ "./dist/useCases/transport/relationships/AcceptRelationshipChange.js"), exports);
14381
14585
  __exportStar(__webpack_require__(/*! ./CreateRelationship */ "./dist/useCases/transport/relationships/CreateRelationship.js"), exports);
14382
14586
  __exportStar(__webpack_require__(/*! ./CreateRelationshipChange */ "./dist/useCases/transport/relationships/CreateRelationshipChange.js"), exports);
14587
+ __exportStar(__webpack_require__(/*! ./GetAttributesForRelationship */ "./dist/useCases/transport/relationships/GetAttributesForRelationship.js"), exports);
14383
14588
  __exportStar(__webpack_require__(/*! ./GetRelationship */ "./dist/useCases/transport/relationships/GetRelationship.js"), exports);
14384
14589
  __exportStar(__webpack_require__(/*! ./GetRelationshipByAddress */ "./dist/useCases/transport/relationships/GetRelationshipByAddress.js"), exports);
14385
14590
  __exportStar(__webpack_require__(/*! ./GetRelationships */ "./dist/useCases/transport/relationships/GetRelationships.js"), exports);