@nmshd/consumption 2.0.0-beta.3 → 2.0.0-beta.30

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 (169) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionBaseController.d.ts +1 -1
  3. package/dist/consumption/ConsumptionBaseController.js +2 -3
  4. package/dist/consumption/ConsumptionBaseController.js.map +1 -1
  5. package/dist/consumption/ConsumptionController.d.ts +4 -8
  6. package/dist/consumption/ConsumptionController.js +14 -13
  7. package/dist/consumption/ConsumptionController.js.map +1 -1
  8. package/dist/consumption/ConsumptionControllerName.d.ts +2 -1
  9. package/dist/consumption/ConsumptionControllerName.js +2 -1
  10. package/dist/consumption/ConsumptionControllerName.js.map +1 -1
  11. package/dist/consumption/ConsumptionError.d.ts +2 -0
  12. package/dist/consumption/ConsumptionError.js +7 -0
  13. package/dist/consumption/ConsumptionError.js.map +1 -0
  14. package/dist/consumption/ConsumptionIds.d.ts +1 -0
  15. package/dist/consumption/ConsumptionIds.js +1 -0
  16. package/dist/consumption/ConsumptionIds.js.map +1 -1
  17. package/dist/consumption/CoreErrors.d.ts +23 -0
  18. package/dist/consumption/CoreErrors.js +47 -0
  19. package/dist/consumption/CoreErrors.js.map +1 -0
  20. package/dist/consumption/index.d.ts +2 -1
  21. package/dist/consumption/index.js +2 -1
  22. package/dist/consumption/index.js.map +1 -1
  23. package/dist/modules/attributeListeners/AttributeListenersController.d.ts +18 -0
  24. package/dist/modules/attributeListeners/AttributeListenersController.js +44 -0
  25. package/dist/modules/attributeListeners/AttributeListenersController.js.map +1 -0
  26. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.d.ts +6 -0
  27. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js +12 -0
  28. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js.map +1 -0
  29. package/dist/modules/attributeListeners/events/index.d.ts +1 -0
  30. package/dist/modules/attributeListeners/events/index.js +18 -0
  31. package/dist/modules/attributeListeners/events/index.js.map +1 -0
  32. package/dist/modules/attributeListeners/index.d.ts +4 -0
  33. package/dist/modules/attributeListeners/index.js +21 -0
  34. package/dist/modules/attributeListeners/index.js.map +1 -0
  35. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.d.ts +12 -0
  36. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js +35 -0
  37. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js.map +1 -0
  38. package/dist/modules/attributeListeners/local/LocalAttributeListener.d.ts +19 -0
  39. package/dist/modules/attributeListeners/local/LocalAttributeListener.js +46 -0
  40. package/dist/modules/attributeListeners/local/LocalAttributeListener.js.map +1 -0
  41. package/dist/modules/attributes/{LocalAttributesController.d.ts → AttributesController.d.ts} +5 -3
  42. package/dist/modules/attributes/{LocalAttributesController.js → AttributesController.js} +56 -18
  43. package/dist/modules/attributes/AttributesController.js.map +1 -0
  44. package/dist/modules/attributes/index.d.ts +9 -0
  45. package/dist/modules/attributes/index.js +26 -0
  46. package/dist/modules/attributes/index.js.map +1 -0
  47. package/dist/modules/attributes/local/{CreateRelationshipAttributeParams.d.ts → CreateAttributeParams.d.ts} +3 -3
  48. package/dist/modules/attributes/local/{CreateRelationshipAttributeParams.js → CreateAttributeParams.js} +10 -10
  49. package/dist/modules/attributes/local/CreateAttributeParams.js.map +1 -0
  50. package/dist/modules/attributes/local/CreateLocalAttributeParams.d.ts +3 -0
  51. package/dist/modules/attributes/local/CreateLocalAttributeParams.js +6 -0
  52. package/dist/modules/attributes/local/CreateLocalAttributeParams.js.map +1 -1
  53. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.js.map +1 -1
  54. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +1 -1
  55. package/dist/modules/attributes/local/LocalAttribute.d.ts +15 -2
  56. package/dist/modules/attributes/local/LocalAttribute.js +25 -4
  57. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
  58. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -1
  59. package/dist/modules/attributes/local/QueryTranslator.d.ts +5 -1
  60. package/dist/modules/attributes/local/QueryTranslator.js +52 -7
  61. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  62. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js.map +1 -1
  63. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js.map +1 -1
  64. package/dist/modules/drafts/DraftsController.js +3 -3
  65. package/dist/modules/drafts/DraftsController.js.map +1 -1
  66. package/dist/modules/drafts/index.d.ts +2 -0
  67. package/dist/modules/drafts/index.js +19 -0
  68. package/dist/modules/drafts/index.js.map +1 -0
  69. package/dist/modules/drafts/local/Draft.js.map +1 -1
  70. package/dist/modules/index.d.ts +5 -50
  71. package/dist/modules/index.js +5 -49
  72. package/dist/modules/index.js.map +1 -1
  73. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js +2 -1
  74. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js.map +1 -1
  75. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js +2 -1
  76. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js.map +1 -1
  77. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.d.ts +1 -1
  78. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js +2 -1
  79. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js.map +1 -1
  80. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.d.ts +1 -1
  81. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js +2 -1
  82. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js.map +1 -1
  83. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js +2 -1
  84. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js.map +1 -1
  85. package/dist/modules/requests/incoming/DecideRequestParametersValidator.d.ts +0 -1
  86. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +10 -13
  87. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  88. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +1 -0
  89. package/dist/modules/requests/incoming/IncomingRequestsController.js +41 -32
  90. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  91. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js.map +1 -1
  92. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.d.ts +2 -2
  93. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js +1 -1
  94. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js.map +1 -1
  95. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -1
  96. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js.map +1 -1
  97. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js.map +1 -1
  98. package/dist/modules/requests/index.d.ts +36 -0
  99. package/dist/modules/requests/index.js +52 -0
  100. package/dist/modules/requests/index.js.map +1 -0
  101. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +1 -1
  102. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  103. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +1 -1
  104. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +3 -2
  105. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  106. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +4 -5
  107. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +43 -33
  108. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  109. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.d.ts +18 -9
  110. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +12 -3
  111. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
  112. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +1 -1
  113. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +6 -6
  114. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  115. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +4 -2
  116. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
  117. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +1 -1
  118. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +4 -3
  119. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  120. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.d.ts +7 -0
  121. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js +19 -0
  122. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js.map +1 -0
  123. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +8 -10
  124. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +36 -71
  125. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  126. package/dist/modules/requests/itemProcessors/utility/validateQuery.d.ts +2 -2
  127. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +7 -7
  128. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -1
  129. package/dist/modules/requests/local/LocalRequest.d.ts +2 -0
  130. package/dist/modules/requests/local/LocalRequest.js +18 -1
  131. package/dist/modules/requests/local/LocalRequest.js.map +1 -1
  132. package/dist/modules/requests/local/LocalRequestStatus.d.ts +2 -1
  133. package/dist/modules/requests/local/LocalRequestStatus.js +1 -0
  134. package/dist/modules/requests/local/LocalRequestStatus.js.map +1 -1
  135. package/dist/modules/requests/local/LocalRequestStatusLogEntry.js.map +1 -1
  136. package/dist/modules/requests/local/LocalResponse.js.map +1 -1
  137. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +5 -2
  138. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +45 -28
  139. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  140. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js.map +1 -1
  141. package/dist/modules/requests/outgoing/createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters.js.map +1 -1
  142. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.d.ts +13 -0
  143. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js +35 -0
  144. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js.map +1 -0
  145. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.d.ts +4 -3
  146. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js.map +1 -1
  147. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js.map +1 -1
  148. package/dist/modules/settings/SettingsController.js +19 -4
  149. package/dist/modules/settings/SettingsController.js.map +1 -1
  150. package/dist/modules/settings/index.d.ts +3 -0
  151. package/dist/modules/settings/index.js +20 -0
  152. package/dist/modules/settings/index.js.map +1 -0
  153. package/dist/modules/settings/local/Setting.js.map +1 -1
  154. package/lib-web/nmshd.consumption.js +1121 -471
  155. package/lib-web/nmshd.consumption.js.map +1 -1
  156. package/lib-web/nmshd.consumption.min.js +1 -1
  157. package/lib-web/nmshd.consumption.min.js.map +1 -1
  158. package/package.json +23 -23
  159. package/dist/consumption/ConsumptionErrors.d.ts +0 -24
  160. package/dist/consumption/ConsumptionErrors.js +0 -44
  161. package/dist/consumption/ConsumptionErrors.js.map +0 -1
  162. package/dist/modules/attributes/LocalAttributesController.js.map +0 -1
  163. package/dist/modules/attributes/local/CreateRelationshipAttributeParams.js.map +0 -1
  164. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.d.ts +0 -7
  165. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js +0 -20
  166. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js.map +0 -1
  167. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.d.ts +0 -7
  168. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js +0 -20
  169. package/dist/modules/requests/itemProcessors/shareAttribute/AcceptShareAttributeRequestItemParameters.js.map +0 -1
