@nmshd/consumption 2.0.0-alpha.2 → 2.0.0-alpha.22

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 (191) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/consumption/ConsumptionBaseController.d.ts +1 -1
  3. package/dist/consumption/ConsumptionController.d.ts +9 -7
  4. package/dist/consumption/ConsumptionController.js +24 -15
  5. package/dist/consumption/ConsumptionController.js.map +1 -1
  6. package/dist/consumption/ConsumptionControllerName.d.ts +1 -1
  7. package/dist/consumption/ConsumptionControllerName.js +1 -1
  8. package/dist/consumption/ConsumptionControllerName.js.map +1 -1
  9. package/dist/consumption/ConsumptionErrors.d.ts +5 -2
  10. package/dist/consumption/ConsumptionErrors.js +12 -3
  11. package/dist/consumption/ConsumptionErrors.js.map +1 -1
  12. package/dist/consumption/ConsumptionIds.d.ts +2 -5
  13. package/dist/consumption/ConsumptionIds.js +4 -7
  14. package/dist/consumption/ConsumptionIds.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/modules/attributes/LocalAttributesController.d.ts +30 -0
  19. package/dist/modules/attributes/LocalAttributesController.js +175 -0
  20. package/dist/modules/attributes/LocalAttributesController.js.map +1 -0
  21. package/dist/modules/attributes/local/CreateLocalAttributeParams.d.ts +12 -0
  22. package/dist/modules/attributes/local/CreateLocalAttributeParams.js +26 -0
  23. package/dist/modules/attributes/local/CreateLocalAttributeParams.js.map +1 -0
  24. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.d.ts +22 -0
  25. package/dist/modules/{signatures/SignatureContent.js → attributes/local/CreatePeerLocalAttributeParams.js} +15 -32
  26. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.js.map +1 -0
  27. package/dist/modules/attributes/local/CreateRelationshipAttributeParams.d.ts +14 -0
  28. package/dist/modules/attributes/local/CreateRelationshipAttributeParams.js +40 -0
  29. package/dist/modules/attributes/local/CreateRelationshipAttributeParams.js.map +1 -0
  30. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.d.ts +18 -0
  31. package/dist/modules/{relationships/local/RelationshipAttribute.js → attributes/local/CreateSharedLocalAttributeCopyParams.js} +13 -17
  32. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +1 -0
  33. package/dist/modules/attributes/local/GetIdentityAttributesParams.d.ts +12 -0
  34. package/dist/modules/attributes/local/GetIdentityAttributesParams.js +26 -0
  35. package/dist/modules/attributes/local/GetIdentityAttributesParams.js.map +1 -0
  36. package/dist/modules/attributes/local/GetRelationshipAttributesParams.d.ts +12 -0
  37. package/dist/modules/attributes/local/GetRelationshipAttributesParams.js +26 -0
  38. package/dist/modules/attributes/local/GetRelationshipAttributesParams.js.map +1 -0
  39. package/dist/modules/attributes/local/LocalAttribute.d.ts +28 -0
  40. package/dist/modules/attributes/local/{ConsumptionAttribute.js → LocalAttribute.js} +29 -23
  41. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -0
  42. package/dist/modules/attributes/local/LocalAttributeShareInfo.d.ts +17 -0
  43. package/dist/modules/attributes/local/LocalAttributeShareInfo.js +36 -0
  44. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -0
  45. package/dist/modules/attributes/local/QueryTranslator.d.ts +3 -0
  46. package/dist/modules/attributes/local/QueryTranslator.js +114 -0
  47. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -0
  48. package/dist/modules/attributes/local/SucceedLocalAttributeParams.d.ts +16 -0
  49. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js +32 -0
  50. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js.map +1 -0
  51. package/dist/modules/attributes/local/UpdateLocalAttributeParams.d.ts +16 -0
  52. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js +32 -0
  53. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js.map +1 -0
  54. package/dist/modules/drafts/DraftsController.d.ts +1 -1
  55. package/dist/modules/drafts/DraftsController.js.map +1 -1
  56. package/dist/modules/index.d.ts +27 -16
  57. package/dist/modules/index.js +27 -16
  58. package/dist/modules/index.js.map +1 -1
  59. package/dist/modules/requests/incoming/DecideRequestParametersValidator.d.ts +7 -3
  60. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +55 -1
  61. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  62. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +17 -18
  63. package/dist/modules/requests/incoming/IncomingRequestsController.js +81 -77
  64. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  65. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.d.ts +2 -6
  66. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js +0 -18
  67. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js.map +1 -1
  68. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.d.ts +4 -8
  69. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js +5 -25
  70. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js.map +1 -1
  71. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.d.ts +4 -5
  72. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js +4 -4
  73. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js.map +1 -1
  74. package/dist/modules/requests/incoming/decide/DecideRequestParameters.d.ts +5 -11
  75. package/dist/modules/requests/incoming/decide/DecideRequestParameters.js +0 -27
  76. package/dist/modules/requests/incoming/decide/DecideRequestParameters.js.map +1 -1
  77. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.d.ts +15 -0
  78. package/dist/modules/{relationships/local/RelationshipTheme.js → requests/incoming/decide/InternalDecideRequestParameters.js} +16 -20
  79. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -0
  80. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.d.ts +2 -8
  81. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.js +0 -31
  82. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.js.map +1 -1
  83. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts +21 -0
  84. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js +12 -0
  85. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js.map +1 -0
  86. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +15 -13
  87. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +11 -9
  88. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  89. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +17 -12
  90. package/dist/modules/requests/itemProcessors/ProcessorConstructor.d.ts +3 -0
  91. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js +3 -0
  92. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js.map +1 -0
  93. package/dist/modules/requests/itemProcessors/RequestItemConstructor.d.ts +2 -0
  94. package/dist/modules/requests/itemProcessors/RequestItemConstructor.js +3 -0
  95. package/dist/modules/requests/itemProcessors/RequestItemConstructor.js.map +1 -0
  96. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.d.ts +8 -6
  97. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +10 -9
  98. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  99. package/dist/modules/requests/itemProcessors/ValidationResult.d.ts +7 -7
  100. package/dist/modules/requests/itemProcessors/ValidationResult.js +11 -11
  101. package/dist/modules/requests/itemProcessors/ValidationResult.js.map +1 -1
  102. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.d.ts +7 -0
  103. package/dist/modules/requests/{incoming/decide/RejectRequestParameters.js → itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js} +7 -8
  104. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js.map +1 -0
  105. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +13 -0
  106. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +55 -0
  107. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -0
  108. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.d.ts +20 -0
  109. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +47 -0
  110. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -0
  111. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +14 -0
  112. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +88 -0
  113. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -0
  114. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +14 -0
  115. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +47 -0
  116. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -0
  117. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +14 -0
  118. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +88 -0
  119. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -0
  120. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.d.ts +7 -0
  121. package/dist/modules/requests/{incoming/decide/AcceptRequestParameters.js → itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js} +7 -8
  122. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js.map +1 -0
  123. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +15 -0
  124. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +93 -0
  125. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -0
  126. package/dist/modules/requests/itemProcessors/utility/validateQuery.d.ts +4 -0
  127. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +21 -0
  128. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -0
  129. package/dist/modules/requests/local/LocalRequest.d.ts +37 -0
  130. package/dist/modules/requests/local/{ConsumptionRequest.js → LocalRequest.js} +32 -32
  131. package/dist/modules/requests/local/LocalRequest.js.map +1 -0
  132. package/dist/modules/requests/local/{ConsumptionRequestStatus.d.ts → LocalRequestStatus.d.ts} +1 -1
  133. package/dist/modules/requests/local/LocalRequestStatus.js +13 -0
  134. package/dist/modules/requests/local/LocalRequestStatus.js.map +1 -0
  135. package/dist/modules/requests/local/LocalRequestStatusLogEntry.d.ts +17 -0
  136. package/dist/modules/requests/local/{ConsumptionRequestStatusLogEntry.js → LocalRequestStatusLogEntry.js} +13 -13
  137. package/dist/modules/requests/local/LocalRequestStatusLogEntry.js.map +1 -0
  138. package/dist/modules/requests/local/LocalResponse.d.ts +22 -0
  139. package/dist/modules/requests/local/{ConsumptionResponse.js → LocalResponse.js} +18 -18
  140. package/dist/modules/requests/local/LocalResponse.js.map +1 -0
  141. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +11 -11
  142. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +59 -46
  143. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  144. package/dist/modules/settings/SettingsController.d.ts +1 -1
  145. package/dist/modules/settings/SettingsController.js.map +1 -1
  146. package/lib-web/nmshd.consumption.js +11259 -2161
  147. package/lib-web/nmshd.consumption.js.map +1 -1
  148. package/lib-web/nmshd.consumption.min.js +1 -1
  149. package/lib-web/nmshd.consumption.min.js.map +1 -1
  150. package/package.json +27 -23
  151. package/dist/modules/attributes/ConsumptionAttributesController.d.ts +0 -22
  152. package/dist/modules/attributes/ConsumptionAttributesController.js +0 -141
  153. package/dist/modules/attributes/ConsumptionAttributesController.js.map +0 -1
  154. package/dist/modules/attributes/local/ConsumptionAttribute.d.ts +0 -19
  155. package/dist/modules/attributes/local/ConsumptionAttribute.js.map +0 -1
  156. package/dist/modules/relationships/RelationshipInfoController.d.ts +0 -15
  157. package/dist/modules/relationships/RelationshipInfoController.js +0 -61
  158. package/dist/modules/relationships/RelationshipInfoController.js.map +0 -1
  159. package/dist/modules/relationships/RelationshipInfoUtil.d.ts +0 -15
  160. package/dist/modules/relationships/RelationshipInfoUtil.js +0 -219
  161. package/dist/modules/relationships/RelationshipInfoUtil.js.map +0 -1
  162. package/dist/modules/relationships/local/RelationshipAttribute.d.ts +0 -14
  163. package/dist/modules/relationships/local/RelationshipAttribute.js.map +0 -1
  164. package/dist/modules/relationships/local/RelationshipInfo.d.ts +0 -27
  165. package/dist/modules/relationships/local/RelationshipInfo.js +0 -97
  166. package/dist/modules/relationships/local/RelationshipInfo.js.map +0 -1
  167. package/dist/modules/relationships/local/RelationshipTheme.d.ts +0 -14
  168. package/dist/modules/relationships/local/RelationshipTheme.js.map +0 -1
  169. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.d.ts +0 -6
  170. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.js.map +0 -1
  171. package/dist/modules/requests/incoming/decide/RejectRequestParameters.d.ts +0 -6
  172. package/dist/modules/requests/incoming/decide/RejectRequestParameters.js.map +0 -1
  173. package/dist/modules/requests/local/ConsumptionRequest.d.ts +0 -37
  174. package/dist/modules/requests/local/ConsumptionRequest.js.map +0 -1
  175. package/dist/modules/requests/local/ConsumptionRequestStatus.js +0 -13
  176. package/dist/modules/requests/local/ConsumptionRequestStatus.js.map +0 -1
  177. package/dist/modules/requests/local/ConsumptionRequestStatusLogEntry.d.ts +0 -17
  178. package/dist/modules/requests/local/ConsumptionRequestStatusLogEntry.js.map +0 -1
  179. package/dist/modules/requests/local/ConsumptionResponse.d.ts +0 -22
  180. package/dist/modules/requests/local/ConsumptionResponse.js.map +0 -1
  181. package/dist/modules/sharedItems/SharedItemsController.d.ts +0 -14
  182. package/dist/modules/sharedItems/SharedItemsController.js +0 -40
  183. package/dist/modules/sharedItems/SharedItemsController.js.map +0 -1
  184. package/dist/modules/sharedItems/local/SharedItem.d.ts +0 -31
  185. package/dist/modules/sharedItems/local/SharedItem.js +0 -100
  186. package/dist/modules/sharedItems/local/SharedItem.js.map +0 -1
  187. package/dist/modules/signatures/Signature.d.ts +0 -16
  188. package/dist/modules/signatures/Signature.js +0 -56
  189. package/dist/modules/signatures/Signature.js.map +0 -1
  190. package/dist/modules/signatures/SignatureContent.d.ts +0 -21
  191. package/dist/modules/signatures/SignatureContent.js.map +0 -1
