@nmshd/consumption 3.10.0 → 5.0.0-alpha.1

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 (108) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionController.d.ts.map +1 -1
  3. package/dist/consumption/ConsumptionController.js +1 -1
  4. package/dist/consumption/ConsumptionController.js.map +1 -1
  5. package/dist/consumption/CoreErrors.d.ts +5 -0
  6. package/dist/consumption/CoreErrors.d.ts.map +1 -1
  7. package/dist/consumption/CoreErrors.js +15 -0
  8. package/dist/consumption/CoreErrors.js.map +1 -1
  9. package/dist/modules/attributes/AttributesController.d.ts +9 -3
  10. package/dist/modules/attributes/AttributesController.d.ts.map +1 -1
  11. package/dist/modules/attributes/AttributesController.js +162 -90
  12. package/dist/modules/attributes/AttributesController.js.map +1 -1
  13. package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.d.ts +8 -0
  14. package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.d.ts.map +1 -0
  15. package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.js +12 -0
  16. package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.js.map +1 -0
  17. package/dist/modules/attributes/events/index.d.ts +1 -0
  18. package/dist/modules/attributes/events/index.d.ts.map +1 -1
  19. package/dist/modules/attributes/events/index.js +1 -0
  20. package/dist/modules/attributes/events/index.js.map +1 -1
  21. package/dist/modules/attributes/local/LocalAttribute.d.ts.map +1 -1
  22. package/dist/modules/attributes/local/LocalAttribute.js +6 -9
  23. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
  24. package/dist/modules/attributes/local/LocalAttributeShareInfo.d.ts.map +1 -1
  25. package/dist/modules/attributes/local/LocalAttributeShareInfo.js +3 -4
  26. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -1
  27. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.d.ts.map +1 -1
  28. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js +4 -5
  29. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js.map +1 -1
  30. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -1
  31. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js +3 -4
  32. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -1
  33. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -1
  34. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.js +3 -4
  35. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -1
  36. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.js +2 -2
  37. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.js.map +1 -1
  38. package/dist/modules/notifications/local/LocalNotification.js +2 -2
  39. package/dist/modules/notifications/local/LocalNotification.js.map +1 -1
  40. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +4 -1
  41. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts.map +1 -1
  42. package/dist/modules/requests/incoming/IncomingRequestsController.js +9 -3
  43. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  44. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.d.ts +3 -3
  45. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.d.ts.map +1 -1
  46. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js +1 -1
  47. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js.map +1 -1
  48. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js +1 -1
  49. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js.map +1 -1
  50. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js +1 -1
  51. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js.map +1 -1
  52. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts +2 -1
  53. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts.map +1 -1
  54. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js.map +1 -1
  55. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +2 -1
  56. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts.map +1 -1
  57. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +0 -1
  58. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  59. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +2 -1
  60. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts.map +1 -1
  61. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts.map +1 -1
  62. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +12 -6
  63. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  64. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.d.ts.map +1 -1
  65. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js +4 -7
  66. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js.map +1 -1
  67. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +2 -2
  68. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
  69. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +7 -6
  70. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts.map +1 -1
  71. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +127 -29
  72. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  73. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +1 -1
  74. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts.map +1 -1
  75. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +2 -2
  76. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
  77. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +9 -5
  78. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts.map +1 -1
  79. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +192 -23
  80. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  81. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +1 -1
  82. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts.map +1 -1
  83. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +45 -12
  84. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  85. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.d.ts +5 -0
  86. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.d.ts.map +1 -0
  87. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.js +124 -0
  88. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.js.map +1 -0
  89. package/dist/modules/requests/itemProcessors/utility/validateQuery.d.ts.map +1 -1
  90. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +0 -3
  91. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -1
  92. package/dist/modules/requests/local/LocalResponse.d.ts +2 -2
  93. package/dist/modules/requests/local/LocalResponse.d.ts.map +1 -1
  94. package/dist/modules/requests/local/LocalResponse.js.map +1 -1
  95. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +2 -2
  96. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts.map +1 -1
  97. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +17 -9
  98. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  99. package/dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.d.ts +4 -3
  100. package/dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.d.ts.map +1 -1
  101. package/dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js +7 -2
  102. package/dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js.map +1 -1
  103. package/package.json +6 -15
  104. package/lib-web/nmshd.consumption.js +0 -36384
  105. package/lib-web/nmshd.consumption.js.map +0 -1
  106. package/lib-web/nmshd.consumption.min.js +0 -3
  107. package/lib-web/nmshd.consumption.min.js.map +0 -1
  108. package/ui5.yaml +0 -9
@@ -24,7 +24,7 @@ __decorate([
24
24
  __metadata("design:type", transport_1.CoreId)
25
25
  ], CompleteIncomingRequestParameters.prototype, "requestId", void 0);
26
26
  __decorate([
27
- (0, ts_serval_1.serialize)({ unionTypes: [transport_1.Message, transport_1.RelationshipChange] }),
27
+ (0, ts_serval_1.serialize)({ unionTypes: [transport_1.Message, transport_1.Relationship] }),
28
28
  (0, ts_serval_1.validate)({ nullable: true }),
29
29
  __metadata("design:type", Object)
30
30
  ], CompleteIncomingRequestParameters.prototype, "responseSourceObject", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"CompleteIncomingRequestParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/complete/CompleteIncomingRequestParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAsF;AACtF,gDAA+G;AAO/G,MAAa,iCAAkC,SAAQ,wBAAY;IASxD,MAAM,CAAC,IAAI,CAAC,KAAyC;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACJ;AAZD,8EAYC;AATU;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,kBAAM;oEAAC;AAIlB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,mBAAO,EAAE,8BAAkB,CAAC,EAAE,CAAC;IACxD,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+EAC8B"}