@@ -15,6 +15,7 @@ const ts_serval_1 = require("@js-soft/ts-serval");
15
15
  const content_1 = require("@nmshd/content");
16
16
  const transport_1 = require("@nmshd/transport");
17
17
  const ts_simple_nameof_1 = require("ts-simple-nameof");
18
+ const consumption_1 = require("../../../../consumption");
18
19
  let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
19
20
  isWithExistingAttribute() {
20
21
  return this.existingAttributeId !== undefined;
@@ -26,8 +27,9 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
26
27
  return this.fromAny(value);
27
28
  }
28
29
  static postFrom(value) {
29
- if (!(value instanceof AcceptReadAttributeRequestItemParameters_1))
30
- throw new Error("this should never happen");
30
+ if (!(value instanceof AcceptReadAttributeRequestItemParameters_1)) {
31
+ throw new consumption_1.ConsumptionError("this should never happen");
32
+ }
31
33
  if (value.existingAttributeId && value.newAttribute) {
32
34
  throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.newAttribute), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.newAttribute)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.existingAttributeId)}.`);
33
35
  }
@@ -1 +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;AAiBzC,IAAa,wCAAwC,gDAArD,MAAa,wCAAyC,SAAQ,wBAAY;IAS/D,uBAAuB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAA;IACjD,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,0CAAwC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAE7G,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,YAAY,EAAE;YACjD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EACvE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACxB,QAAQ,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAC7F,CAAA;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACnD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EACvE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACxB,OAAO,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAC5F,CAAA;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ,CAAA;AA3CG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACA,kBAAM;qFAAA;AAInC;IAFC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8EACkC;AAPtD,wCAAwC;IADpD,IAAA,gBAAI,EAAC,0CAA0C,CAAC;GACpC,wCAAwC,CA8CpD;AA9CY,4FAAwC"}
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;AACzC,yDAA0D;AAiBnD,IAAM,wCAAwC,gDAA9C,MAAM,wCAAyC,SAAQ,wBAAY;IAS/D,uBAAuB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAA;IACjD,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS,CAAA;IAC1C,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,0CAAwC,CAAC,EAAE;YAC9D,MAAM,IAAI,8BAAgB,CAAC,0BAA0B,CAAC,CAAA;SACzD;QAED,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,YAAY,EAAE;YACjD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EACvE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACxB,QAAQ,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAC7F,CAAA;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACnD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EACvE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACxB,OAAO,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAC5F,CAAA;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ,CAAA;AA/CG;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACA,kBAAM;qFAAA;AAEnC;IAAC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8EACkC;AAPtD,wCAAwC;IADpD,IAAA,gBAAI,EAAC,0CAA0C,CAAC;GACpC,wCAAwC,CAgDpD;AAhDY,4FAAwC"}
@@ -5,7 +5,7 @@ import { LocalRequestInfo } from "../IRequestItemProcessor";
5
5
  import { ValidationResult } from "../ValidationResult";
6
6
  import { AcceptReadAttributeRequestItemParametersJSON } from "./AcceptReadAttributeRequestItemParameters";
7
7
  export declare class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor<ReadAttributeRequestItem, AcceptReadAttributeRequestItemParametersJSON> {
8
- canCreateOutgoingRequestItem(requestItem: ReadAttributeRequestItem, _request: Request, recipient: CoreAddress): ValidationResult;
8
+ canCreateOutgoingRequestItem(requestItem: ReadAttributeRequestItem, _request: Request, recipient?: CoreAddress): ValidationResult;
9
9
  canAccept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ValidationResult>;
10
10
  accept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ReadAttributeAcceptResponseItem>;
11
11
  private copyExistingAttribute;
@@ -25,10 +25,11 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
25
25
  if (parsedParams.isWithExistingAttribute()) {
26
26
  const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.existingAttributeId);
27
27
  if (!foundAttribute) {
28
- return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
28
+ return ValidationResult_1.ValidationResult.error(transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
29
29
  }
30
- if (!this.accountController.identity.isMe(foundAttribute.content.owner)) {
31
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
30
+ const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
31
+ if (!ownerIsCurrentIdentity) {
32
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
32
33
  }
33
34
  }
34
35
  return ValidationResult_1.ValidationResult.success();
@@ -1 +1 @@
1
- {"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { RegisterAttributeListenerAcceptResponseItem, RegisterAttributeListenerRequestItem } from "@nmshd/content";
2
+ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
3
+ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
+ import { LocalRequestInfo } from "../IRequestItemProcessor";
5
+ export declare class RegisterAttributeListenerRequestItemProcessor extends GenericRequestItemProcessor<RegisterAttributeListenerRequestItem> {
6
+ accept(requestItem: RegisterAttributeListenerRequestItem, _params: AcceptRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<RegisterAttributeListenerAcceptResponseItem>;
7
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegisterAttributeListenerRequestItemProcessor = void 0;
4
+ const content_1 = require("@nmshd/content");
5
+ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
6
+ class RegisterAttributeListenerRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
7
+ async accept(requestItem, _params, requestInfo) {
8
+ const listener = await this.consumptionController.attributeListeners.createAttributeListener({
9
+ peer: requestInfo.peer,
10
+ query: requestItem.query
11
+ });
12
+ return content_1.RegisterAttributeListenerAcceptResponseItem.from({
13
+ result: content_1.ResponseItemResult.Accepted,
14
+ listenerId: listener.id.toString()
15
+ });
16
+ }
17
+ }
18
+ exports.RegisterAttributeListenerRequestItemProcessor = RegisterAttributeListenerRequestItemProcessor;
19
+ //# sourceMappingURL=RegisterAttributeListenerRequestItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegisterAttributeListenerRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAIuB;AAEvB,gFAA4E;AAG5E,MAAa,6CAA8C,SAAQ,yDAAiE;IAChH,KAAK,CAAC,MAAM,CACxB,WAAiD,EACjD,OAAwC,EACxC,WAA6B;QAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC;YACzF,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,KAAK,EAAE,WAAW,CAAC,KAAK;SAC3B,CAAC,CAAA;QAEF,OAAO,qDAA2C,CAAC,IAAI,CAAC;YACpD,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;SACrC,CAAC,CAAA;IACN,CAAC;CACJ;AAhBD,sGAgBC"}
@@ -1,15 +1,13 @@
1
- import { AcceptResponseItem, Request, ShareAttributeRequestItem } from "@nmshd/content";
1
+ import { RejectResponseItem, Request, ShareAttributeAcceptResponseItem, ShareAttributeRequestItem } from "@nmshd/content";
2
2
  import { CoreAddress } from "@nmshd/transport";
3
+ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
3
4
  import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
5
  import { LocalRequestInfo } from "../IRequestItemProcessor";
5
6
  import { ValidationResult } from "../ValidationResult";
6
- import { AcceptShareAttributeRequestItemParametersJSON } from "./AcceptShareAttributeRequestItemParameters";
7
- export declare class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor<ShareAttributeRequestItem, AcceptShareAttributeRequestItemParametersJSON> {
8
- canCreateOutgoingRequestItem(requestItem: ShareAttributeRequestItem, _request: Request, recipient: CoreAddress): Promise<ValidationResult>;
9
- checkPrerequisitesOfIncomingRequestItem(requestItem: ShareAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<boolean>;
10
- private validateAttributeOwner;
11
- canAccept(_requestItem: ShareAttributeRequestItem, _params: AcceptShareAttributeRequestItemParametersJSON, _requestInfo: LocalRequestInfo): ValidationResult;
12
- accept(requestItem: ShareAttributeRequestItem, _params: AcceptShareAttributeRequestItemParametersJSON, _requestInfo: LocalRequestInfo): Promise<AcceptResponseItem>;
13
- private isAttributeAlreadyShared;
14
- private shareAttribute;
7
+ export declare class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor<ShareAttributeRequestItem> {
8
+ canCreateOutgoingRequestItem(requestItem: ShareAttributeRequestItem, _request: Request, recipient?: CoreAddress): ValidationResult | Promise<ValidationResult>;
9
+ private canCreateWithIdentityAttribute;
10
+ private canCreateWithRelationshipAttribute;
11
+ accept(requestItem: ShareAttributeRequestItem, _params: AcceptRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ShareAttributeAcceptResponseItem>;
12
+ applyIncomingResponseItem(responseItem: ShareAttributeAcceptResponseItem | RejectResponseItem, requestItem: ShareAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
15
13
  }
@@ -2,91 +2,56 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ShareAttributeRequestItemProcessor = void 0;
4
4
  const content_1 = require("@nmshd/content");
5
- const transport_1 = require("@nmshd/transport");
6
5
  const consumption_1 = require("../../../../consumption");
7
6
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
8
7
  const ValidationResult_1 = require("../ValidationResult");
9
8
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
10
- async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
11
- const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
12
- if (!attribute) {
13
- return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(content_1.Attribute, requestItem.attributeId.toString()));
9
+ canCreateOutgoingRequestItem(requestItem, _request, recipient) {
10
+ if (requestItem.attribute instanceof content_1.IdentityAttribute) {
11
+ return this.canCreateWithIdentityAttribute(requestItem);
14
12
  }
15
- const attributeOwnerValidationResult = this.validateAttributeOwner(attribute.content, this.currentIdentityAddress, recipient);
16
- if (attributeOwnerValidationResult.isError()) {
17
- return attributeOwnerValidationResult;
18
- }
19
- return ValidationResult_1.ValidationResult.success();
13
+ return this.canCreateWithRelationshipAttribute(requestItem.attribute, recipient);
20
14
  }
21
- async checkPrerequisitesOfIncomingRequestItem(requestItem, requestInfo) {
22
- const relationshipToShareWith = await this.accountController.relationships.getRelationshipToIdentity(requestItem.shareWith);
23
- if (!relationshipToShareWith) {
24
- return false; // Should the containing Request move to Error state?
25
- }
26
- const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
27
- if (!attribute) {
28
- return false; // Should the containing Request move to Error state?
29
- }
30
- if (this.validateAttributeOwner(attribute.content, requestInfo.peer, this.currentIdentityAddress).isError()) {
31
- return false;
32
- }
33
- return true;
34
- }
35
- validateAttributeOwner(attribute, sender, recipient) {
36
- const attributeOwner = attribute.owner;
37
- if (attribute instanceof content_1.IdentityAttribute) {
38
- if (!attributeOwner.equals(recipient)) {
39
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Can only request sharing of identity attributes owned by the recipient."));
40
- }
41
- }
42
- if (attribute instanceof content_1.RelationshipAttribute) {
43
- if (!attributeOwner.equals(recipient) && !attributeOwner.equals(sender)) {
44
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot request sharing of relationship attributes not owned by recipient or sender."));
45
- }
15
+ canCreateWithIdentityAttribute(requestItem) {
16
+ const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
17
+ const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
18
+ if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
19
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only send Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
46
20
  }
47
21
  return ValidationResult_1.ValidationResult.success();
48
22
  }
49
- canAccept(_requestItem, _params, _requestInfo) {
50
- return ValidationResult_1.ValidationResult.success();
51
- }
52
- async accept(requestItem, _params, _requestInfo) {
53
- const attribute = (await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId));
54
- if (!(await this.isAttributeAlreadyShared(attribute, requestItem.shareWith))) {
55
- await this.shareAttribute(attribute, requestItem.shareWith);
23
+ canCreateWithRelationshipAttribute(attribute, recipient) {
24
+ if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
25
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it."));
56
26
  }
57
- return content_1.AcceptResponseItem.from({ result: content_1.ResponseItemResult.Accepted });
58
- }
59
- async isAttributeAlreadyShared(attribute, shareWith) {
60
- if (attribute.content instanceof content_1.IdentityAttribute) {
61
- return ((await this.consumptionController.attributes.getLocalAttributes({
62
- "shareInfo.sourceAttribute": attribute.shareInfo.sourceAttribute.toString(),
63
- "shareInfo.peer": shareWith.toString()
64
- })).length > 0);
27
+ if (attribute.owner.equals(recipient)) {
28
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
65
29
  }
66
- return ((await this.consumptionController.attributes.getLocalAttributes({
67
- "shareInfo.sourceAttribute": attribute.id.toString(),
68
- "shareInfo.peer": shareWith.toString()
69
- })).length > 0);
30
+ return ValidationResult_1.ValidationResult.success();
70
31
  }
71
- async shareAttribute(attribute, shareWith) {
72
- const createAttributeRequestItem = content_1.CreateAttributeRequestItem.from({
73
- attribute: attribute.content,
74
- mustBeAccepted: true,
75
- sourceAttributeId: attribute.id
76
- });
77
- const createAttributeRequest = await this.consumptionController.outgoingRequests.create({
78
- peer: shareWith,
79
- content: content_1.Request.from({
80
- items: [createAttributeRequestItem]
81
- })
32
+ async accept(requestItem, _params, requestInfo) {
33
+ if (requestItem.attribute.owner.toString() === "") {
34
+ requestItem.attribute.owner = requestInfo.peer;
35
+ }
36
+ const localAttribute = await this.consumptionController.attributes.createPeerLocalAttribute({
37
+ content: requestItem.attribute,
38
+ peer: requestInfo.peer,
39
+ requestReference: requestInfo.id
82
40
  });
83
- const message = await this.accountController.messages.sendMessage({
84
- recipients: [shareWith],
85
- content: createAttributeRequest.content
41
+ return content_1.ShareAttributeAcceptResponseItem.from({
42
+ attributeId: localAttribute.id,
43
+ result: content_1.ResponseItemResult.Accepted
86
44
  });
87
- await this.consumptionController.outgoingRequests.sent({
88
- requestId: createAttributeRequest.id,
89
- requestSourceObject: message
45
+ }
46
+ async applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
47
+ if (!(responseItem instanceof content_1.ShareAttributeAcceptResponseItem)) {
48
+ return;
49
+ }
50
+ await this.consumptionController.attributes.createSharedLocalAttributeCopy({
51
+ attributeId: responseItem.attributeId,
52
+ sourceAttributeId: requestItem.sourceAttributeId,
53
+ peer: requestInfo.peer,
54
+ requestReference: requestInfo.id
90
55
  });
91
56
  }
92
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CASuB;AAEvB,yDAAoD;AAEpD,gFAA4E;AAE5E,0DAAsD;AAEtD,MAAa,kCAAmC,SAAQ,yDAAsD;IAC1F,4BAA4B,CACxC,WAAsC,EACtC,QAAiB,EACjB,SAAuB;QAEvB,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE;YACpD,OAAO,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAA;SAC1D;QAED,OAAO,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACpF,CAAC;IAEO,8BAA8B,CAAC,WAAsC;QACzE,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;QAClE,MAAM,sBAAsB,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC9F,IAAI,CAAC,YAAY,IAAI,CAAC,sBAAsB,EAAE;YAC1C,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,sPAAsP,CACzP,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEO,kCAAkC,CAAC,SAAgC,EAAE,SAAuB;QAChG,IAAI,SAAS,CAAC,eAAe,KAAK,8CAAoC,CAAC,OAAO,EAAE;YAC5E,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,qGAAqG,CACxG,CACJ,CAAA;SACJ;QAED,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,wEAAwE,CAC3E,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAsC,EACtC,OAAwC,EACxC,WAA6B;QAE7B,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC/C,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAA;SACjD;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACxF,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,0CAAgC,CAAC,IAAI,CAAC;YACzC,WAAW,EAAE,cAAc,CAAC,EAAE;YAC9B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;SACtC,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAmE,EACnE,WAAsC,EACtC,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,0CAAgC,CAAC,EAAE;YAC7D,OAAM;SACT;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;YACvE,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;YAChD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;IACN,CAAC;CACJ;AApFD,gFAoFC"}
@@ -1,4 +1,4 @@
1
- import { AbstractAttributeQuery } from "@nmshd/content";
1
+ import { IdentityAttributeQuery, RelationshipAttributeQuery, ThirdPartyRelationshipAttributeQuery } from "@nmshd/content";
2
2
  import { CoreAddress } from "@nmshd/transport";
3
3
  import { ValidationResult } from "../ValidationResult";
4
- export default function validateQuery(query: AbstractAttributeQuery, sender: CoreAddress, recipient: CoreAddress): ValidationResult;
4
+ export default function validateQuery(query: IdentityAttributeQuery | RelationshipAttributeQuery | ThirdPartyRelationshipAttributeQuery, sender: CoreAddress, recipient?: CoreAddress): ValidationResult;
@@ -4,15 +4,15 @@ const content_1 = require("@nmshd/content");
4
4
  const consumption_1 = require("../../../../consumption");
5
5
  const ValidationResult_1 = require("../ValidationResult");
6
6
  function validateQuery(query, sender, recipient) {
7
- if (query instanceof content_1.RelationshipAttributeQuery) {
8
- if (query.thirdParty?.equals(sender)) {
9
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
7
+ if (query instanceof content_1.ThirdPartyRelationshipAttributeQuery) {
8
+ if (query.thirdParty.equals(sender)) {
9
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
10
10
  }
11
- if (query.thirdParty?.equals(recipient)) {
12
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
11
+ if (query.thirdParty.equals(recipient)) {
12
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
13
13
  }
14
- if (query.owner.equals(sender) && query.thirdParty !== undefined) {
15
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
14
+ if (query.owner.equals(sender)) {
15
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
16
16
  }
17
17
  }
18
18
  return ValidationResult_1.ValidationResult.success();
@@ -1 +1 @@
1
- {"version":3,"file":"validateQuery.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/utility/validateQuery.ts"],"names":[],"mappings":";;AAAA,4CAAmF;AAEnF,yDAA2D;AAC3D,0DAAsD;AAEtD,SAAwB,aAAa,CACjC,KAA6B,EAC7B,MAAmB,EACnB,SAAsB;IAEtB,IAAI,KAAK,YAAY,oCAA0B,EAAE;QAC7C,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;YAClC,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,gEAAgE,CACnE,CACJ,CAAA;SACJ;QAED,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE;YACrC,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,wEAAwE,CAC3E,CACJ,CAAA;SACJ;QAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE;YAC9D,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,iDAAiD,CAAC,CACnG,CAAA;SACJ;KACJ;IAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;AACrC,CAAC;AA9BD,gCA8BC"}
1
+ {"version":3,"file":"validateQuery.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/utility/validateQuery.ts"],"names":[],"mappings":";;AAAA,4CAIuB;AAEvB,yDAAoD;AACpD,0DAAsD;AAEtD,SAAwB,aAAa,CACjC,KAAiG,EACjG,MAAmB,EACnB,SAAuB;IAEvB,IAAI,KAAK,YAAY,8CAAoC,EAAE;QACvD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACjC,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,gEAAgE,CAAC,CAC3G,CAAA;SACJ;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,wEAAwE,CAC3E,CACJ,CAAA;SACJ;QAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,iDAAiD,CAAC,CAC5F,CAAA;SACJ;KACJ;IAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;AACrC,CAAC;AA5BD,gCA4BC"}
@@ -34,4 +34,6 @@ export declare class LocalRequest extends CoreSynchronizable implements ILocalRe
34
34
  changeStatus(newStatus: LocalRequestStatus): void;
35
35
  sent(source: LocalRequestSource): void;
36
36
  static from(value: ILocalRequest): LocalRequest;
37
+ isExpired(comparisonDate?: CoreDate): boolean;
38
+ updateStatusBasedOnExpiration(comparisonDate?: CoreDate): boolean;
37
39
  }
@@ -13,6 +13,7 @@ exports.LocalRequest = exports.LocalRequestSource = void 0;
13
13
  const ts_serval_1 = require("@js-soft/ts-serval");
14
14
  const content_1 = require("@nmshd/content");
15
15
  const transport_1 = require("@nmshd/transport");
16
+ const consumption_1 = require("../../../consumption");
16
17
  const LocalRequestStatus_1 = require("./LocalRequestStatus");
17
18
  const LocalRequestStatusLogEntry_1 = require("./LocalRequestStatusLogEntry");
18
19
  const LocalResponse_1 = require("./LocalResponse");
@@ -37,6 +38,8 @@ LocalRequestSource = __decorate([
37
38
  exports.LocalRequestSource = LocalRequestSource;
38
39
  let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
39
40
  changeStatus(newStatus) {
41
+ if (this.status === newStatus)
42
+ throw new consumption_1.ConsumptionError("cannot change status to the same status");
40
43
  const logEntry = LocalRequestStatusLogEntry_1.LocalRequestStatusLogEntry.from({
41
44
  createdAt: transport_1.CoreDate.utc(),
42
45
  oldStatus: this.status,
@@ -47,7 +50,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
47
50
  }
48
51
  sent(source) {
49
52
  if (this.status !== LocalRequestStatus_1.LocalRequestStatus.Draft) {
50
- throw new Error("Local Request has to be in status 'Draft'.");
53
+ throw new consumption_1.ConsumptionError("Local Request has to be in status 'Draft'.");
51
54
  }
52
55
  this.source = source;
53
56
  this.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Open);
@@ -55,6 +58,20 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
55
58
  static from(value) {
56
59
  return this.fromAny(value);
57
60
  }
61
+ isExpired(comparisonDate = transport_1.CoreDate.utc()) {
62
+ if (!this.content.expiresAt)
63
+ return false;
64
+ return comparisonDate.isAfter(this.content.expiresAt.add({ seconds: 10 }));
65
+ }
66
+ updateStatusBasedOnExpiration(comparisonDate = transport_1.CoreDate.utc()) {
67
+ if (this.status === LocalRequestStatus_1.LocalRequestStatus.Completed || this.status === LocalRequestStatus_1.LocalRequestStatus.Expired)
68
+ return false;
69
+ if (this.isExpired(comparisonDate)) {
70
+ this.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Expired);
71
+ return true;
72
+ }
73
+ return false;
74
+ }
58
75
  };
59
76
  __decorate([
60
77
  (0, ts_serval_1.serialize)(),
@@ -1 +1 @@
1
- {"version":3,"file":"LocalRequest.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,4CAAkD;AAClD,gDAWyB;AACzB,6DAAyD;AACzD,6EAAsG;AACtG,mDAA+D;AAQ/D,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,4BAAgB;IAS7C,MAAM,CAAC,IAAI,CAAC,KAA0B;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AATG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;gDACoC;AAI/C;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,kBAAM;qDAAA;AAPf,kBAAkB;IAD9B,IAAA,gBAAI,EAAC,oBAAoB,CAAC;GACd,kBAAkB,CAY9B;AAZY,gDAAkB;AA0B/B,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,8BAAkB;IAiCzC,YAAY,CAAC,SAA6B;QAC7C,MAAM,QAAQ,GAAG,uDAA0B,CAAC,IAAI,CAAC;YAC7C,SAAS,EAAE,oBAAQ,CAAC,GAAG,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,SAAS;SACZ,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC;IAEM,IAAI,CAAC,MAA0B;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,uCAAkB,CAAC,KAAK,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAChE;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,CAAC,uCAAkB,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAoB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAtDG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;2CACU;AAIrB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACE,uBAAW;0CAAA;AAIxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,oBAAQ;+CAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACK,iBAAO;6CAAA;AAIvB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACb,kBAAkB;4CAAA;AAIlC;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACX,6BAAa;8CAAA;AAI/B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;4CACsB;AAIjC;IAFC,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,uDAA0B,EAAE,CAAC;IAC/C,IAAA,oBAAQ,GAAE;;+CACmC;AA/BrC,YAAY;IADxB,IAAA,gBAAI,EAAC,cAAc,CAAC;GACR,YAAY,CAyDxB;AAzDY,oCAAY"}
1
+ {"version":3,"file":"LocalRequest.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalRequest.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export declare enum LocalRequestStatus {
4
4
  DecisionRequired = "DecisionRequired",
5
5
  ManualDecisionRequired = "ManualDecisionRequired",
6
6
  Decided = "Decided",
7
- Completed = "Completed"
7
+ Completed = "Completed",
8
+ Expired = "Expired"
8
9
  }
@@ -9,5 +9,6 @@ var LocalRequestStatus;
9
9
  LocalRequestStatus["ManualDecisionRequired"] = "ManualDecisionRequired";
10
10
  LocalRequestStatus["Decided"] = "Decided";
11
11
  LocalRequestStatus["Completed"] = "Completed";
12
+ LocalRequestStatus["Expired"] = "Expired";
12
13
  })(LocalRequestStatus = exports.LocalRequestStatus || (exports.LocalRequestStatus = {}));
13
14
  //# sourceMappingURL=LocalRequestStatus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalRequestStatus.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalRequestStatus.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,2DAAqC,CAAA;IACrC,uEAAiD,CAAA;IACjD,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;AAC3B,CAAC,EAPW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAO7B"}
1
+ {"version":3,"file":"LocalRequestStatus.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalRequestStatus.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,2DAAqC,CAAA;IACrC,uEAAiD,CAAA;IACjD,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;IACvB,yCAAmB,CAAA;AACvB,CAAC,EARW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAQ7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalRequestStatusLogEntry.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalRequestStatusLogEntry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,gDAA2F;AAC3F,6DAAyD;AAWzD,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,4BAAgB;IAqBrD,MAAM,CAAC,IAAI,CAAC,KAAkC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AArBG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,oBAAQ;6DAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;6DACyB;AAIpC;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;6DACyB;AAIpC;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACT;AAIpB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACT;AAnBX,0BAA0B;IADtC,IAAA,gBAAI,EAAC,4BAA4B,CAAC;GACtB,0BAA0B,CAwBtC;AAxBY,gEAA0B"}
1
+ {"version":3,"file":"LocalRequestStatusLogEntry.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalRequestStatusLogEntry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,gDAA2F;AAC3F,6DAAyD;AAWlD,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,4BAAgB;IAqBrD,MAAM,CAAC,IAAI,CAAC,KAAkC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAvBG;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,oBAAQ;6DAAA;AAE1B;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;6DACyB;AAEpC;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;6DACyB;AAEpC;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACT;AAEpB;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACT;AAnBX,0BAA0B;IADtC,IAAA,gBAAI,EAAC,4BAA4B,CAAC;GACtB,0BAA0B,CAwBtC;AAxBY,gEAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalResponse.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,4CAAoD;AACpD,gDAA4G;AAQ5G,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,4BAAgB;IAS9C,MAAM,CAAC,IAAI,CAAC,KAA2B;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AATG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;iDACkC;AAI7C;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,kBAAM;sDAAA;AAPf,mBAAmB;IAD/B,IAAA,gBAAI,EAAC,qBAAqB,CAAC;GACf,mBAAmB,CAY/B;AAZY,kDAAmB;AAqBhC,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,4BAAgB;IAaxC,MAAM,CAAC,IAAI,CAAC,KAAqB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAbG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,oBAAQ;gDAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACK,kBAAQ;8CAAA;AAIxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACb,mBAAmB;6CAAA;AAX1B,aAAa;IADzB,IAAA,gBAAI,EAAC,eAAe,CAAC;GACT,aAAa,CAgBzB;AAhBY,sCAAa"}
1
+ {"version":3,"file":"LocalResponse.js","sourceRoot":"","sources":["../../../../src/modules/requests/local/LocalResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA8D;AAC9D,4CAAoD;AACpD,gDAA4G;AAQrG,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,4BAAgB;IAS9C,MAAM,CAAC,IAAI,CAAC,KAA2B;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAXG;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;iDACkC;AAE7C;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,kBAAM;sDAAA;AAPf,mBAAmB;IAD/B,IAAA,gBAAI,EAAC,qBAAqB,CAAC;GACf,mBAAmB,CAY/B;AAZY,kDAAmB;AAqBzB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,4BAAgB;IAaxC,MAAM,CAAC,IAAI,CAAC,KAAqB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAfG;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,oBAAQ;gDAAA;AAE1B;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACK,kBAAQ;8CAAA;AAExB;IAAC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACb,mBAAmB;6CAAA;AAX1B,aAAa;IADzB,IAAA,gBAAI,EAAC,eAAe,CAAC;GACT,aAAa,CAgBzB;AAhBY,sCAAa"}
@@ -1,5 +1,5 @@
1
1
  import { EventBus } from "@js-soft/ts-utils";
2
- import { CoreAddress, ICoreId, SynchronizedCollection } from "@nmshd/transport";
2
+ import { CoreAddress, CoreId, ICoreId, SynchronizedCollection } from "@nmshd/transport";
3
3
  import { ConsumptionBaseController } from "../../../consumption";
4
4
  import { ConsumptionController } from "../../../consumption/ConsumptionController";
5
5
  import { RequestItemProcessorRegistry } from "../itemProcessors/RequestItemProcessorRegistry";
@@ -7,6 +7,7 @@ import { ValidationResult } from "../itemProcessors/ValidationResult";
7
7
  import { LocalRequest } from "../local/LocalRequest";
8
8
  import { ICompleteOugoingRequestParameters } from "./completeOutgoingRequest/CompleteOutgoingRequestParameters";
9
9
  import { ICreateOutgoingRequestFromRelationshipCreationChangeParameters } from "./createFromRelationshipCreationChange/CreateOutgoingRequestFromRelationshipCreationChangeParameters";
10
+ import { ICanCreateOutgoingRequestParameters } from "./createOutgoingRequest/CanCreateOutgoingRequestParameters";
10
11
  import { ICreateOutgoingRequestParameters } from "./createOutgoingRequest/CreateOutgoingRequestParameters";
11
12
  import { ISentOutgoingRequestParameters } from "./sentOutgoingRequest/SentOutgoingRequestParameters";
12
13
  export declare class OutgoingRequestsController extends ConsumptionBaseController {
@@ -17,7 +18,7 @@ export declare class OutgoingRequestsController extends ConsumptionBaseControlle
17
18
  constructor(localRequests: SynchronizedCollection, processorRegistry: RequestItemProcessorRegistry, parent: ConsumptionController, eventBus: EventBus, identity: {
18
19
  address: CoreAddress;
19
20
  });
20
- canCreate(params: ICreateOutgoingRequestParameters): Promise<ValidationResult>;
21
+ canCreate(params: ICanCreateOutgoingRequestParameters): Promise<ValidationResult>;
21
22
  private canCreateItems;
22
23
  private canCreateItem;
23
24
  private canCreateItemGroup;
@@ -33,8 +34,10 @@ export declare class OutgoingRequestsController extends ConsumptionBaseControlle
33
34
  private applyItems;
34
35
  private applyItem;
35
36
  getOutgoingRequests(query?: any): Promise<LocalRequest[]>;
37
+ discardOutgoingRequest(id: CoreId): Promise<void>;
36
38
  getOutgoingRequest(id: ICoreId): Promise<LocalRequest | undefined>;
37
39
  private getOrThrow;
38
40
  private update;
39
41
  private assertRequestStatus;
42
+ private updateRequestExpiry;
40
43
  }