@@ -9,35 +9,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RelationshipTheme = void 0;
12
+ exports.InternalDecideRequestParameters = void 0;
13
13
  const ts_serval_1 = require("@js-soft/ts-serval");
14
- let RelationshipTheme = class RelationshipTheme extends ts_serval_1.Serializable {
14
+ const transport_1 = require("@nmshd/transport");
15
+ let InternalDecideRequestParameters = class InternalDecideRequestParameters extends ts_serval_1.Serializable {
15
16
  static from(value) {
16
17
  return this.fromAny(value);
17
18
  }
18
19
  };
19
20
  __decorate([
20
- (0, ts_serval_1.validate)(),
21
21
  (0, ts_serval_1.serialize)(),
22
- __metadata("design:type", String)
23
- ], RelationshipTheme.prototype, "image", void 0);
24
- __decorate([
25
22
  (0, ts_serval_1.validate)(),
26
- (0, ts_serval_1.serialize)(),
27
- __metadata("design:type", String)
28
- ], RelationshipTheme.prototype, "imageBar", void 0);
23
+ __metadata("design:type", transport_1.CoreId)
24
+ ], InternalDecideRequestParameters.prototype, "requestId", void 0);
29
25
  __decorate([
30
- (0, ts_serval_1.validate)(),
31
26
  (0, ts_serval_1.serialize)(),
32
- __metadata("design:type", String)
33
- ], RelationshipTheme.prototype, "backgroundColor", void 0);
34
- __decorate([
35
27
  (0, ts_serval_1.validate)(),
28
+ __metadata("design:type", Array)
29
+ ], InternalDecideRequestParameters.prototype, "items", void 0);
30
+ __decorate([
36
31
  (0, ts_serval_1.serialize)(),
37
- __metadata("design:type", String)
38
- ], RelationshipTheme.prototype, "foregroundColor", void 0);
39
- RelationshipTheme = __decorate([
40
- (0, ts_serval_1.type)("RelationshipTheme")
41
- ], RelationshipTheme);
42
- exports.RelationshipTheme = RelationshipTheme;
43
- //# sourceMappingURL=RelationshipTheme.js.map
32
+ (0, ts_serval_1.validate)(),
33
+ __metadata("design:type", Boolean)
34
+ ], InternalDecideRequestParameters.prototype, "accept", void 0);
35
+ InternalDecideRequestParameters = __decorate([
36
+ (0, ts_serval_1.type)("InternalDecideRequestParameters")
37
+ ], InternalDecideRequestParameters);
38
+ exports.InternalDecideRequestParameters = InternalDecideRequestParameters;
39
+ //# sourceMappingURL=InternalDecideRequestParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalDecideRequestParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/InternalDecideRequestParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA4E;AAC5E,gDAAyC;AAWzC,IAAa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,wBAAY;IAatD,MAAM,CAAC,IAAI,CAAC,KAA0C;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAbG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,kBAAM;kEAAA;AAIxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;8DAC6E;AAIxF;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;+DACW;AAXb,+BAA+B;IAD3C,IAAA,gBAAI,EAAC,iCAAiC,CAAC;GAC3B,+BAA+B,CAgB3C;AAhBY,0EAA+B"}
@@ -1,11 +1,5 @@
1
- import { ISerializable } from "@js-soft/ts-serval";
2
- import { DecideRequestItemParameters } from "./DecideRequestItemParameters";
3
- export interface IRejectRequestItemParameters extends ISerializable {
1
+ export interface RejectRequestItemParametersJSON {
2
+ accept: false;
4
3
  code?: string;
5
4
  message?: string;
6
5
  }
7
- export declare class RejectRequestItemParameters extends DecideRequestItemParameters implements IRejectRequestItemParameters {
8
- code?: string;
9
- message?: string;
10
- static from(value: IRejectRequestItemParameters): RejectRequestItemParameters;
11
- }
@@ -1,34 +1,3 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RejectRequestItemParameters = void 0;
13
- const ts_serval_1 = require("@js-soft/ts-serval");
14
- const DecideRequestItemParameters_1 = require("./DecideRequestItemParameters");
15
- let RejectRequestItemParameters = class RejectRequestItemParameters extends DecideRequestItemParameters_1.DecideRequestItemParameters {
16
- static from(value) {
17
- return this.fromAny(value);
18
- }
19
- };
20
- __decorate([
21
- (0, ts_serval_1.serialize)(),
22
- (0, ts_serval_1.validate)({ nullable: true }),
23
- __metadata("design:type", String)
24
- ], RejectRequestItemParameters.prototype, "code", void 0);
25
- __decorate([
26
- (0, ts_serval_1.serialize)(),
27
- (0, ts_serval_1.validate)({ nullable: true }),
28
- __metadata("design:type", String)
29
- ], RejectRequestItemParameters.prototype, "message", void 0);
30
- RejectRequestItemParameters = __decorate([
31
- (0, ts_serval_1.type)("RejectRequestItemParameters")
32
- ], RejectRequestItemParameters);
33
- exports.RejectRequestItemParameters = RejectRequestItemParameters;
34
3
  //# sourceMappingURL=RejectRequestItemParameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RejectRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/RejectRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA6E;AAC7E,+EAA2E;AAQ3E,IAAa,2BAA2B,GAAxC,MAAa,2BAA4B,SAAQ,yDAA2B;IASjE,MAAM,CAAC,IAAI,CAAC,KAAmC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AATG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACT;AAIpB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACN;AAPd,2BAA2B;IADvC,IAAA,gBAAI,EAAC,6BAA6B,CAAC;GACvB,2BAA2B,CAYvC;AAZY,kEAA2B"}
1
+ {"version":3,"file":"RejectRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/incoming/decide/RejectRequestItemParameters.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content";
2
+ import { AccountController, CoreAddress } from "@nmshd/transport";
3
+ import { ConsumptionController } from "../../../consumption/ConsumptionController";
4
+ import { AcceptRequestItemParametersJSON } from "../incoming/decide/AcceptRequestItemParameters";
5
+ import { RejectRequestItemParametersJSON } from "../incoming/decide/RejectRequestItemParameters";
6
+ import { IRequestItemProcessor, LocalRequestInfo } from "./IRequestItemProcessor";
7
+ import { ValidationResult } from "./ValidationResult";
8
+ export declare abstract class AbstractRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParametersJSON = AcceptRequestItemParametersJSON, TRejectParams extends RejectRequestItemParametersJSON = RejectRequestItemParametersJSON> implements IRequestItemProcessor<TRequestItem, TAcceptParams, TRejectParams> {
9
+ protected readonly consumptionController: ConsumptionController;
10
+ protected accountController: AccountController;
11
+ protected currentIdentityAddress: CoreAddress;
12
+ constructor(consumptionController: ConsumptionController);
13
+ abstract checkPrerequisitesOfIncomingRequestItem(requestItem: TRequestItem, requestInfo: LocalRequestInfo): boolean | Promise<boolean>;
14
+ abstract canAccept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): ValidationResult | Promise<ValidationResult>;
15
+ abstract canReject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): ValidationResult | Promise<ValidationResult>;
16
+ abstract accept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): AcceptResponseItem | Promise<AcceptResponseItem>;
17
+ abstract reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): RejectResponseItem | Promise<RejectResponseItem>;
18
+ abstract canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
19
+ abstract canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): ValidationResult | Promise<ValidationResult>;
20
+ abstract applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): void | Promise<void>;
21
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractRequestItemProcessor = void 0;
4
+ class AbstractRequestItemProcessor {
5
+ constructor(consumptionController) {
6
+ this.consumptionController = consumptionController;
7
+ this.accountController = this.consumptionController.accountController;
8
+ this.currentIdentityAddress = this.accountController.identity.address;
9
+ }
10
+ }
11
+ exports.AbstractRequestItemProcessor = AbstractRequestItemProcessor;
12
+ //# sourceMappingURL=AbstractRequestItemProcessor.js.map
@@ -0,0 +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,CAAA;QACrE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAA;IACzE,CAAC;CAyCJ;AArDD,oEAqDC"}
@@ -1,15 +1,17 @@
1
- import { AcceptResponseItem, RejectResponseItem, RequestItem, ResponseItem } from "@nmshd/content";
2
- import { AcceptRequestItemParameters } from "../incoming/decide/AcceptRequestItemParameters";
3
- import { RejectRequestItemParameters } from "../incoming/decide/RejectRequestItemParameters";
4
- import { IRequestItemProcessor } from "./IRequestItemProcessor";
1
+ import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content";
2
+ import { CoreAddress } from "@nmshd/transport";
3
+ import { AcceptRequestItemParametersJSON } from "../incoming/decide/AcceptRequestItemParameters";
4
+ import { RejectRequestItemParametersJSON } from "../incoming/decide/RejectRequestItemParameters";
5
+ import { AbstractRequestItemProcessor } from "./AbstractRequestItemProcessor";
6
+ import { LocalRequestInfo } from "./IRequestItemProcessor";
5
7
  import { ValidationResult } from "./ValidationResult";