1
+ {"version":3,"file":"CompleteIncomingRequestParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/complete/CompleteIncomingRequestParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAsF;AACtF,gDAAmG;AAOnG,MAAa,iCAAkC,SAAQ,wBAAY;IASxD,MAAM,CAAC,IAAI,CAAC,KAAyC;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACJ;AAZD,8EAYC;AATU;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,kBAAM;oEAAC;AAIlB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,mBAAO,EAAE,wBAAY,CAAC,EAAE,CAAC;IAClD,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+EACwB"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDecideRequestItemGroupParametersJSON = void 0;
4
4
  function isDecideRequestItemGroupParametersJSON(json) {
5
- return typeof json.items !== "undefined" && typeof json.accept === "undefined";
5
+ return json.items !== undefined && json.accept === undefined;
6
6
  }
7
7
  exports.isDecideRequestItemGroupParametersJSON = isDecideRequestItemGroupParametersJSON;
8
8
  //# sourceMappingURL=DecideRequestItemGroupParameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecideRequestItemGroupParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/DecideRequestItemGroupParameters.ts"],"names":[],"mappings":";;;AAMA,SAAgB,sCAAsC,CAAC,IAAS;IAC5D,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;AACnF,CAAC;AAFD,wFAEC"}
1
+ {"version":3,"file":"DecideRequestItemGroupParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/DecideRequestItemGroupParameters.ts"],"names":[],"mappings":";;;AAMA,SAAgB,sCAAsC,CAAC,IAAS;IAC5D,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;AACjE,CAAC;AAFD,wFAEC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isDecideRequestItemParametersJSON = void 0;
4
4
  function isDecideRequestItemParametersJSON(json) {
5
- return typeof json.items === "undefined" && typeof json.accept !== "undefined";
5
+ return json.items === undefined && json.accept !== undefined;
6
6
  }
7
7
  exports.isDecideRequestItemParametersJSON = isDecideRequestItemParametersJSON;
8
8
  //# sourceMappingURL=DecideRequestItemParameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecideRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/DecideRequestItemParameters.ts"],"names":[],"mappings":";;;AAKA,SAAgB,iCAAiC,CAAC,IAAS;IACvD,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;AACnF,CAAC;AAFD,8EAEC"}
1
+ {"version":3,"file":"DecideRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/DecideRequestItemParameters.ts"],"names":[],"mappings":";;;AAKA,SAAgB,iCAAiC,CAAC,IAAS;IACvD,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;AACjE,CAAC;AAFD,8EAEC"}
@@ -1,3 +1,4 @@
1
+ import { Event } from "@js-soft/ts-utils";
1
2
  import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content";
2
3
  import { AccountController, CoreAddress } from "@nmshd/transport";
3
4
  import { ConsumptionController } from "../../../consumption/ConsumptionController";
@@ -17,6 +18,6 @@ export declare abstract class AbstractRequestItemProcessor<TRequestItem extends
17
18
  abstract reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): RejectResponseItem | Promise<RejectResponseItem>;
18
19
  abstract canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
19
20
  abstract canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): ValidationResult | Promise<ValidationResult>;
20
- abstract applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): void | Promise<void>;
21
+ abstract applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Event | void | Promise<Event | void>;
21
22
  }
22
23
  //# sourceMappingURL=AbstractRequestItemProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/AbstractRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAElF,8BAAsB,4BAA4B,CAC9C,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,EACvF,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,CACzF,YAAW,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC;IAKvD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAHlF,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC/C,SAAS,CAAC,sBAAsB,EAAE,WAAW,CAAC;gBAER,qBAAqB,EAAE,qBAAqB;aAKlE,uCAAuC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;aAC7H,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aACxI,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aACxI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;aACzI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;aACzI,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aAC/I,4BAA4B,CACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,gBAAgB,GAC9B,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aAC/B,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACxJ"}
1
+ {"version":3,"file":"AbstractRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/AbstractRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAElF,8BAAsB,4BAA4B,CAC9C,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,EACvF,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,CACzF,YAAW,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC;IAKvD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IAHlF,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC/C,SAAS,CAAC,sBAAsB,EAAE,WAAW,CAAC;gBAER,qBAAqB,EAAE,qBAAqB;aAKlE,uCAAuC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;aAC7H,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aACxI,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aACxI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;aACzI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;aACzI,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aAC/I,4BAA4B,CACxC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,gBAAgB,GAC9B,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aAC/B,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CACxK"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/AbstractRequestItemProcessor.ts"],"names":[],"mappings":";;;AAQA,MAAsB,4BAA4B;IAS9C,YAAsC,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;QACtE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC1E,CAAC;CAcJ;AA1BD,oEA0BC"}
1
+ {"version":3,"file":"AbstractRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/AbstractRequestItemProcessor.ts"],"names":[],"mappings":";;;AASA,MAAsB,4BAA4B;IAS9C,YAAsC,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;QACtE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC1E,CAAC;CAcJ;AA1BD,oEA0BC"}
@@ -1,3 +1,4 @@
1
+ import { Event } from "@js-soft/ts-utils";
1
2
  import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content";
2
3
  import { CoreAddress } from "@nmshd/transport";
3
4
  import { ValidationResult } from "../../common/ValidationResult";
@@ -13,6 +14,6 @@ export declare class GenericRequestItemProcessor<TRequestItem extends RequestIte
13
14
  reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): RejectResponseItem | Promise<RejectResponseItem>;
14
15
  canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient?: CoreAddress): Promise<ValidationResult> | ValidationResult;
15
16
  canApplyIncomingResponseItem(responseItem: AcceptResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
16
- applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<void> | void;
17
+ applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Event | void | Promise<Event | void>;
17
18
  }
