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

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 (148) 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 +10 -6
  4. package/dist/consumption/ConsumptionController.js +12 -16
  5. package/dist/consumption/ConsumptionController.js.map +1 -1
  6. package/dist/consumption/ConsumptionErrors.d.ts +6 -2
  7. package/dist/consumption/ConsumptionErrors.js +15 -3
  8. package/dist/consumption/ConsumptionErrors.js.map +1 -1
  9. package/dist/consumption/ConsumptionIds.d.ts +2 -5
  10. package/dist/consumption/ConsumptionIds.js +4 -7
  11. package/dist/consumption/ConsumptionIds.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/modules/attributes/ConsumptionAttributesController.d.ts +21 -11
  16. package/dist/modules/attributes/ConsumptionAttributesController.js +103 -58
  17. package/dist/modules/attributes/ConsumptionAttributesController.js.map +1 -1
  18. package/dist/modules/attributes/CreateConsumptionAttributeParams.d.ts +12 -0
  19. package/dist/modules/attributes/CreateConsumptionAttributeParams.js +26 -0
  20. package/dist/modules/attributes/CreateConsumptionAttributeParams.js.map +1 -0
  21. package/dist/modules/attributes/CreatePeerConsumptionAttributeParams.d.ts +22 -0
  22. package/dist/modules/{signatures/SignatureContent.js → attributes/CreatePeerConsumptionAttributeParams.js} +15 -32
  23. package/dist/modules/attributes/CreatePeerConsumptionAttributeParams.js.map +1 -0
  24. package/dist/modules/attributes/CreateRelationshipAttributeParams.d.ts +14 -0
  25. package/dist/modules/attributes/CreateRelationshipAttributeParams.js +40 -0
  26. package/dist/modules/attributes/CreateRelationshipAttributeParams.js.map +1 -0
  27. package/dist/modules/attributes/CreateSharedConsumptionAttributeCopyParams.d.ts +18 -0
  28. package/dist/modules/{relationships/local/RelationshipAttribute.js → attributes/CreateSharedConsumptionAttributeCopyParams.js} +13 -17
  29. package/dist/modules/attributes/CreateSharedConsumptionAttributeCopyParams.js.map +1 -0
  30. package/dist/modules/attributes/GetIdentityAttributesParams.d.ts +12 -0
  31. package/dist/modules/{requests/incoming/decide/RejectRequestParameters.js → attributes/GetIdentityAttributesParams.js} +14 -9
  32. package/dist/modules/attributes/GetIdentityAttributesParams.js.map +1 -0
  33. package/dist/modules/attributes/GetRelationshipAttributesParams.d.ts +12 -0
  34. package/dist/modules/attributes/GetRelationshipAttributesParams.js +26 -0
  35. package/dist/modules/attributes/GetRelationshipAttributesParams.js.map +1 -0
  36. package/dist/modules/attributes/SucceedConsumptionAttributeParams.d.ts +16 -0
  37. package/dist/modules/attributes/SucceedConsumptionAttributeParams.js +32 -0
  38. package/dist/modules/attributes/SucceedConsumptionAttributeParams.js.map +1 -0
  39. package/dist/modules/attributes/UpdateConsumptionAttributeParams.d.ts +16 -0
  40. package/dist/modules/attributes/UpdateConsumptionAttributeParams.js +32 -0
  41. package/dist/modules/attributes/UpdateConsumptionAttributeParams.js.map +1 -0
  42. package/dist/modules/attributes/local/ConsumptionAttribute.d.ts +19 -10
  43. package/dist/modules/attributes/local/ConsumptionAttribute.js +20 -14
  44. package/dist/modules/attributes/local/ConsumptionAttribute.js.map +1 -1
  45. package/dist/modules/attributes/local/ConsumptionAttributeShareInfo.d.ts +17 -0
  46. package/dist/modules/attributes/local/ConsumptionAttributeShareInfo.js +36 -0
  47. package/dist/modules/attributes/local/ConsumptionAttributeShareInfo.js.map +1 -0
  48. package/dist/modules/attributes/local/QueryTranslator.d.ts +3 -0
  49. package/dist/modules/attributes/local/QueryTranslator.js +110 -0
  50. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -0
  51. package/dist/modules/drafts/DraftsController.d.ts +1 -1
  52. package/dist/modules/drafts/DraftsController.js.map +1 -1
  53. package/dist/modules/index.d.ts +17 -10
  54. package/dist/modules/index.js +17 -10
  55. package/dist/modules/index.js.map +1 -1
  56. package/dist/modules/requests/incoming/DecideRequestParametersValidator.d.ts +6 -2
  57. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +55 -1
  58. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  59. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +11 -12
  60. package/dist/modules/requests/incoming/IncomingRequestsController.js +55 -51
  61. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  62. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.d.ts +2 -6
  63. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js +0 -18
  64. package/dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js.map +1 -1
  65. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.d.ts +4 -8
  66. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js +5 -25
  67. package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js.map +1 -1
  68. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.d.ts +4 -5
  69. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js +4 -4
  70. package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js.map +1 -1
  71. package/dist/modules/requests/incoming/decide/DecideRequestParameters.d.ts +5 -11
  72. package/dist/modules/requests/incoming/decide/DecideRequestParameters.js +0 -27
  73. package/dist/modules/requests/incoming/decide/DecideRequestParameters.js.map +1 -1
  74. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.d.ts +15 -0
  75. package/dist/modules/{relationships/local/RelationshipTheme.js → requests/incoming/decide/InternalDecideRequestParameters.js} +16 -20
  76. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -0
  77. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.d.ts +2 -8
  78. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.js +0 -31
  79. package/dist/modules/requests/incoming/decide/RejectRequestItemParameters.js.map +1 -1
  80. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts +19 -0
  81. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js +10 -0
  82. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js.map +1 -0
  83. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +12 -11
  84. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +10 -8
  85. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  86. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +10 -9
  87. package/dist/modules/requests/itemProcessors/ProcessorConstructor.d.ts +3 -0
  88. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js +3 -0
  89. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js.map +1 -0
  90. package/dist/modules/requests/itemProcessors/RequestItemConstructor.d.ts +2 -0
  91. package/dist/modules/requests/itemProcessors/RequestItemConstructor.js +3 -0
  92. package/dist/modules/requests/itemProcessors/RequestItemConstructor.js.map +1 -0
  93. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.d.ts +8 -3
  94. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +6 -2
  95. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  96. package/dist/modules/requests/itemProcessors/ValidationResult.d.ts +4 -4
  97. package/dist/modules/requests/itemProcessors/ValidationResult.js +6 -6
  98. package/dist/modules/requests/itemProcessors/ValidationResult.js.map +1 -1
  99. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.d.ts +7 -0
  100. package/dist/modules/requests/{incoming/decide/AcceptRequestParameters.js → itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js} +7 -8
  101. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js.map +1 -0
  102. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +10 -0
  103. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +48 -0
  104. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -0
  105. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +14 -0
  106. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +47 -0
  107. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -0
  108. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +12 -0
  109. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +77 -0
  110. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -0
  111. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +6 -6
  112. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +34 -21
  113. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  114. package/dist/modules/settings/SettingsController.d.ts +1 -1
  115. package/dist/modules/settings/SettingsController.js.map +1 -1
  116. package/lib-web/nmshd.consumption.js +10041 -1261
  117. package/lib-web/nmshd.consumption.js.map +1 -1
  118. package/lib-web/nmshd.consumption.min.js +1 -1
  119. package/lib-web/nmshd.consumption.min.js.map +1 -1
  120. package/package.json +23 -19
  121. package/dist/modules/relationships/RelationshipInfoController.d.ts +0 -15
  122. package/dist/modules/relationships/RelationshipInfoController.js +0 -61
  123. package/dist/modules/relationships/RelationshipInfoController.js.map +0 -1
  124. package/dist/modules/relationships/RelationshipInfoUtil.d.ts +0 -15
  125. package/dist/modules/relationships/RelationshipInfoUtil.js +0 -219
  126. package/dist/modules/relationships/RelationshipInfoUtil.js.map +0 -1
  127. package/dist/modules/relationships/local/RelationshipAttribute.d.ts +0 -14
  128. package/dist/modules/relationships/local/RelationshipAttribute.js.map +0 -1
  129. package/dist/modules/relationships/local/RelationshipInfo.d.ts +0 -27
  130. package/dist/modules/relationships/local/RelationshipInfo.js +0 -97
  131. package/dist/modules/relationships/local/RelationshipInfo.js.map +0 -1
  132. package/dist/modules/relationships/local/RelationshipTheme.d.ts +0 -14
  133. package/dist/modules/relationships/local/RelationshipTheme.js.map +0 -1
  134. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.d.ts +0 -6
  135. package/dist/modules/requests/incoming/decide/AcceptRequestParameters.js.map +0 -1
  136. package/dist/modules/requests/incoming/decide/RejectRequestParameters.d.ts +0 -6
  137. package/dist/modules/requests/incoming/decide/RejectRequestParameters.js.map +0 -1
  138. package/dist/modules/sharedItems/SharedItemsController.d.ts +0 -14
  139. package/dist/modules/sharedItems/SharedItemsController.js +0 -40
  140. package/dist/modules/sharedItems/SharedItemsController.js.map +0 -1
  141. package/dist/modules/sharedItems/local/SharedItem.d.ts +0 -31
  142. package/dist/modules/sharedItems/local/SharedItem.js +0 -100
  143. package/dist/modules/sharedItems/local/SharedItem.js.map +0 -1
  144. package/dist/modules/signatures/Signature.d.ts +0 -16
  145. package/dist/modules/signatures/Signature.js +0 -56
  146. package/dist/modules/signatures/Signature.js.map +0 -1
  147. package/dist/modules/signatures/SignatureContent.d.ts +0 -21
  148. package/dist/modules/signatures/SignatureContent.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractRequestItemProcessor.js","sourceRoot":"","sources":["../../../../src/modules/requests/itemProcessors/AbstractRequestItemProcessor.ts"],"names":[],"mappings":";;;AAQA,MAAsB,4BAA4B;IAM9C,YAAsC,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;CAoCzF;AA1CD,oEA0CC"}