6
- export declare class GenericRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParameters = AcceptRequestItemParameters, TRejectParams extends RejectRequestItemParameters = RejectRequestItemParameters> implements IRequestItemProcessor<TRequestItem, TAcceptParams, TRejectParams> {
7
- checkPrerequisitesOfIncomingRequestItem(_requestItem: TRequestItem): Promise<boolean> | boolean;
8
- canAccept(_requestItem: TRequestItem, _params: TAcceptParams): Promise<ValidationResult> | ValidationResult;
9
- canReject(_requestItem: TRequestItem, _params: TRejectParams): Promise<ValidationResult> | ValidationResult;
10
- accept(requestItem: TRequestItem, _params: TAcceptParams): AcceptResponseItem;
11
- reject(requestItem: TRequestItem, _params: TRejectParams): RejectResponseItem;
12
- canApplyIncomingResponseItem(_responseItem: AcceptResponseItem, _requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
13
- canCreateOutgoingRequestItem(_requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
14
- applyIncomingResponseItem(_responseItem: ResponseItem, _requestItem: TRequestItem): Promise<void> | void;
8
+ export declare class GenericRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParametersJSON = AcceptRequestItemParametersJSON, TRejectParams extends RejectRequestItemParametersJSON = RejectRequestItemParametersJSON> extends AbstractRequestItemProcessor<TRequestItem, TAcceptParams, TRejectParams> {
9
+ checkPrerequisitesOfIncomingRequestItem(requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<boolean> | boolean;
10
+ canAccept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
11
+ canReject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
12
+ accept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): AcceptResponseItem | Promise<AcceptResponseItem>;
13
+ reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): RejectResponseItem | Promise<RejectResponseItem>;
14
+ canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient: CoreAddress): Promise<ValidationResult> | ValidationResult;
15
+ canApplyIncomingResponseItem(responseItem: AcceptResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
16
+ applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<void> | void;
15
17
  }
@@ -1,37 +1,39 @@
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 */
4
5
  const content_1 = require("@nmshd/content");
6
+ const AbstractRequestItemProcessor_1 = require("./AbstractRequestItemProcessor");
5
7
  const ValidationResult_1 = require("./ValidationResult");
6
- class GenericRequestItemProcessor {
7
- checkPrerequisitesOfIncomingRequestItem(_requestItem) {
8
+ class GenericRequestItemProcessor extends AbstractRequestItemProcessor_1.AbstractRequestItemProcessor {
9
+ checkPrerequisitesOfIncomingRequestItem(requestItem, requestInfo) {
8
10
  return true;
9
11
  }
10
- canAccept(_requestItem, _params) {
12
+ canAccept(requestItem, params, requestInfo) {
11
13
  return ValidationResult_1.ValidationResult.success();
12
14
  }
13
- canReject(_requestItem, _params) {
15
+ canReject(requestItem, params, requestInfo) {
14
16
  return ValidationResult_1.ValidationResult.success();
15
17
  }
16
- accept(requestItem, _params) {
18
+ accept(requestItem, params, requestInfo) {
17
19
  return content_1.AcceptResponseItem.from({
18
20
  result: content_1.ResponseItemResult.Accepted,
19
21
  metadata: requestItem.responseMetadata
20
22
  });
21
23
  }
22
- reject(requestItem, _params) {
24
+ reject(requestItem, params, requestInfo) {
23
25
  return content_1.RejectResponseItem.from({
24
26
  result: content_1.ResponseItemResult.Rejected,
25
27
  metadata: requestItem.responseMetadata
26
28
  });
27
29
  }
28
- canApplyIncomingResponseItem(_responseItem, _requestItem) {
30
+ canCreateOutgoingRequestItem(requestItem, request, recipient) {
29
31
  return ValidationResult_1.ValidationResult.success();
30
32
  }
31
- canCreateOutgoingRequestItem(_requestItem) {
33
+ canApplyIncomingResponseItem(responseItem, requestItem, requestInfo) {
32
34
  return ValidationResult_1.ValidationResult.success();
33
35
  }
34
- applyIncomingResponseItem(_responseItem, _requestItem) {
36
+ applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
35
37
  // do nothing
36
38
  }
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GenericRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/GenericRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAAsH;AAItH,yDAAqD;AAErD,MAAa,2BAA2B;IAM7B,uCAAuC,CAAC,YAA0B;QACrE,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,SAAS,CAAC,YAA0B,EAAE,OAAsB;QAC/D,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,SAAS,CAAC,YAA0B,EAAE,OAAsB;QAC/D,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CAAC,WAAyB,EAAE,OAAsB;QAC3D,OAAO,4BAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;SACzC,CAAC,CAAA;IACN,CAAC;IAEM,MAAM,CAAC,WAAyB,EAAE,OAAsB;QAC3D,OAAO,4BAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;SACzC,CAAC,CAAA;IACN,CAAC;IAEM,4BAA4B,CAC/B,aAAiC,EACjC,YAA0B;QAE1B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,4BAA4B,CAAC,YAA0B;QAC1D,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,yBAAyB,CAAC,aAA2B,EAAE,YAA0B;QACpF,aAAa;IACjB,CAAC;CACJ;AA9CD,kEA8CC"}
1
+ {"version":3,"file":"GenericRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/GenericRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,4CAOuB;AAIvB,iFAA6E;AAE7E,yDAAqD;AAErD,MAAa,2BAIX,SAAQ,2DAAwE;IACvE,uCAAuC,CAC1C,WAAyB,EACzB,WAA6B;QAE7B,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,SAAS,CACZ,WAAyB,EACzB,MAAqB,EACrB,WAA6B;QAE7B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,SAAS,CACZ,WAAyB,EACzB,MAAqB,EACrB,WAA6B;QAE7B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CACT,WAAyB,EACzB,MAAqB,EACrB,WAA6B;QAE7B,OAAO,4BAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;SACzC,CAAC,CAAA;IACN,CAAC;IAEM,MAAM,CACT,WAAyB,EACzB,MAAqB,EACrB,WAA6B;QAE7B,OAAO,4BAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;SACzC,CAAC,CAAA;IACN,CAAC;IAEM,4BAA4B,CAC/B,WAAyB,EACzB,OAAgB,EAChB,SAAsB;QAEtB,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,4BAA4B,CAC/B,YAAgC,EAChC,WAAyB,EACzB,WAA6B;QAE7B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,yBAAyB,CAC5B,YAA0B,EAC1B,WAAyB,EACzB,WAA6B;QAE7B,aAAa;IACjB,CAAC;CACJ;AAzED,kEAyEC"}
@@ -1,14 +1,19 @@
1
- import { AcceptResponseItem, RejectResponseItem, RequestItem, ResponseItem } from "@nmshd/content";
2
- import { AcceptRequestItemParameters } from "../incoming/decide/AcceptRequestItemParameters";
3
- import { RejectRequestItemParameters } from "../incoming/decide/RejectRequestItemParameters";
1
+ import { AcceptResponseItem, RejectResponseItem, Request, RequestItem, ResponseItem } from "@nmshd/content";
2
+ import { CoreAddress, CoreId } from "@nmshd/transport";
3
+ import { AcceptRequestItemParametersJSON } from "../incoming/decide/AcceptRequestItemParameters";
4
+ import { RejectRequestItemParametersJSON } from "../incoming/decide/RejectRequestItemParameters";
4
5
  import { ValidationResult } from "./ValidationResult";
5
- export interface IRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParameters = AcceptRequestItemParameters, TRejectParams extends RejectRequestItemParameters = RejectRequestItemParameters> {
6
- checkPrerequisitesOfIncomingRequestItem(requestItem: TRequestItem): Promise<boolean> | boolean;
7
- canAccept(requestItem: TRequestItem, params: TAcceptParams): Promise<ValidationResult> | ValidationResult;
8
- canReject(requestItem: TRequestItem, params: TRejectParams): Promise<ValidationResult> | ValidationResult;
9
- accept(requestItem: TRequestItem, params: TAcceptParams): Promise<AcceptResponseItem> | AcceptResponseItem;
10
- reject(requestItem: TRequestItem, params: TRejectParams): Promise<RejectResponseItem> | RejectResponseItem;
11
- canCreateOutgoingRequestItem(requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
12
- canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
13
- applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem): Promise<void> | void;
6
+ export interface LocalRequestInfo {
7
+ id: CoreId;
8
+ peer: CoreAddress;
9
+ }
10
+ export interface IRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParametersJSON = AcceptRequestItemParametersJSON, TRejectParams extends RejectRequestItemParametersJSON = RejectRequestItemParametersJSON> {
11
+ checkPrerequisitesOfIncomingRequestItem(requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<boolean> | boolean;
12
+ canAccept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
13
+ canReject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
14
+ accept(requestItem: TRequestItem, params: TAcceptParams, requestInfo: LocalRequestInfo): Promise<AcceptResponseItem> | AcceptResponseItem;
15
+ reject(requestItem: TRequestItem, params: TRejectParams, requestInfo: LocalRequestInfo): Promise<RejectResponseItem> | RejectResponseItem;
16
+ canCreateOutgoingRequestItem(requestItem: TRequestItem, request: Request, recipient: CoreAddress): Promise<ValidationResult> | ValidationResult;
17
+ canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<ValidationResult> | ValidationResult;
18
+ applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, requestInfo: LocalRequestInfo): Promise<void> | void;
14
19
  }
@@ -0,0 +1,3 @@
1
+ import { ConsumptionController } from "../../../consumption/ConsumptionController";
2
+ import { IRequestItemProcessor } from "./IRequestItemProcessor";
3
+ export declare type ProcessorConstructor = new (consumptionController: ConsumptionController) => IRequestItemProcessor;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ProcessorConstructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessorConstructor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/ProcessorConstructor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { RequestItem } from "@nmshd/content";
2
+ export declare type RequestItemConstructor = new () => RequestItem;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RequestItemConstructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestItemConstructor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/RequestItemConstructor.ts"],"names":[],"mappings":""}
@@ -1,11 +1,13 @@
1
1
  import { RequestItem } from "@nmshd/content";
2
+ import { ConsumptionController } from "../../../consumption/ConsumptionController";
2
3
  import { IRequestItemProcessor } from "./IRequestItemProcessor";
3
- declare type ProcessorConstructor = new () => IRequestItemProcessor;
4
- declare type RequestItemConstructor = new () => RequestItem;
4
+ import { ProcessorConstructor } from "./ProcessorConstructor";
5
+ import { RequestItemConstructor } from "./RequestItemConstructor";
5
6
  export declare class RequestItemProcessorRegistry {
6
- private readonly registry;
7
- registerProcessor(processorConstructor: ProcessorConstructor, itemConstructor: RequestItemConstructor): void;
8
- replaceProcessor(processorConstructor: ProcessorConstructor, itemConstructor: RequestItemConstructor): void;
7
+ private readonly consumptionController;
8
+ private readonly processors;
9
+ constructor(consumptionController: ConsumptionController, processors?: Map<RequestItemConstructor, ProcessorConstructor | undefined>);
10
+ registerProcessor(itemConstructor: RequestItemConstructor, processorConstructor: ProcessorConstructor): void;
11
+ registerOrReplaceProcessor(itemConstructor: RequestItemConstructor, processorConstructor: ProcessorConstructor): void;
9
12
  getProcessorForItem(item: RequestItem): IRequestItemProcessor;
10
13
  }
11
- export {};
@@ -2,24 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RequestItemProcessorRegistry = void 0;
4
4
  class RequestItemProcessorRegistry {
5
- constructor() {
6
- this.registry = {};
5
+ constructor(consumptionController, processors = new Map()) {
6
+ this.consumptionController = consumptionController;
7
+ this.processors = processors;
7
8
  }
8
- registerProcessor(processorConstructor, itemConstructor) {
9
- if (this.registry.hasOwnProperty(itemConstructor.name)) {
9
+ registerProcessor(itemConstructor, processorConstructor) {
10
+ if (this.processors.has(itemConstructor)) {
10
11
  throw new Error(`There is already a processor registered for '${itemConstructor.name}''. Use 'replaceProcessorForType' if you want to replace it.`);
11
12
  }
12
- this.registry[itemConstructor.name] = processorConstructor;
13
+ this.processors.set(itemConstructor, processorConstructor);
13
14
  }
14
- replaceProcessor(processorConstructor, itemConstructor) {
15
- this.registry[itemConstructor.name] = processorConstructor;
15
+ registerOrReplaceProcessor(itemConstructor, processorConstructor) {
16
+ this.processors.set(itemConstructor, processorConstructor);
16
17
  }
17
18
  getProcessorForItem(item) {
18
- const constructor = this.registry[item.constructor.name];
19
+ const constructor = this.processors.get(item.constructor);
19
20
  if (!constructor) {
20
21
  throw new Error(`There was no processor registered for '${item.constructor.name}'.`);
21
22
  }
22
- return new constructor();
23
+ return new constructor(this.consumptionController);
23
24
  }
24
25
  }
25
26
  exports.RequestItemProcessorRegistry = RequestItemProcessorRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestItemProcessorRegistry.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/RequestItemProcessorRegistry.ts"],"names":[],"mappings":";;;AAMA,MAAa,4BAA4B;IAAzC;QACqB,aAAQ,GAAqD,EAAE,CAAA;IAyBpF,CAAC;IAvBU,iBAAiB,CACpB,oBAA0C,EAC1C,eAAuC;QAEvC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CACX,gDAAgD,eAAe,CAAC,IAAI,8DAA8D,CACrI,CAAA;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAA;IAC9D,CAAC;IAEM,gBAAgB,CAAC,oBAA0C,EAAE,eAAuC;QACvG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAA;IAC9D,CAAC;IAEM,mBAAmB,CAAC,IAAiB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAA;SACvF;QACD,OAAO,IAAI,WAAW,EAAE,CAAA;IAC5B,CAAC;CACJ;AA1BD,oEA0BC"}
1
+ {"version":3,"file":"RequestItemProcessorRegistry.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/RequestItemProcessorRegistry.ts"],"names":[],"mappings":";;;AAMA,MAAa,4BAA4B;IACrC,YACqB,qBAA4C,EAC5C,aAAa,IAAI,GAAG,EAA4D;QADhF,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,eAAU,GAAV,UAAU,CAAsE;IAClG,CAAC;IAEG,iBAAiB,CACpB,eAAuC,EACvC,oBAA0C;QAE1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CACX,gDAAgD,eAAe,CAAC,IAAI,8DAA8D,CACrI,CAAA;SACJ;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;IAC9D,CAAC;IAEM,0BAA0B,CAC7B,eAAuC,EACvC,oBAA0C;QAE1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;IAC9D,CAAC;IAEM,mBAAmB,CAAC,IAAiB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAqC,CAAC,CAAA;QACnF,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAA;SACvF;QACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACtD,CAAC;CACJ;AAhCD,oEAgCC"}
@@ -1,17 +1,17 @@
1
+ import { ApplicationError } from "@js-soft/ts-utils";
1
2
  export declare abstract class ValidationResult {
2
3
  readonly items: ValidationResult[];
3
4
  protected constructor(items: ValidationResult[]);
4
- isSuccess(): this is SuccessfulValidatonResult;
5
+ isSuccess(): this is SuccessfulValidationResult;
5
6
  isError(): this is ErrorValidationResult;
6
- static success(items?: ValidationResult[]): SuccessfulValidatonResult;
7
- static error(code: string, message: string, items?: ValidationResult[]): ErrorValidationResult;
7
+ static success(items?: ValidationResult[]): SuccessfulValidationResult;
8
+ static error(error: ApplicationError, items?: ValidationResult[]): ErrorValidationResult;
8
9
  static fromItems(items: ValidationResult[]): ValidationResult;
9
10
  }
10
- export declare class SuccessfulValidatonResult extends ValidationResult {
11
+ export declare class SuccessfulValidationResult extends ValidationResult {
11
12
  constructor(items: ValidationResult[]);
12
13
  }
13
14
  export declare class ErrorValidationResult extends ValidationResult {
14
- readonly code: string;
15
- readonly message: string;
16
- constructor(code: string, message: string, items: ValidationResult[]);
15
+ readonly error: ApplicationError;
16
+ constructor(error: ApplicationError, items: ValidationResult[]);
17
17
  }
@@ -1,40 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorValidationResult = exports.SuccessfulValidatonResult = exports.ValidationResult = void 0;
3
+ exports.ErrorValidationResult = exports.SuccessfulValidationResult = exports.ValidationResult = void 0;
4
+ const ts_utils_1 = require("@js-soft/ts-utils");
4
5
  class ValidationResult {
5
6
  constructor(items) {
6
7
  this.items = items;
7
8
  }
8
9
  isSuccess() {
9
- return this instanceof SuccessfulValidatonResult;
10
+ return this instanceof SuccessfulValidationResult;
10
11
  }
11
12
  isError() {
12
13
  return this instanceof ErrorValidationResult;
13
14
  }
14
15
  static success(items = []) {
15
- return new SuccessfulValidatonResult(items);
16
+ return new SuccessfulValidationResult(items);
16
17
  }
17
- static error(code, message, items = []) {
18
- return new ErrorValidationResult(code, message, items);
18
+ static error(error, items = []) {
19
+ return new ErrorValidationResult(error, items);
19
20
  }
20
21
  static fromItems(items) {
21
22
  return items.some((r) => r.isError())
22
- ? ValidationResult.error("inheritedFromItem", "Some child items have errors.", items)
23
+ ? ValidationResult.error(new ts_utils_1.ApplicationError("inheritedFromItem", "Some child items have errors."), items)
23
24
  : ValidationResult.success(items);
24
25
  }
25
26
  }
26
27
  exports.ValidationResult = ValidationResult;
27
- class SuccessfulValidatonResult extends ValidationResult {
28
+ class SuccessfulValidationResult extends ValidationResult {
28
29
  constructor(items) {
29
30
  super(items);
30
31
  }
31
32
  }
32
- exports.SuccessfulValidatonResult = SuccessfulValidatonResult;
33
+ exports.SuccessfulValidationResult = SuccessfulValidationResult;
33
34
  class ErrorValidationResult extends ValidationResult {
34
- constructor(code, message, items) {
35
+ constructor(error, items) {
35
36
  super(items);
36
- this.code = code;
37
- this.message = message;
37
+ this.error = error;
38
38
  }
39
39
  }
40
40
  exports.ErrorValidationResult = ErrorValidationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationResult.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/ValidationResult.ts"],"names":[],"mappings":";;;AAAA,MAAsB,gBAAgB;IAClC,YAAsC,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE5D,SAAS;QACZ,OAAO,IAAI,YAAY,yBAAyB,CAAA;IACpD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,YAAY,qBAAqB,CAAA;IAChD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,QAA4B,EAAE;QAChD,OAAO,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAY,EAAE,OAAe,EAAE,QAA4B,EAAE;QAC7E,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAyB;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,KAAK,CAAC;YACrF,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;CACJ;AAxBD,4CAwBC;AAED,MAAa,yBAA0B,SAAQ,gBAAgB;IAC3D,YAAmB,KAAyB;QACxC,KAAK,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;CACJ;AAJD,8DAIC;AAED,MAAa,qBAAsB,SAAQ,gBAAgB;IACvD,YAAmC,IAAY,EAAkB,OAAe,EAAE,KAAyB;QACvG,KAAK,CAAC,KAAK,CAAC,CAAA;QADmB,SAAI,GAAJ,IAAI,CAAQ;QAAkB,YAAO,GAAP,OAAO,CAAQ;IAEhF,CAAC;CACJ;AAJD,sDAIC"}
1
+ {"version":3,"file":"ValidationResult.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/ValidationResult.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAEpD,MAAsB,gBAAgB;IAClC,YAAsC,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE5D,SAAS;QACZ,OAAO,IAAI,YAAY,0BAA0B,CAAA;IACrD,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,YAAY,qBAAqB,CAAA;IAChD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,QAA4B,EAAE;QAChD,OAAO,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAuB,EAAE,QAA4B,EAAE;QACvE,OAAO,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAyB;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,2BAAgB,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,EAAE,KAAK,CAAC;YAC3G,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;CACJ;AAxBD,4CAwBC;AAED,MAAa,0BAA2B,SAAQ,gBAAgB;IAC5D,YAAmB,KAAyB;QACxC,KAAK,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;CACJ;AAJD,gEAIC;AAED,MAAa,qBAAsB,SAAQ,gBAAgB;IACvD,YAAmC,KAAuB,EAAE,KAAyB;QACjF,KAAK,CAAC,KAAK,CAAC,CAAA;QADmB,UAAK,GAAL,KAAK,CAAkB;IAE1D,CAAC;CACJ;AAJD,sDAIC"}
@@ -0,0 +1,7 @@
1
+ import { Serializable } from "@js-soft/ts-serval";
2
+ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
3
+ export interface AcceptCreateAttributeRequestItemParametersJSON extends AcceptRequestItemParametersJSON {
4
+ }
5
+ export declare class AcceptCreateAttributeRequestItemParameters extends Serializable {
6
+ static from(value: AcceptCreateAttributeRequestItemParametersJSON): AcceptCreateAttributeRequestItemParameters;
7
+ }
@@ -6,16 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.RejectRequestParameters = void 0;
9
+ exports.AcceptCreateAttributeRequestItemParameters = void 0;
10
10
  const ts_serval_1 = require("@js-soft/ts-serval");
11
- const DecideRequestParameters_1 = require("./DecideRequestParameters");
12
- let RejectRequestParameters = class RejectRequestParameters extends DecideRequestParameters_1.DecideRequestParameters {
11
+ let AcceptCreateAttributeRequestItemParameters = class AcceptCreateAttributeRequestItemParameters extends ts_serval_1.Serializable {
13
12
  static from(value) {
14
13
  return this.fromAny(value);
15
14
  }
16
15
  };
17
- RejectRequestParameters = __decorate([
18
- (0, ts_serval_1.type)("RejectRequestParameters")
19
- ], RejectRequestParameters);
20
- exports.RejectRequestParameters = RejectRequestParameters;
21
- //# sourceMappingURL=RejectRequestParameters.js.map
16
+ AcceptCreateAttributeRequestItemParameters = __decorate([
17
+ (0, ts_serval_1.type)("AcceptCreateAttributeRequestItemParameters")
18
+ ], AcceptCreateAttributeRequestItemParameters);
19
+ exports.AcceptCreateAttributeRequestItemParameters = AcceptCreateAttributeRequestItemParameters;
20
+ //# sourceMappingURL=AcceptCreateAttributeRequestItemParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptCreateAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAuD;AAMvD,IAAa,0CAA0C,GAAvD,MAAa,0CAA2C,SAAQ,wBAAY;IACjE,MAAM,CAAC,IAAI,CACd,KAAqD;QAErD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AANY,0CAA0C;IADtD,IAAA,gBAAI,EAAC,4CAA4C,CAAC;GACtC,0CAA0C,CAMtD;AANY,gGAA0C"}
@@ -0,0 +1,13 @@
1
+ import { CreateAttributeAcceptResponseItem, CreateAttributeRequestItem, RejectResponseItem, Request } from "@nmshd/content";
2
+ import { CoreAddress } from "@nmshd/transport";
3
+ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
+ import { LocalRequestInfo } from "../IRequestItemProcessor";
5
+ import { ValidationResult } from "../ValidationResult";
6
+ import { AcceptCreateAttributeRequestItemParametersJSON } from "./AcceptCreateAttributeRequestItemParameters";
7
+ export declare class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor<CreateAttributeRequestItem, AcceptCreateAttributeRequestItemParametersJSON> {
8
+ canCreateOutgoingRequestItem(requestItem: CreateAttributeRequestItem, _request: Request, _recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
9
+ private canCreateRequestItemWithIdentityAttribute;
10
+ private canCreateRequestItemWithRelationshipAttribute;
11
+ accept(requestItem: CreateAttributeRequestItem, _params: AcceptCreateAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<CreateAttributeAcceptResponseItem>;
12
+ applyIncomingResponseItem(responseItem: CreateAttributeAcceptResponseItem | RejectResponseItem, requestItem: CreateAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
13
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateAttributeRequestItemProcessor = void 0;
4
+ const content_1 = require("@nmshd/content");
5
+ const consumption_1 = require("../../../../consumption");
6
+ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
7
+ const ValidationResult_1 = require("../ValidationResult");
8
+ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
9
+ canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
10
+ if (requestItem.attribute instanceof content_1.IdentityAttribute) {
11
+ return this.canCreateRequestItemWithIdentityAttribute(requestItem);
12
+ }
13
+ return this.canCreateRequestItemWithRelationshipAttribute(requestItem);
14
+ }
15
+ canCreateRequestItemWithIdentityAttribute(requestItem) {
16
+ const iAmOwnerOfTheAttribute = this.accountController.identity.isMe(requestItem.attribute.owner);
17
+ if (!iAmOwnerOfTheAttribute) {
18
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem(`Cannot send Identity Attributes of which you are not the owner via ${content_1.CreateAttributeRequestItem.name}. Consider using a ${content_1.ProposeAttributeRequestItem.name} instead.`));
19
+ }
20
+ return ValidationResult_1.ValidationResult.success();
21
+ }
22
+ canCreateRequestItemWithRelationshipAttribute(requestItem) {
23
+ const iAmOwnerOfTheAttribute = this.accountController.identity.isMe(requestItem.attribute.owner);
24
+ if (!iAmOwnerOfTheAttribute) {
25
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot send Relationship Attributes of which you are not the owner."));
26
+ }
27
+ return ValidationResult_1.ValidationResult.success();
28
+ }
29
+ async accept(requestItem, _params, requestInfo) {
30
+ const peerLocalAttribute = await this.consumptionController.attributes.createPeerLocalAttribute({
31
+ content: requestItem.attribute,
32
+ peer: requestInfo.peer,
33
+ requestReference: requestInfo.id
34
+ });
35
+ return content_1.CreateAttributeAcceptResponseItem.from({
36
+ attributeId: peerLocalAttribute.id,
37
+ result: content_1.ResponseItemResult.Accepted,
38
+ metadata: requestItem.responseMetadata
39
+ });
40
+ }
41
+ async applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
42
+ if (!(responseItem instanceof content_1.CreateAttributeAcceptResponseItem)) {
43
+ return;
44
+ }
45
+ /* TODO: in case of an own IdentityAttribute that was sent to the peer, we need to specify a source attribute; but currently we can't find the source attribute, because we don't know the id the user picked when sending the request */
46
+ await this.consumptionController.attributes.createPeerLocalAttribute({
47
+ id: responseItem.attributeId,
48
+ content: requestItem.attribute,
49
+ peer: requestInfo.peer,
50
+ requestReference: requestInfo.id
51
+ });
52
+ }
53
+ }
54
+ exports.CreateAttributeRequestItemProcessor = CreateAttributeRequestItemProcessor;
55
+ //# sourceMappingURL=CreateAttributeRequestItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAQuB;AAEvB,yDAA2D;AAC3D,gFAA4E;AAE5E,0DAAsD;AAGtD,MAAa,mCAAoC,SAAQ,yDAGxD;IACmB,4BAA4B,CACxC,WAAuC,EACvC,QAAiB,EACjB,UAAuB;QAEvB,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE;YACpD,OAAO,IAAI,CAAC,yCAAyC,CAAC,WAAW,CAAC,CAAA;SACrE;QAED,OAAO,IAAI,CAAC,6CAA6C,CAAC,WAAW,CAAC,CAAA;IAC1E,CAAC;IAEO,yCAAyC,CAAC,WAAuC;QACrF,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAEhG,IAAI,CAAC,sBAAsB,EAAE;YACzB,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,sEAAsE,oCAA0B,CAAC,IAAI,sBAAsB,qCAA2B,CAAC,IAAI,WAAW,CACzK,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEO,6CAA6C,CAAC,WAAuC;QACzF,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAEhG,IAAI,CAAC,sBAAsB,EAAE;YACzB,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,qEAAqE,CACxE,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAuC,EACvC,OAAuD,EACvD,WAA6B;QAE7B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC5F,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,2CAAiC,CAAC,IAAI,CAAC;YAC1C,WAAW,EAAE,kBAAkB,CAAC,EAAE;YAClC,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;SACzC,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAoE,EACpE,WAAuC,EACvC,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,2CAAiC,CAAC,EAAE;YAC9D,OAAM;SACT;QAED,yOAAyO;QAEzO,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,CAAA;IACN,CAAC;CACJ;AAhFD,kFAgFC"}
@@ -0,0 +1,20 @@
1
+ import { Serializable } from "@js-soft/ts-serval";
2
+ import { IdentityAttribute, IdentityAttributeJSON, RelationshipAttribute, RelationshipAttributeJSON } from "@nmshd/content";
3
+ import { CoreId } from "@nmshd/transport";
4
+ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
5
+ export interface AcceptProposeAttributeRequestItemParametersJSON extends AcceptRequestItemParametersJSON {
6
+ /**
7
+ * Pass an `attributeId` to send a copy of an existing attribute to the peer.
8
+ */
9
+ attributeId?: string;
10
+ /**
11
+ * Pass an `attribute` to create a new Local Attribute. If you want to use the proposed Attribute, just pass it here.
12
+ */
13
+ attribute?: IdentityAttributeJSON | RelationshipAttributeJSON;
14
+ }
15
+ export declare class AcceptProposeAttributeRequestItemParameters extends Serializable {
16
+ attributeId?: CoreId;
17
+ attribute?: IdentityAttribute | RelationshipAttribute;
18
+ static from(value: AcceptProposeAttributeRequestItemParametersJSON): AcceptProposeAttributeRequestItemParameters;
19
+ protected static postFrom<T extends Serializable>(value: T): T;
20
+ }