18
19
  //# sourceMappingURL=GenericRequestItemProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenericRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/GenericRequestItemProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAChI,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,2BAA2B,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,EACvF,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,CACzF,SAAQ,4BAA4B,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC;IACvE,uCAAuC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAI7H,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIxI,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIxI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzI,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIhJ,4BAA4B,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAItK,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAG/I"}
1
+ {"version":3,"file":"GenericRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/GenericRequestItemProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAChI,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,2BAA2B,CACpC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,EACvF,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,CACzF,SAAQ,4BAA4B,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC;IACvE,uCAAuC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAI7H,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIxI,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIxI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzI,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIhJ,4BAA4B,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAItK,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAG/J"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GenericRequestItemProcessor = void 0;
4
- /* eslint-disable @typescript-eslint/no-unused-vars */
5
4
  const content_1 = require("@nmshd/content");
6
5
  const ValidationResult_1 = require("../../common/ValidationResult");
7
6
  const AbstractRequestItemProcessor_1 = require("./AbstractRequestItemProcessor");
@@ -1 +1 @@
1
- {"version":3,"file":"GenericRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/GenericRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,4CAAgI;AAEhI,oEAAiE;AAGjE,iFAA8E;AAG9E,MAAa,2BAIX,SAAQ,2DAAwE;IACvE,uCAAuC,CAAC,WAAyB,EAAE,WAA6B;QACnG,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QAC5F,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,SAAS,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QAC5F,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QACzF,OAAO,4BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,MAAM,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QACzF,OAAO,4BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,4BAA4B,CAAC,WAAyB,EAAE,OAAgB,EAAE,SAAuB;QACpG,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,4BAA4B,CAAC,YAAgC,EAAE,WAAyB,EAAE,WAA6B;QAC1H,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,yBAAyB,CAAC,YAA0B,EAAE,WAAyB,EAAE,WAA6B;QACjH,aAAa;IACjB,CAAC;CACJ;AApCD,kEAoCC"}
1
+ {"version":3,"file":"GenericRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/GenericRequestItemProcessor.ts"],"names":[],"mappings":";;;AAEA,4CAAgI;AAEhI,oEAAiE;AAGjE,iFAA8E;AAG9E,MAAa,2BAIX,SAAQ,2DAAwE;IACvE,uCAAuC,CAAC,WAAyB,EAAE,WAA6B;QACnG,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QAC5F,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,SAAS,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QAC5F,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QACzF,OAAO,4BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,MAAM,CAAC,WAAyB,EAAE,MAAqB,EAAE,WAA6B;QACzF,OAAO,4BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,4BAA4B,CAAC,WAAyB,EAAE,OAAgB,EAAE,SAAuB;QACpG,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,4BAA4B,CAAC,YAAgC,EAAE,WAAyB,EAAE,WAA6B;QAC1H,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEM,yBAAyB,CAAC,YAA0B,EAAE,WAAyB,EAAE,WAA6B;QACjH,aAAa;IACjB,CAAC;CACJ;AApCD,kEAoCC"}
@@ -1,3 +1,4 @@
1
+ import { Event } from "@js-soft/ts-utils";
1
2
  import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content";
2
3
  import { CoreAddress, CoreId } from "@nmshd/transport";
3
4
  import { ValidationResult } from "../../common/ValidationResult";
@@ -15,6 +16,6 @@ export interface IRequestItemProcessor<TRequestItem extends RequestItem = Reques
15
16
  reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): Promise<RejectResponseItem> | RejectResponseItem;
16
17
  canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient?: CoreAddress): Promise<ValidationResult> | ValidationResult;
17
18
  canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
18
- applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<void> | void;
19
+ applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Event | void | Promise<Event | void>;
19
20
  }
20
21
  //# sourceMappingURL=IRequestItemProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/IRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB,CAClC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,EACvF,aAAa,SAAS,+BAA+B,GAAG,+BAA+B;IAEvF,uCAAuC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9H,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACzI,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACzI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IAC1I,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IAE1I,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACjJ,4BAA4B,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACjK,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzI"}
1
+ {"version":3,"file":"IRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/IRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB,CAClC,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,aAAa,SAAS,+BAA+B,GAAG,+BAA+B,EACvF,aAAa,SAAS,+BAA+B,GAAG,+BAA+B;IAEvF,uCAAuC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9H,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACzI,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACzI,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IAC1I,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IAE1I,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACjJ,4BAA4B,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IACjK,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CACzJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,0BAA0B,EAAqB,kBAAkB,EAAE,OAAO,EAAsB,MAAM,gBAAgB,CAAC;AACnK,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,mCAAoC,SAAQ,2BAA2B,CAAC,0BAA0B,CAAC;IAC5F,4BAA4B,CACxC,WAAW,EAAE,0BAA0B,EACvC,QAAQ,CAAC,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,WAAW,GACxB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkCzB,MAAM,CACxB,WAAW,EAAE,0BAA0B,EACvC,OAAO,EAAE,+BAA+B,EACxC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,iCAAiC,CAAC;IA+BvB,yBAAyB,CAC3C,YAAY,EAAE,iCAAiC,GAAG,kBAAkB,EACpE,WAAW,EAAE,0BAA0B,EACvC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAgBnB"}
1
+ {"version":3,"file":"CreateAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,0BAA0B,EAAqB,kBAAkB,EAAE,OAAO,EAAsB,MAAM,gBAAgB,CAAC;AACnK,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,mCAAoC,SAAQ,2BAA2B,CAAC,0BAA0B,CAAC;IAC5F,4BAA4B,CACxC,WAAW,EAAE,0BAA0B,EACvC,QAAQ,CAAC,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,WAAW,GACxB,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkDzB,MAAM,CACxB,WAAW,EAAE,0BAA0B,EACvC,OAAO,EAAE,+BAA+B,EACxC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,iCAAiC,CAAC;IA+BvB,yBAAyB,CAC3C,YAAY,EAAE,iCAAiC,GAAG,kBAAkB,EACpE,WAAW,EAAE,0BAA0B,EACvC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAgBnB"}
@@ -11,18 +11,24 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
11
11
  const senderIsAttributeOwner = requestItem.attribute.owner.equals(this.currentIdentityAddress);