@@ -1,15 +1,16 @@
1
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";
2
+ import { AcceptRequestItemParametersJSON } from "../incoming/decide/AcceptRequestItemParameters";
3
+ import { RejectRequestItemParametersJSON } from "../incoming/decide/RejectRequestItemParameters";
4
+ import { ConsumptionRequest } from "../local/ConsumptionRequest";
5
+ import { AbstractRequestItemProcessor } from "./AbstractRequestItemProcessor";
5
6
  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
+ export declare class GenericRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParametersJSON = AcceptRequestItemParametersJSON, TRejectParams extends RejectRequestItemParametersJSON = RejectRequestItemParametersJSON> extends AbstractRequestItemProcessor<TRequestItem, TAcceptParams, TRejectParams> {
7
8
  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;
9
+ canAccept(requestItem: TRequestItem, params: TAcceptParams, request: ConsumptionRequest): Promise<ValidationResult> | ValidationResult;
10
+ canReject(requestItem: TRequestItem, params: TRejectParams, request: ConsumptionRequest): Promise<ValidationResult> | ValidationResult;
11
+ accept(requestItem: TRequestItem, params: TAcceptParams, request: ConsumptionRequest): AcceptResponseItem | Promise<AcceptResponseItem>;
12
+ reject(requestItem: TRequestItem, params: TRejectParams, request: ConsumptionRequest): RejectResponseItem | Promise<RejectResponseItem>;
13
+ canCreateOutgoingRequestItem(requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
14
+ canApplyIncomingResponseItem(responseItem: AcceptResponseItem, requestItem: TRequestItem, request: ConsumptionRequest): Promise<ValidationResult> | ValidationResult;
15
+ applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, request: ConsumptionRequest): Promise<void> | void;
15
16
  }