12
12
  const ownerIsEmptyString = requestItem.attribute.owner.toString() === "";
13
13
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
14
+ if (recipientIsAttributeOwner || ownerIsEmptyString) {
15
+ return ValidationResult_1.ValidationResult.success();
16
+ }
14
17
  if (senderIsAttributeOwner) {
15
- return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
18
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot create own IdentityAttributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
16
19
  }
17
- if (recipientIsAttributeOwner || ownerIsEmptyString || typeof recipient === "undefined") {
18
- return ValidationResult_1.ValidationResult.success();
20
+ if (typeof recipient !== "undefined") {
21
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the provided IdentityAttribute for the `attribute` property can only be the Recipient's Address or an empty string. The latter will default to the Recipient's Address."));
19
22
  }
20
- return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be the recipient's address or an empty string. The latter will default to the recipient's address."));
23
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the provided IdentityAttribute for the `attribute` property can only be an empty string. It will default to the Recipient's Address."));
21
24
  }
22
- if (recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString || typeof recipient === "undefined") {
25
+ if (recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString) {
23
26
  return ValidationResult_1.ValidationResult.success();
24
27
  }
25
- return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given 'attribute' can only be the sender's address, the recipient's address or an empty string. The latter will default to the recipient's address."));
28
+ if (typeof recipient !== "undefined") {
29
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the provided RelationshipAttribute for the `attribute` property can only be the Sender's Address, the Recipient's Address or an empty string. The latter will default to the Recipient's Address."));
30
+ }
31
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the provided RelationshipAttribute for the `attribute` property can only be the Sender's Address or an empty string. The latter will default to the Recipient's Address."));
26
32
  }
27
33
  async accept(requestItem, _params, requestInfo) {
28
34
  if (requestItem.attribute.owner.toString() === "") {
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAAmK;AAEnK,mEAAgE;AAEhE,uEAAoE;AAEpE,gFAA6E;AAG7E,MAAa,mCAAoC,SAAQ,yDAAuD;IAC5F,4BAA4B,CACxC,WAAuC,EACvC,QAAkB,EAClB,SAAuB;QAEvB,MAAM,yBAAyB,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,sBAAsB,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/F,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QAEzE,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE,CAAC;YACrD,IAAI,sBAAsB,EAAE,CAAC;gBACzB,OAAO,mCAAgB,CAAC,KAAK,CACzB,uBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,0GAA0G,CAAC,CACrJ,CAAC;YACN,CAAC;YAED,IAAI,yBAAyB,IAAI,kBAAkB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;gBACtF,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;YACtC,CAAC;YAED,OAAO,mCAAgB,CAAC,KAAK,CACzB,uBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,gJAAgJ,CACnJ,CACJ,CAAC;QACN,CAAC;QAED,IAAI,yBAAyB,IAAI,sBAAsB,IAAI,kBAAkB,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YAChH,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,mCAAgB,CAAC,KAAK,CACzB,uBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,sKAAsK,CACzK,CACJ,CAAC;IACN,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAuC,EACvC,OAAwC,EACxC,WAA6B;QAE7B,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC9D,CAAC;QAED,IAAI,eAA+B,CAAC;QAEpC,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE,CAAC;YACrD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBACzF,OAAO,EAAE,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;YAEH,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;gBACzF,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;gBAChC,iBAAiB,EAAE,mBAAmB,CAAC,EAAE;aAC5C,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;gBACnF,OAAO,EAAE,WAAW,CAAC,SAAS;gBAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;aACnC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,2CAAiC,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,WAAW,EAAE,eAAe,CAAC,EAAE;SAClC,CAAC,CAAC;IACP,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAoE,EACpE,WAAuC,EACvC,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,2CAAiC,CAAC,EAAE,CAAC;YAC/D,OAAO;QACX,CAAC;QAED,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACjE,EAAE,EAAE,YAAY,CAAC,WAAW;YAC5B,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAC;IACP,CAAC;CACJ;AA9FD,kFA8FC"}
1
+ {"version":3,"file":"CreateAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,OAAO,EAAsB,MAAM,gBAAgB,CAAC;AACpK,OAAO,EAAE,WAAW,EAAY,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,8CAA8C,EAAE,MAAM,8CAA8C,CAAC;AAE9G,qBAAa,mCAAoC,SAAQ,2BAA2B,CAAC,0BAA0B,CAAC;IACtF,4BAA4B,CAAC,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgC5I,SAAS,CAC3B,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,8CAA8C,EACtD,YAAY,EAAE,gBAAgB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAmBN,MAAM,CACxB,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,8CAA8C,EACtD,YAAY,EAAE,gBAAgB,GAC/B,OAAO,CAAC,iCAAiC,GAAG,kBAAkB,CAAC;IAwB5C,yBAAyB,CAC3C,YAAY,EAAE,iCAAiC,GAAG,kBAAkB,GAAG,kBAAkB,EACzF,WAAW,EAAE,0BAA0B,EACvC,YAAY,EAAE,gBAAgB,GAC/B,OAAO,CAAC,IAAI,CAAC;CAwBnB"}
1
+ {"version":3,"file":"DeleteAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,OAAO,EAAsB,MAAM,gBAAgB,CAAC;AACpK,OAAO,EAAE,WAAW,EAAY,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,8CAA8C,EAAE,MAAM,8CAA8C,CAAC;AAE9G,qBAAa,mCAAoC,SAAQ,2BAA2B,CAAC,0BAA0B,CAAC;IACtF,4BAA4B,CAAC,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6B5I,SAAS,CAC3B,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,8CAA8C,EACtD,YAAY,EAAE,gBAAgB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IAiBN,MAAM,CACxB,WAAW,EAAE,0BAA0B,EACvC,MAAM,EAAE,8CAA8C,EACtD,YAAY,EAAE,gBAAgB,GAC/B,OAAO,CAAC,iCAAiC,GAAG,kBAAkB,CAAC;IAsB5C,yBAAyB,CAC3C,YAAY,EAAE,iCAAiC,GAAG,kBAAkB,GAAG,kBAAkB,EACzF,WAAW,EAAE,0BAA0B,EACvC,YAAY,EAAE,gBAAgB,GAC/B,OAAO,CAAC,IAAI,CAAC;CAwBnB"}
@@ -10,9 +10,8 @@ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
10
10
  class DeleteAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
11
11
  async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
12
12
  const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
13
- if (typeof attribute === "undefined") {
13
+ if (!attribute)
14
14
  return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`The Attribute '${requestItem.attributeId.toString()}' could not be found.`));
15
- }
16
15
  if (!attribute.isOwnSharedAttribute(this.accountController.identity.address)) {
17
16
  return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`The Attribute '${requestItem.attributeId.toString()}' is not an own shared Attribute. You can only request the deletion of own shared Attributes.`));