@@ -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 {
8
+ class GenericRequestItemProcessor extends AbstractRequestItemProcessor_1.AbstractRequestItemProcessor {
7
9
  checkPrerequisitesOfIncomingRequestItem(_requestItem) {
8
10
  return true;
9
11
  }
10
- canAccept(_requestItem, _params) {
12
+ canAccept(requestItem, params, request) {
11
13
  return ValidationResult_1.ValidationResult.success();
12
14
  }
13
- canReject(_requestItem, _params) {
15
+ canReject(requestItem, params, request) {
14
16
  return ValidationResult_1.ValidationResult.success();
15
17
  }
16
- accept(requestItem, _params) {
18
+ accept(requestItem, params, request) {
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, request) {
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) {
29
31
  return ValidationResult_1.ValidationResult.success();
30
32
  }
31
- canCreateOutgoingRequestItem(_requestItem) {
33
+ canApplyIncomingResponseItem(responseItem, requestItem, request) {
32
34
  return ValidationResult_1.ValidationResult.success();
33
35
  }
34
- applyIncomingResponseItem(_responseItem, _requestItem) {
36
+ applyIncomingResponseItem(responseItem, requestItem, request) {
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,4CAAsH;AAItH,iFAA6E;AAC7E,yDAAqD;AAErD,MAAa,2BAIX,SAAQ,2DAAwE;IACvE,uCAAuC,CAAC,YAA0B;QACrE,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,SAAS,CACZ,WAAyB,EACzB,MAAqB,EACrB,OAA2B;QAE3B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,SAAS,CACZ,WAAyB,EACzB,MAAqB,EACrB,OAA2B;QAE3B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,MAAM,CACT,WAAyB,EACzB,MAAqB,EACrB,OAA2B;QAE3B,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,OAA2B;QAE3B,OAAO,4BAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;SACzC,CAAC,CAAA;IACN,CAAC;IAEM,4BAA4B,CAAC,WAAyB;QACzD,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,4BAA4B,CAC/B,YAAgC,EAChC,WAAyB,EACzB,OAA2B;QAE3B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEM,yBAAyB,CAC5B,YAA0B,EAC1B,WAAyB,EACzB,OAA2B;QAE3B,aAAa;IACjB,CAAC;CACJ;AAlED,kEAkEC"}
@@ -1,14 +1,15 @@
1
1
  import { AcceptResponseItem, RejectResponseItem, RequestItem, ResponseItem } from "@nmshd/content";
2
- import { AcceptRequestItemParameters } from "../incoming/decide/AcceptRequestItemParameters";
3
- import { RejectRequestItemParameters } from "../incoming/decide/RejectRequestItemParameters";
2
+ import { AcceptRequestItemParametersJSON } from "../incoming/decide/AcceptRequestItemParameters";
3
+ import { RejectRequestItemParametersJSON } from "../incoming/decide/RejectRequestItemParameters";
4
+ import { ConsumptionRequest } from "../local/ConsumptionRequest";
4
5
  import { ValidationResult } from "./ValidationResult";
5
- export interface IRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParameters = AcceptRequestItemParameters, TRejectParams extends RejectRequestItemParameters = RejectRequestItemParameters> {
6
+ export interface IRequestItemProcessor<TRequestItem extends RequestItem = RequestItem, TAcceptParams extends AcceptRequestItemParametersJSON = AcceptRequestItemParametersJSON, TRejectParams extends RejectRequestItemParametersJSON = RejectRequestItemParametersJSON> {
6
7
  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;
8
+ canAccept(requestItem: TRequestItem, params: TAcceptParams, request: ConsumptionRequest): Promise<ValidationResult> | ValidationResult;
9
+ canReject(requestItem: TRequestItem, params: TRejectParams, request: ConsumptionRequest): Promise<ValidationResult> | ValidationResult;
10
+ accept(requestItem: TRequestItem, params: TAcceptParams, request: ConsumptionRequest): Promise<AcceptResponseItem> | AcceptResponseItem;
11
+ reject(requestItem: TRequestItem, params: TRejectParams, request: ConsumptionRequest): Promise<RejectResponseItem> | RejectResponseItem;
11
12
  canCreateOutgoingRequestItem(requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
12
- canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem): Promise<ValidationResult> | ValidationResult;
13
- applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem): Promise<void> | void;
13
+ canApplyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, request: ConsumptionRequest): Promise<ValidationResult> | ValidationResult;
14
+ applyIncomingResponseItem(responseItem: ResponseItem, requestItem: TRequestItem, request: ConsumptionRequest): Promise<void> | void;
14
15
  }
@@ -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,16 @@
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 {
7
+ private readonly consumptionController;
6
8
  private readonly registry;
9
+ constructor(consumptionController: ConsumptionController, processors?: {
10
+ processorConstructor: ProcessorConstructor;
11
+ itemConstructor: RequestItemConstructor;
12
+ }[]);
7
13
  registerProcessor(processorConstructor: ProcessorConstructor, itemConstructor: RequestItemConstructor): void;
8
14
  replaceProcessor(processorConstructor: ProcessorConstructor, itemConstructor: RequestItemConstructor): void;
9
15
  getProcessorForItem(item: RequestItem): IRequestItemProcessor;
10
16
  }
11
- export {};
@@ -2,8 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RequestItemProcessorRegistry = void 0;
4
4
  class RequestItemProcessorRegistry {
5
- constructor() {
5
+ constructor(consumptionController, processors = []) {
6
+ this.consumptionController = consumptionController;
6
7
  this.registry = {};
8
+ for (const { itemConstructor, processorConstructor } of processors) {
9
+ this.registerProcessor(processorConstructor, itemConstructor);
10
+ }
7
11
  }
8
12
  registerProcessor(processorConstructor, itemConstructor) {
9
13
  if (this.registry.hasOwnProperty(itemConstructor.name)) {
@@ -19,7 +23,7 @@ class RequestItemProcessorRegistry {
19
23
  if (!constructor) {
20
24
  throw new Error(`There was no processor registered for '${item.constructor.name}'.`);
21
25
  }
22
- return new constructor();
26
+ return new constructor(this.consumptionController);
23
27
  }
24
28
  }
25
29
  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;IAGrC,YACqB,qBAA4C,EAC7D,aAAwG,EAAE;QADzF,0BAAqB,GAArB,qBAAqB,CAAuB;QAHhD,aAAQ,GAAqD,EAAE,CAAA;QAM5E,KAAK,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,IAAI,UAAU,EAAE;YAChE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAA;SAChE;IACL,CAAC;IAEM,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,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACtD,CAAC;CACJ;AAnCD,oEAmCC"}
@@ -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
5
  isSuccess(): this is SuccessfulValidatonResult;
5
6
  isError(): this is ErrorValidationResult;
6
7
  static success(items?: ValidationResult[]): SuccessfulValidatonResult;
7
- static error(code: string, message: string, items?: ValidationResult[]): ErrorValidationResult;
8
+ static error(error: ApplicationError, items?: ValidationResult[]): ErrorValidationResult;
8
9
  static fromItems(items: ValidationResult[]): ValidationResult;
9
10
  }
10
11
  export declare class SuccessfulValidatonResult 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,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ErrorValidationResult = exports.SuccessfulValidatonResult = 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;
@@ -14,12 +15,12 @@ class ValidationResult {
14
15
  static success(items = []) {
15
16
  return new SuccessfulValidatonResult(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
  }
@@ -31,10 +32,9 @@ class SuccessfulValidatonResult extends ValidationResult {
31
32
  }
32
33
  exports.SuccessfulValidatonResult = SuccessfulValidatonResult;
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,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,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,yBAA0B,SAAQ,gBAAgB;IAC3D,YAAmB,KAAyB;QACxC,KAAK,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;CACJ;AAJD,8DAIC;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.AcceptRequestParameters = 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 AcceptRequestParameters = class AcceptRequestParameters 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
- AcceptRequestParameters = __decorate([
18
- (0, ts_serval_1.type)("AcceptRequestParameters")
19
- ], AcceptRequestParameters);
20
- exports.AcceptRequestParameters = AcceptRequestParameters;
21
- //# sourceMappingURL=AcceptRequestParameters.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,10 @@
1
+ import { CreateAttributeAcceptResponseItem, CreateAttributeRequestItem, RejectResponseItem } from "@nmshd/content";
2
+ import { ConsumptionRequest } from "../../local/ConsumptionRequest";
3
+ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
+ import { ValidationResult } from "../ValidationResult";
5
+ import { AcceptCreateAttributeRequestItemParametersJSON } from "./AcceptCreateAttributeRequestItemParameters";
6
+ export declare class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor<CreateAttributeRequestItem, AcceptCreateAttributeRequestItemParametersJSON> {
7
+ canCreateOutgoingRequestItem(requestItem: CreateAttributeRequestItem): ValidationResult | Promise<ValidationResult>;
8
+ accept(requestItem: CreateAttributeRequestItem, _params: AcceptCreateAttributeRequestItemParametersJSON, request: ConsumptionRequest): Promise<CreateAttributeAcceptResponseItem>;
9
+ applyIncomingResponseItem(responseItem: CreateAttributeAcceptResponseItem | RejectResponseItem, requestItem: CreateAttributeRequestItem, request: ConsumptionRequest): Promise<void>;
10
+ }
@@ -0,0 +1,48 @@
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) {
10
+ // TODO: remove the following if we for sure only allow RelationshipAttributes in a RequestItem
11
+ if (requestItem.attribute instanceof content_1.IdentityAttribute) {
12
+ // It doesn't make sense to send a CreateAttributeRequestItem with an IdentityAttribute. E.g. the following cases would have to be handled:
13
+ // - The RequestItem contains an Attribute (e.g. GivenName) with the same value as an already existing Attribute
14
+ // => Should the user reject the request? If not, do we save a new Attribute with the same value?
15
+ // - The RequestItem contains an Attribute (e.g. GivenName) with the a different value than an already existing Attribute
16
+ // - ...
17
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.cannotSendCreateAttributeRequestItemsWithIdentityAttributes());
18
+ }
19
+ return ValidationResult_1.ValidationResult.success();
20
+ }
21
+ async accept(requestItem, _params, request) {
22
+ if (requestItem.attribute instanceof content_1.IdentityAttribute) {
23
+ throw new Error("IdentityAttribute not supported"); // TODO: allow only Relationship Attributes in RequestItem?
24
+ }
25
+ const result = await this.consumptionController.attributes.createRelationshipAttribute({
26
+ content: requestItem.attribute,
27
+ peer: request.peer,
28
+ requestReference: request.id
29
+ });
30
+ return content_1.CreateAttributeAcceptResponseItem.from({
31
+ result: content_1.ResponseItemResult.Accepted,
32
+ attributeId: result.id
33
+ });
34
+ }
35
+ async applyIncomingResponseItem(responseItem, requestItem, request) {
36
+ if (!(responseItem instanceof content_1.CreateAttributeAcceptResponseItem)) {
37
+ return;
38
+ }
39
+ await this.consumptionController.attributes.createPeerConsumptionAttribute({
40
+ id: responseItem.attributeId,
41
+ content: requestItem.attribute,
42
+ peer: request.peer,
43
+ requestReference: request.id
44
+ });
45
+ }
46
+ }
47
+ exports.CreateAttributeRequestItemProcessor = CreateAttributeRequestItemProcessor;
48
+ //# 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,4CAMuB;AACvB,yDAA2D;AAE3D,gFAA4E;AAC5E,0DAAsD;AAGtD,MAAa,mCAAoC,SAAQ,yDAGxD;IACmB,4BAA4B,CACxC,WAAuC;QAEvC,+FAA+F;QAC/F,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE;YACpD,2IAA2I;YAC3I,gHAAgH;YAChH,kGAAkG;YAClG,yHAAyH;YACzH,QAAQ;YACR,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,2DAA2D,EAAE,CAC3F,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAuC,EACvC,OAAuD,EACvD,OAA2B;QAE3B,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA,CAAC,2DAA2D;SACjH;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACnF,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,EAAE;SAC/B,CAAC,CAAA;QAEF,OAAO,2CAAiC,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,WAAW,EAAE,MAAM,CAAC,EAAE;SACzB,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAoE,EACpE,WAAuC,EACvC,OAA2B;QAE3B,IAAI,CAAC,CAAC,YAAY,YAAY,2CAAiC,CAAC,EAAE;YAC9D,OAAM;SACT;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;YACvE,EAAE,EAAE,YAAY,CAAC,WAAW;YAC5B,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,EAAE;SAC/B,CAAC,CAAA;IACN,CAAC;CACJ;AA3DD,kFA2DC"}
@@ -0,0 +1,14 @@
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 AcceptReadAttributeRequestItemParametersJSON extends AcceptRequestItemParametersJSON {
6
+ attributeId?: string;
7
+ attribute?: IdentityAttributeJSON | RelationshipAttributeJSON;
8
+ }
9
+ export declare class AcceptReadAttributeRequestItemParameters extends Serializable {
10
+ attributeId?: CoreId;
11
+ attribute?: IdentityAttribute | RelationshipAttribute;
12
+ static from(value: AcceptReadAttributeRequestItemParametersJSON): AcceptReadAttributeRequestItemParameters;
13
+ protected static postFrom<T extends Serializable>(value: T): T;
14
+ }
@@ -0,0 +1,47 @@
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
+ var AcceptReadAttributeRequestItemParameters_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.AcceptReadAttributeRequestItemParameters = void 0;
14
+ const ts_serval_1 = require("@js-soft/ts-serval");
15
+ const content_1 = require("@nmshd/content");
16
+ const transport_1 = require("@nmshd/transport");
17
+ const ts_simple_nameof_1 = require("ts-simple-nameof");
18
+ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
19
+ static from(value) {
20
+ return this.fromAny(value);
21
+ }
22
+ static postFrom(value) {
23
+ const typedValue = value;
24
+ if (typedValue.attributeId && typedValue.attribute) {
25
+ throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.attribute), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
26
+ }
27
+ if (!typedValue.attributeId && !typedValue.attribute) {
28
+ throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.attribute), `You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
29
+ }
30
+ return value;
31
+ }
32
+ };
33
+ __decorate([
34
+ (0, ts_serval_1.serialize)(),
35
+ (0, ts_serval_1.validate)({ nullable: true }),
36
+ __metadata("design:type", transport_1.CoreId)
37
+ ], AcceptReadAttributeRequestItemParameters.prototype, "attributeId", void 0);
38
+ __decorate([
39
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
40
+ (0, ts_serval_1.validate)({ nullable: true }),
41
+ __metadata("design:type", Object)
42
+ ], AcceptReadAttributeRequestItemParameters.prototype, "attribute", void 0);
43
+ AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
44
+ (0, ts_serval_1.type)("AcceptReadAttributeRequestItemParameters")
45
+ ], AcceptReadAttributeRequestItemParameters);
46
+ exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters;
47
+ //# sourceMappingURL=AcceptReadAttributeRequestItemParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptReadAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA6F;AAC7F,4CAKuB;AACvB,gDAAyC;AACzC,uDAAyC;AASzC,IAAa,wCAAwC,gDAArD,MAAa,wCAAyC,SAAQ,wBAAY;IAS/D,MAAM,CAAC,IAAI,CAAC,KAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,MAAM,UAAU,GAAG,KAAiD,CAAA;QAEpE,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,SAAS,EAAE;YAChD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACpE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,QAAQ,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACrF,CAAA;SACJ;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YAClD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACpE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,OAAO,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACpF,CAAA;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ,CAAA;AAnCG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACR,kBAAM;6EAAA;AAI3B;IAFC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2EAC+B;AAPnD,wCAAwC;IADpD,IAAA,gBAAI,EAAC,0CAA0C,CAAC;GACpC,wCAAwC,CAsCpD;AAtCY,4FAAwC"}
@@ -0,0 +1,12 @@
1
+ import { ReadAttributeAcceptResponseItem, ReadAttributeRequestItem, RejectResponseItem } from "@nmshd/content";
2
+ import { ConsumptionRequest } from "../../local/ConsumptionRequest";
3
+ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
+ import { ValidationResult } from "../ValidationResult";
5
+ import { AcceptReadAttributeRequestItemParametersJSON } from "./AcceptReadAttributeRequestItemParameters";
6
+ export declare class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor<ReadAttributeRequestItem, AcceptReadAttributeRequestItemParametersJSON> {
7
+ canAccept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, request: ConsumptionRequest): Promise<ValidationResult>;
8
+ accept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, request: ConsumptionRequest): Promise<ReadAttributeAcceptResponseItem>;
9
+ private copyExistingAttribute;
10
+ private createNewAttribute;
11
+ applyIncomingResponseItem(responseItem: ReadAttributeAcceptResponseItem | RejectResponseItem, _requestItem: ReadAttributeRequestItem, request: ConsumptionRequest): Promise<void>;
12
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadAttributeRequestItemProcessor = void 0;
4
+ const content_1 = require("@nmshd/content");
5
+ const transport_1 = require("@nmshd/transport");
6
+ const consumption_1 = require("../../../../consumption");
7
+ const ConsumptionAttribute_1 = require("../../../attributes/local/ConsumptionAttribute");
8
+ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
9
+ const ValidationResult_1 = require("../ValidationResult");
10
+ const AcceptReadAttributeRequestItemParameters_1 = require("./AcceptReadAttributeRequestItemParameters");
11
+ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
12
+ async canAccept(_requestItem, params, request) {
13
+ const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
14
+ if (parsedParams.attributeId) {
15
+ const foundAttribute = await this.consumptionController.attributes.getConsumptionAttribute(parsedParams.attributeId);
16
+ if (!foundAttribute) {
17
+ return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(ConsumptionAttribute_1.ConsumptionAttribute, request.id.toString()));
18
+ }
19
+ if (!this.consumptionController.accountController.identity.isMe(foundAttribute.content.owner)) {
20
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.canOnlyShareOwnAttributes());
21
+ }
22
+ }
23
+ return ValidationResult_1.ValidationResult.success();
24
+ }
25
+ async accept(_requestItem, params, request) {
26
+ const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
27
+ let sharedConsumptionAttribute;
28
+ if (parsedParams.attributeId) {
29
+ sharedConsumptionAttribute = await this.copyExistingAttribute(parsedParams.attributeId, request);
30
+ }
31
+ else {
32
+ sharedConsumptionAttribute = await this.createNewAttribute(parsedParams.attribute, request);
33
+ }
34
+ return content_1.ReadAttributeAcceptResponseItem.from({
35
+ result: content_1.ResponseItemResult.Accepted,
36
+ attributeId: sharedConsumptionAttribute.id,
37
+ attribute: sharedConsumptionAttribute.content
38
+ });
39
+ }
40
+ async copyExistingAttribute(attributeId, request) {
41
+ return await this.consumptionController.attributes.createSharedConsumptionAttributeCopy({
42
+ attributeId: transport_1.CoreId.from(attributeId),
43
+ peer: transport_1.CoreAddress.from(request.peer),
44
+ requestReference: transport_1.CoreId.from(request.id)
45
+ });
46
+ }
47
+ async createNewAttribute(attribute, request) {
48
+ if (attribute instanceof content_1.IdentityAttribute) {
49
+ const repositoryConsumptionAttribute = await this.consumptionController.attributes.createConsumptionAttribute({
50
+ content: attribute
51
+ });
52
+ return await this.consumptionController.attributes.createSharedConsumptionAttributeCopy({
53
+ attributeId: transport_1.CoreId.from(repositoryConsumptionAttribute.id),
54
+ peer: transport_1.CoreAddress.from(request.peer),
55
+ requestReference: transport_1.CoreId.from(request.id)
56
+ });
57
+ }
58
+ return await this.consumptionController.attributes.createRelationshipAttribute({
59
+ content: attribute,
60
+ peer: request.peer,
61
+ requestReference: transport_1.CoreId.from(request.id)
62
+ });
63
+ }
64
+ async applyIncomingResponseItem(responseItem, _requestItem, request) {
65
+ if (!(responseItem instanceof content_1.ReadAttributeAcceptResponseItem)) {
66
+ return;
67
+ }
68
+ await this.consumptionController.attributes.createPeerConsumptionAttribute({
69
+ id: responseItem.attributeId,
70
+ content: responseItem.attribute,
71
+ peer: request.peer,
72
+ requestReference: request.id
73
+ });
74
+ }
75
+ }
76
+ exports.ReadAttributeRequestItemProcessor = ReadAttributeRequestItemProcessor;
77
+ //# sourceMappingURL=ReadAttributeRequestItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ICoreId } from "@nmshd/transport";
1
+ import { ICoreId, SynchronizedCollection } from "@nmshd/transport";
2
2
  import { ConsumptionBaseController } from "../../../consumption";
3
3
  import { ConsumptionController } from "../../../consumption/ConsumptionController";
4
4
  import { RequestItemProcessorRegistry } from "../itemProcessors/RequestItemProcessorRegistry";
@@ -9,10 +9,9 @@ import { ICreateOutgoingRequestFromRelationshipCreationChangeParameters } from "
9
9
  import { ICreateOutgoingRequestParameters } from "./createOutgoingRequest/CreateOutgoingRequestParameters";
10
10
  import { ISentOutgoingRequestParameters } from "./sentOutgoingRequest/SentOutgoingRequestParameters";
11
11
  export declare class OutgoingRequestsController extends ConsumptionBaseController {
12
- readonly processorRegistry: RequestItemProcessorRegistry;
13
- private consumptionRequests;
14
- constructor(parent: ConsumptionController, processorRegistry: RequestItemProcessorRegistry);
15
- init(): Promise<OutgoingRequestsController>;
12
+ private readonly consumptionRequests;
13
+ private readonly processorRegistry;
14
+ constructor(consumptionRequests: SynchronizedCollection, processorRegistry: RequestItemProcessorRegistry, parent: ConsumptionController);
16
15
  canCreate(params: ICreateOutgoingRequestParameters): Promise<ValidationResult>;
17
16
  private canCreateItems;
18
17
  private canCreateItem;
@@ -28,7 +27,8 @@ export declare class OutgoingRequestsController extends ConsumptionBaseControlle
28
27
  private canComplete;
29
28
  private applyItems;
30
29
  private applyItem;
31
- get(id: ICoreId): Promise<ConsumptionRequest | undefined>;
30
+ getOutgoingRequests(query?: any): Promise<ConsumptionRequest[]>;
31
+ getOutgoingRequest(id: ICoreId): Promise<ConsumptionRequest | undefined>;
32
32
  private getOrThrow;
33
33
  private update;
34
34
  private assertRequestStatus;