18
17
  }
@@ -29,9 +28,8 @@ class DeleteAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
29
28
  }
30
29
  async canAccept(requestItem, params, _requestInfo) {
31
30
  const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
32
- if (typeof attribute === "undefined") {
31
+ if (!attribute)
33
32
  return ValidationResult_1.ValidationResult.success();
34
- }
35
33
  const deletionDate = transport_1.CoreDate.from(params.deletionDate);
36
34
  if (!deletionDate.dateTime.isValid) {
37
35
  return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters("The deletionDate is invalid."));
@@ -43,9 +41,8 @@ class DeleteAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
43
41
  }
44
42
  async accept(requestItem, params, _requestInfo) {
45
43
  const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
46
- if (typeof attribute === "undefined") {
44
+ if (!attribute)
47
45
  return content_1.AcceptResponseItem.from({ result: content_1.ResponseItemResult.Accepted });
48
- }
49
46
  const deletionDate = transport_1.CoreDate.from(params.deletionDate);
50
47
  const deletionInfo = attributes_1.LocalAttributeDeletionInfo.from({
51
48
  deletionStatus: attributes_1.DeletionStatus.ToBeDeleted,
@@ -66,7 +63,7 @@ class DeleteAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
66
63
  return;
67
64
  }
68
65
  const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
69
- if (typeof attribute === "undefined")
66
+ if (!attribute)
70
67
  return;
71
68
  if (attribute.deletionInfo?.deletionStatus === attributes_1.DeletionStatus.DeletedByPeer)
72
69
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeleteAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,10 @@ const ts_simple_nameof_1 = require("ts-simple-nameof");
18
18
  const ConsumptionError_1 = require("../../../../consumption/ConsumptionError");
19
19
  let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = class AcceptProposeAttributeRequestItemParameters extends ts_serval_1.Serializable {
20
20
  isWithExistingAttribute() {
21
- return typeof this.attributeId !== "undefined";
21
+ return !!this.attributeId;
22
22
  }
23
23
  isWithNewAttribute() {
24
- return typeof this.attribute !== "undefined";
24
+ return !!this.attribute;
25
25
  }
26
26
  static from(value) {
27
27
  return this.fromAny(value);
@@ -1 +1 @@
1
- {"version":3,"file":"AcceptProposeAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8F;AAC9F,4CAA4H;AAC5H,gDAA0C;AAC1C,uDAA0C;AAC1C,+EAA4E;AAsBrE,IAAM,2CAA2C,mDAAjD,MAAM,2CAA4C,SAAQ,wBAAY;IASlE,uBAAuB;QAC1B,OAAO,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC;IACnD,CAAC;IAEM,kBAAkB;QACrB,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC;IACjD,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAsD;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,6CAA2C,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,mCAAgB,CAAC,0BAA0B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,2BAAe,CACrB,6CAA2C,CAAC,IAAI,EAChD,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACvE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,QAAQ,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACxF,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,2BAAe,CACrB,6CAA2C,CAAC,IAAI,EAChD,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACvE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,OAAO,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACvF,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAhDY,kGAA2C;AAG7C;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACR,kBAAM;gFAAC;AAIrB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8EACgC;sDAPpD,2CAA2C;IADvD,IAAA,gBAAI,EAAC,6CAA6C,CAAC;GACvC,2CAA2C,CAgDvD"}
1
+ {"version":3,"file":"AcceptProposeAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8F;AAC9F,4CAA4H;AAC5H,gDAA0C;AAC1C,uDAA0C;AAC1C,+EAA4E;AAsBrE,IAAM,2CAA2C,mDAAjD,MAAM,2CAA4C,SAAQ,wBAAY;IASlE,uBAAuB;QAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9B,CAAC;IAEM,kBAAkB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAsD;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,6CAA2C,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,mCAAgB,CAAC,0BAA0B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,2BAAe,CACrB,6CAA2C,CAAC,IAAI,EAChD,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACvE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,QAAQ,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACxF,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,2BAAe,CACrB,6CAA2C,CAAC,IAAI,EAChD,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACvE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,OAAO,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACvF,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAhDY,kGAA2C;AAG7C;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACR,kBAAM;gFAAC;AAIrB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8EACgC;sDAPpD,2CAA2C;IADvD,IAAA,gBAAI,EAAC,6CAA6C,CAAC;GACvC,2CAA2C,CAgDvD"}
@@ -1,17 +1,18 @@
1
- import { ProposeAttributeAcceptResponseItem, ProposeAttributeRequestItem, RejectResponseItem, Request } from "@nmshd/content";
1
+ import { AttributeAlreadySharedAcceptResponseItem, AttributeSuccessionAcceptResponseItem, ProposeAttributeAcceptResponseItem, ProposeAttributeRequestItem, RejectResponseItem, Request } from "@nmshd/content";
2
2
  import { CoreAddress } from "@nmshd/transport";
3
+ import { PeerSharedAttributeSucceededEvent } from "../../../attributes";
3
4
  import { ValidationResult } from "../../../common/ValidationResult";
4
5
  import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
5
6
  import { LocalRequestInfo } from "../IRequestItemProcessor";
6
7
  import { AcceptProposeAttributeRequestItemParametersJSON } from "./AcceptProposeAttributeRequestItemParameters";
7
8
  export declare class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor<ProposeAttributeRequestItem, AcceptProposeAttributeRequestItemParametersJSON> {
8
9
  canCreateOutgoingRequestItem(requestItem: ProposeAttributeRequestItem, _request: Request, recipient?: CoreAddress): ValidationResult;
9
- private validateAttribute;
10
+ private static validateAttribute;
10
11
  private validateQuery;
11
- canAccept(_requestItem: ProposeAttributeRequestItem, params: AcceptProposeAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ValidationResult>;
12
- accept(_requestItem: ProposeAttributeRequestItem, params: AcceptProposeAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ProposeAttributeAcceptResponseItem>;
13
- private copyExistingAttribute;
12
+ canAccept(requestItem: ProposeAttributeRequestItem, params: AcceptProposeAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ValidationResult>;
13
+ accept(_requestItem: ProposeAttributeRequestItem, params: AcceptProposeAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ProposeAttributeAcceptResponseItem | AttributeSuccessionAcceptResponseItem | AttributeAlreadySharedAcceptResponseItem>;
14
+ private performOwnSharedIdentityAttributeSuccession;
14
15
  private createNewAttribute;
15
- applyIncomingResponseItem(responseItem: ProposeAttributeAcceptResponseItem | RejectResponseItem, _requestItem: ProposeAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
16
+ applyIncomingResponseItem(responseItem: ProposeAttributeAcceptResponseItem | AttributeSuccessionAcceptResponseItem | AttributeAlreadySharedAcceptResponseItem | RejectResponseItem, _requestItem: ProposeAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<PeerSharedAttributeSucceededEvent | void>;
16
17
  }
17
18
  //# sourceMappingURL=ProposeAttributeRequestItemProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProposeAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,kCAAkC,EAClC,2BAA2B,EAC3B,kBAAkB,EAGlB,OAAO,EAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAA6C,MAAM,kBAAkB,CAAC;AAG1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAA+C,+CAA+C,EAAE,MAAM,+CAA+C,CAAC;AAE7J,qBAAa,oCAAqC,SAAQ,2BAA2B,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;IAC/I,4BAA4B,CAAC,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,gBAAgB;IAcpJ,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;IAiBC,SAAS,CAC3B,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAwBN,MAAM,CACxB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,kCAAkC,CAAC;YAiBhC,qBAAqB;YAQrB,kBAAkB;IAoBV,yBAAyB,CAC3C,YAAY,EAAE,kCAAkC,GAAG,kBAAkB,EACrE,YAAY,EAAE,2BAA2B,EACzC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAYnB"}
1
+ {"version":3,"file":"ProposeAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wCAAwC,EACxC,qCAAqC,EAGrC,kCAAkC,EAClC,2BAA2B,EAC3B,kBAAkB,EAGlB,OAAO,EAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAA6C,MAAM,kBAAkB,CAAC;AAG1F,OAAO,EAAqD,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAE3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAA+C,+CAA+C,EAAE,MAAM,+CAA+C,CAAC;AAE7J,qBAAa,oCAAqC,SAAQ,2BAA2B,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;IAC/I,4BAA4B,CAAC,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,gBAAgB;IAwBpJ,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAYhC,OAAO,CAAC,aAAa;IAiBC,SAAS,CAC3B,WAAW,EAAE,2BAA2B,EACxC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA8EN,MAAM,CACxB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,kCAAkC,GAAG,qCAAqC,GAAG,wCAAwC,CAAC;YAyEnH,2CAA2C;YAa3C,kBAAkB;IAoBV,yBAAyB,CAC3C,YAAY,EAAE,kCAAkC,GAAG,qCAAqC,GAAG,wCAAwC,GAAG,kBAAkB,EACxJ,YAAY,EAAE,2BAA2B,EACzC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC;CAwBvD"}
@@ -6,10 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProposeAttributeRequestItemProcessor = void 0;
7
7
  const content_1 = require("@nmshd/content");
8
8
  const transport_1 = require("@nmshd/transport");
9
+ const ts_simple_nameof_1 = require("ts-simple-nameof");
9
10
  const CoreErrors_1 = require("../../../../consumption/CoreErrors");
11
+ const attributes_1 = require("../../../attributes");
10
12
  const LocalAttribute_1 = require("../../../attributes/local/LocalAttribute");
11
13
  const ValidationResult_1 = require("../../../common/ValidationResult");
12
14
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
15
+ const validateAttributeMatchesWithQuery_1 = __importDefault(require("../utility/validateAttributeMatchesWithQuery"));
13
16
  const validateQuery_1 = __importDefault(require("../utility/validateQuery"));
14
17
  const AcceptProposeAttributeRequestItemParameters_1 = require("./AcceptProposeAttributeRequestItemParameters");
15
18
  class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
@@ -18,15 +21,19 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
18
21
  if (queryValidationResult.isError()) {
19
22
  return queryValidationResult;
20
23
  }
21
- const attributeValidationResult = this.validateAttribute(requestItem.attribute);
24
+ const attributeValidationResult = ProposeAttributeRequestItemProcessor.validateAttribute(requestItem.attribute);
22
25
  if (attributeValidationResult.isError()) {
23
26
  return attributeValidationResult;
24
27
  }
28
+ const proposedAttributeMatchesWithQueryValidationResult = (0, validateAttributeMatchesWithQuery_1.default)(requestItem.query, requestItem.attribute, transport_1.CoreAddress.from(""), this.currentIdentityAddress);
29
+ if (proposedAttributeMatchesWithQueryValidationResult.isError()) {
30
+ return proposedAttributeMatchesWithQueryValidationResult;
31
+ }
25
32
  return ValidationResult_1.ValidationResult.success();
26
33
  }
27
- validateAttribute(attribute) {
34
+ static validateAttribute(attribute) {
28
35
  if (attribute.owner.toString() !== "") {
29
- return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
36
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the Recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
30
37
  }
31
38
  return ValidationResult_1.ValidationResult.success();
32
39
  }
@@ -36,48 +43,127 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
36
43
  return commonQueryValidationResult;
37
44
  }
38
45
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
39
- return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
46
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the Recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
40
47
  }
41
48
  return ValidationResult_1.ValidationResult.success();
42
49
  }
43
- async canAccept(_requestItem, params, requestInfo) {
50
+ async canAccept(requestItem, params, requestInfo) {
44
51
  const parsedParams = AcceptProposeAttributeRequestItemParameters_1.AcceptProposeAttributeRequestItemParameters.from(params);
45
- let attribute = parsedParams.attribute;
52
+ let attribute;
46
53
  if (parsedParams.isWithExistingAttribute()) {
47
- const localAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
48
- if (!localAttribute) {
54
+ if (requestItem.query instanceof content_1.RelationshipAttributeQuery) {
55
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters("When responding to a RelationshipAttributeQuery, only new RelationshipAttributes may be provided."));
56
+ }
57
+ const foundLocalAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
58
+ if (!foundLocalAttribute) {
49
59
  return ValidationResult_1.ValidationResult.error(transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
50
60
  }
51
- attribute = localAttribute.content;
61
+ attribute = foundLocalAttribute.content;
62
+ if (requestItem.query instanceof content_1.IdentityAttributeQuery && attribute instanceof content_1.IdentityAttribute && this.accountController.identity.isMe(attribute.owner)) {
63
+ if (foundLocalAttribute.isShared()) {
64
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.attributeQueryMismatch("The provided IdentityAttribute is a shared copy of a RepositoryAttribute. You can only share RepositoryAttributes."));
65
+ }
66
+ const ownSharedIdentityAttributeSuccessors = await this.consumptionController.attributes.getSharedSuccessorsOfAttribute(foundLocalAttribute, {
67
+ "shareInfo.peer": requestInfo.peer.toString()
68
+ });
69
+ if (ownSharedIdentityAttributeSuccessors.length > 0) {
70
+ if (!ownSharedIdentityAttributeSuccessors[0].shareInfo?.sourceAttribute) {
71
+ throw new Error(`The LocalAttribute ${ownSharedIdentityAttributeSuccessors[0].id} does not have a 'shareInfo.sourceAttribute', even though it was found as a shared version of a LocalAttribute.`);
72
+ }
73
+ const successorRepositorySourceAttribute = await this.consumptionController.attributes.getLocalAttribute(ownSharedIdentityAttributeSuccessors[0].shareInfo.sourceAttribute);
74
+ if (!successorRepositorySourceAttribute) {
75
+ throw new Error(`The RepositoryAttribute ${ownSharedIdentityAttributeSuccessors[0].shareInfo.sourceAttribute} was not found.`);
76
+ }
77
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.attributeQueryMismatch(`The provided IdentityAttribute is outdated. You have already shared the successor '${ownSharedIdentityAttributeSuccessors[0].shareInfo.sourceAttribute}' of it.`));
78
+ }
79
+ }
80
+ }
81
+ else if (parsedParams.isWithNewAttribute()) {
82
+ attribute = parsedParams.attribute;
83
+ const ownerIsEmpty = attribute.owner.equals("");
84
+ if (ownerIsEmpty) {
85
+ attribute.owner = this.currentIdentityAddress;
86
+ }
52
87
  }
53
- const ownerIsEmpty = attribute.owner.equals("");
54
- const ownerIsCurrentIdentity = attribute.owner.equals(this.currentIdentityAddress);
55
- if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
56
- return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters("The given Attribute belongs to someone else. You can only share own Attributes."));
88
+ if (typeof attribute === "undefined") {
89
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters(`You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`));
57
90
  }
91
+ const answerToQueryValidationResult = (0, validateAttributeMatchesWithQuery_1.default)(requestItem.query, attribute, this.currentIdentityAddress, requestInfo.peer);
92
+ if (answerToQueryValidationResult.isError())
93
+ return answerToQueryValidationResult;
58
94
  return ValidationResult_1.ValidationResult.success();
59
95
  }
60
96
  async accept(_requestItem, params, requestInfo) {
61
97
  const parsedParams = AcceptProposeAttributeRequestItemParameters_1.AcceptProposeAttributeRequestItemParameters.from(params);
62
98
  let sharedLocalAttribute;
63
99
  if (parsedParams.isWithExistingAttribute()) {
64
- sharedLocalAttribute = await this.copyExistingAttribute(parsedParams.attributeId, requestInfo);
100
+ const existingSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
101
+ if (!existingSourceAttribute)
102
+ throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, parsedParams.attributeId.toString());
103
+ const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.attributeId, [requestInfo.peer], true);
104
+ if (latestSharedVersion.length === 0) {
105
+ sharedLocalAttribute = await this.consumptionController.attributes.createSharedLocalAttributeCopy({
106
+ sourceAttributeId: transport_1.CoreId.from(existingSourceAttribute.id),
107
+ peer: transport_1.CoreAddress.from(requestInfo.peer),
108
+ requestReference: transport_1.CoreId.from(requestInfo.id)
109
+ });
110
+ return content_1.ProposeAttributeAcceptResponseItem.from({
111
+ result: content_1.ResponseItemResult.Accepted,
112
+ attributeId: sharedLocalAttribute.id,
113
+ attribute: sharedLocalAttribute.content
114
+ });
115
+ }
116
+ const latestSharedAttribute = latestSharedVersion[0];
117
+ if (!latestSharedAttribute.shareInfo?.sourceAttribute) {
118
+ throw new Error(`The Attribute ${latestSharedAttribute.id} doesn't have a 'shareInfo.sourceAttribute', even though it was found as shared version of an Attribute.`);
119
+ }
120
+ if (latestSharedAttribute.shareInfo.sourceAttribute.toString() === existingSourceAttribute.id.toString()) {
121
+ return content_1.AttributeAlreadySharedAcceptResponseItem.from({
122
+ result: content_1.ResponseItemResult.Accepted,
123
+ attributeId: latestSharedAttribute.id
124
+ });
125
+ }
126
+ const predecessorSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(latestSharedAttribute.shareInfo.sourceAttribute);
127
+ if (!predecessorSourceAttribute)
128
+ throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, latestSharedAttribute.shareInfo.sourceAttribute.toString());
129
+ if (await this.consumptionController.attributes.isSubsequentInSuccession(predecessorSourceAttribute, existingSourceAttribute)) {
130
+ if (existingSourceAttribute.isRepositoryAttribute(this.currentIdentityAddress)) {
131
+ const successorSharedAttribute = await this.performOwnSharedIdentityAttributeSuccession(latestSharedAttribute.id, existingSourceAttribute, requestInfo);
132
+ return content_1.AttributeSuccessionAcceptResponseItem.from({
133
+ result: content_1.ResponseItemResult.Accepted,
134
+ successorId: successorSharedAttribute.id,
135
+ successorContent: successorSharedAttribute.content,
136
+ predecessorId: latestSharedAttribute.id
137
+ });
138
+ }
139
+ }
65
140
  }
66
- else {
141
+ else if (parsedParams.isWithNewAttribute()) {
142
+ if (parsedParams.attribute.owner.equals("")) {
143
+ parsedParams.attribute.owner = this.currentIdentityAddress;
144
+ }
67
145
  sharedLocalAttribute = await this.createNewAttribute(parsedParams.attribute, requestInfo);
68
146
  }
147
+ if (!sharedLocalAttribute) {
148
+ throw new Error(`You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
149
+ }
69
150
  return content_1.ProposeAttributeAcceptResponseItem.from({
70
151
  result: content_1.ResponseItemResult.Accepted,
71
152
  attributeId: sharedLocalAttribute.id,
72
153
  attribute: sharedLocalAttribute.content
73
154
  });
74
155
  }
75
- async copyExistingAttribute(attributeId, requestInfo) {
76
- return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
77
- sourceAttributeId: transport_1.CoreId.from(attributeId),
78
- peer: transport_1.CoreAddress.from(requestInfo.peer),
79
- requestReference: transport_1.CoreId.from(requestInfo.id)
80
- });
156
+ async performOwnSharedIdentityAttributeSuccession(sharedPredecessorId, sourceSuccessor, requestInfo) {
157
+ const successorParams = {
158
+ content: sourceSuccessor.content,
159
+ shareInfo: attributes_1.LocalAttributeShareInfo.from({
160
+ peer: requestInfo.peer,
161
+ requestReference: requestInfo.id,
162
+ sourceAttribute: sourceSuccessor.id
163
+ })
164
+ };
165
+ const { successor } = await this.consumptionController.attributes.succeedOwnSharedIdentityAttribute(sharedPredecessorId, successorParams);
166
+ return successor;
81
167
  }
82
168
  async createNewAttribute(attribute, requestInfo) {
83
169
  if (attribute instanceof content_1.IdentityAttribute) {
@@ -97,15 +183,27 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
97
183
  });
98
184
  }
99
185
  async applyIncomingResponseItem(responseItem, _requestItem, requestInfo) {
100
- if (!(responseItem instanceof content_1.ProposeAttributeAcceptResponseItem)) {
101
- return;
186
+ if (responseItem instanceof content_1.ProposeAttributeAcceptResponseItem) {
187
+ await this.consumptionController.attributes.createPeerLocalAttribute({
188
+ id: responseItem.attributeId,
189
+ content: responseItem.attribute,
190
+ peer: requestInfo.peer,
191
+ requestReference: requestInfo.id
192
+ });
102
193
  }
103
- await this.consumptionController.attributes.createPeerLocalAttribute({
104
- id: responseItem.attributeId,
105
- content: responseItem.attribute,
106
- peer: requestInfo.peer,
107
- requestReference: requestInfo.id
108
- });
194
+ if (responseItem instanceof content_1.AttributeSuccessionAcceptResponseItem && responseItem.successorContent instanceof content_1.IdentityAttribute) {
195
+ const successorParams = attributes_1.AttributeSuccessorParams.from({
196
+ id: responseItem.successorId,
197
+ content: responseItem.successorContent,
198
+ shareInfo: attributes_1.LocalAttributeShareInfo.from({
199
+ peer: requestInfo.peer,
200
+ requestReference: requestInfo.id
201
+ })
202
+ });
203
+ const { predecessor, successor } = await this.consumptionController.attributes.succeedPeerSharedIdentityAttribute(responseItem.predecessorId, successorParams);
204
+ return new attributes_1.PeerSharedAttributeSucceededEvent(this.currentIdentityAddress.toString(), predecessor, successor);
205
+ }
206
+ return;
109
207
  }
110
208
  }
111
209
  exports.ProposeAttributeRequestItemProcessor = ProposeAttributeRequestItemProcessor;