@nmshd/runtime 2.0.0-beta.23 → 2.0.0-beta.25

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 (219) hide show
  1. package/dist/DatabaseSchemaUpgrader.js.map +1 -1
  2. package/dist/Runtime.js +8 -1
  3. package/dist/Runtime.js.map +1 -1
  4. package/dist/buildInformation.js +5 -5
  5. package/dist/dataViews/DataViewExpander.js.map +1 -1
  6. package/dist/events/EventProxy.js +8 -6
  7. package/dist/events/EventProxy.js.map +1 -1
  8. package/dist/events/consumption/AttributeListenerCreatedEvent.d.ts +6 -0
  9. package/dist/events/consumption/AttributeListenerCreatedEvent.js +12 -0
  10. package/dist/events/consumption/AttributeListenerCreatedEvent.js.map +1 -0
  11. package/dist/events/consumption/AttributeListenerTriggeredEvent.d.ts +11 -0
  12. package/dist/events/consumption/AttributeListenerTriggeredEvent.js +12 -0
  13. package/dist/events/consumption/AttributeListenerTriggeredEvent.js.map +1 -0
  14. package/dist/events/consumption/index.d.ts +2 -0
  15. package/dist/events/consumption/index.js +2 -0
  16. package/dist/events/consumption/index.js.map +1 -1
  17. package/dist/extensibility/AnonymousServices.js.map +1 -1
  18. package/dist/extensibility/ConsumptionServices.d.ts +3 -2
  19. package/dist/extensibility/ConsumptionServices.js +5 -2
  20. package/dist/extensibility/ConsumptionServices.js.map +1 -1
  21. package/dist/extensibility/TransportServices.js.map +1 -1
  22. package/dist/extensibility/facades/anonymous/AnonymousTokensFacade.js.map +1 -1
  23. package/dist/extensibility/facades/consumption/AttributeListenersFacade.d.ts +10 -0
  24. package/dist/extensibility/facades/consumption/AttributeListenersFacade.js +37 -0
  25. package/dist/extensibility/facades/consumption/AttributeListenersFacade.js.map +1 -0
  26. package/dist/extensibility/facades/consumption/AttributesFacade.js.map +1 -1
  27. package/dist/extensibility/facades/consumption/DraftsFacade.js.map +1 -1
  28. package/dist/extensibility/facades/consumption/IncomingRequestsFacade.js.map +1 -1
  29. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.d.ts +4 -2
  30. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js +8 -2
  31. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js.map +1 -1
  32. package/dist/extensibility/facades/consumption/SettingsFacade.js.map +1 -1
  33. package/dist/extensibility/facades/consumption/index.d.ts +1 -0
  34. package/dist/extensibility/facades/consumption/index.js +1 -0
  35. package/dist/extensibility/facades/consumption/index.js.map +1 -1
  36. package/dist/extensibility/facades/transport/AccountFacade.js.map +1 -1
  37. package/dist/extensibility/facades/transport/ChallengesFacade.js.map +1 -1
  38. package/dist/extensibility/facades/transport/DevicesFacade.js.map +1 -1
  39. package/dist/extensibility/facades/transport/FilesFacade.js.map +1 -1
  40. package/dist/extensibility/facades/transport/IdentityFacade.js.map +1 -1
  41. package/dist/extensibility/facades/transport/MessagesFacade.js.map +1 -1
  42. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.js.map +1 -1
  43. package/dist/extensibility/facades/transport/RelationshipsFacade.js.map +1 -1
  44. package/dist/extensibility/facades/transport/TokensFacade.js.map +1 -1
  45. package/dist/modules/AttributeListenerModule.d.ts +9 -0
  46. package/dist/modules/AttributeListenerModule.js +87 -0
  47. package/dist/modules/AttributeListenerModule.js.map +1 -0
  48. package/dist/modules/index.d.ts +1 -0
  49. package/dist/modules/index.js +1 -0
  50. package/dist/modules/index.js.map +1 -1
  51. package/dist/types/consumption/LocalAttributeDTO.d.ts +1 -0
  52. package/dist/types/consumption/LocalAttributeListenerDTO.d.ts +6 -0
  53. package/dist/types/consumption/LocalAttributeListenerDTO.js +3 -0
  54. package/dist/types/consumption/LocalAttributeListenerDTO.js.map +1 -0
  55. package/dist/types/consumption/index.d.ts +1 -0
  56. package/dist/types/consumption/index.js +1 -0
  57. package/dist/types/consumption/index.js.map +1 -1
  58. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByIdAndKey.js.map +1 -1
  59. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByTruncatedReference.js.map +1 -1
  60. package/dist/useCases/common/Schemas.d.ts +2 -0
  61. package/dist/useCases/common/Schemas.js +328 -2
  62. package/dist/useCases/common/Schemas.js.map +1 -1
  63. package/dist/useCases/common/validation/ValidatableStrings.d.ts +4 -0
  64. package/dist/useCases/consumption/attributeListeners/AttributeListenerMapper.d.ts +6 -0
  65. package/dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js +17 -0
  66. package/dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js.map +1 -0
  67. package/dist/useCases/consumption/attributeListeners/GetAttributeListener.d.ts +16 -0
  68. package/dist/useCases/consumption/attributeListeners/GetAttributeListener.js +51 -0
  69. package/dist/useCases/consumption/attributeListeners/GetAttributeListener.js.map +1 -0
  70. package/dist/useCases/consumption/attributeListeners/GetAttributeListeners.d.ts +9 -0
  71. package/dist/useCases/consumption/attributeListeners/GetAttributeListeners.js +37 -0
  72. package/dist/useCases/consumption/attributeListeners/GetAttributeListeners.js.map +1 -0
  73. package/dist/useCases/consumption/attributeListeners/index.d.ts +3 -0
  74. package/dist/useCases/consumption/attributeListeners/index.js +20 -0
  75. package/dist/useCases/consumption/attributeListeners/index.js.map +1 -0
  76. package/dist/useCases/consumption/attributes/AttributeMapper.js +1 -0
  77. package/dist/useCases/consumption/attributes/AttributeMapper.js.map +1 -1
  78. package/dist/useCases/consumption/attributes/CreateAttribute.d.ts +2 -2
  79. package/dist/useCases/consumption/attributes/CreateAttribute.js +1 -1
  80. package/dist/useCases/consumption/attributes/CreateAttribute.js.map +1 -1
  81. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.d.ts +2 -2
  82. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js +1 -1
  83. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js.map +1 -1
  84. package/dist/useCases/consumption/attributes/DeleteAttribute.d.ts +2 -2
  85. package/dist/useCases/consumption/attributes/DeleteAttribute.js +1 -1
  86. package/dist/useCases/consumption/attributes/DeleteAttribute.js.map +1 -1
  87. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.d.ts +2 -2
  88. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js +1 -1
  89. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js.map +1 -1
  90. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.d.ts +2 -2
  91. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js +1 -1
  92. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js.map +1 -1
  93. package/dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.d.ts +2 -2
  94. package/dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.js +1 -1
  95. package/dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.js.map +1 -1
  96. package/dist/useCases/consumption/attributes/GetAttribute.d.ts +2 -2
  97. package/dist/useCases/consumption/attributes/GetAttribute.js +1 -1
  98. package/dist/useCases/consumption/attributes/GetAttribute.js.map +1 -1
  99. package/dist/useCases/consumption/attributes/GetAttributes.d.ts +3 -2
  100. package/dist/useCases/consumption/attributes/GetAttributes.js +3 -1
  101. package/dist/useCases/consumption/attributes/GetAttributes.js.map +1 -1
  102. package/dist/useCases/consumption/attributes/GetPeerAttributes.d.ts +2 -2
  103. package/dist/useCases/consumption/attributes/GetPeerAttributes.js +1 -1
  104. package/dist/useCases/consumption/attributes/GetPeerAttributes.js.map +1 -1
  105. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.d.ts +2 -2
  106. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js +1 -1
  107. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js.map +1 -1
  108. package/dist/useCases/consumption/attributes/SucceedAttribute.d.ts +2 -2
  109. package/dist/useCases/consumption/attributes/SucceedAttribute.js +1 -1
  110. package/dist/useCases/consumption/attributes/SucceedAttribute.js.map +1 -1
  111. package/dist/useCases/consumption/attributes/UpdateAttribute.d.ts +2 -2
  112. package/dist/useCases/consumption/attributes/UpdateAttribute.js +1 -1
  113. package/dist/useCases/consumption/attributes/UpdateAttribute.js.map +1 -1
  114. package/dist/useCases/consumption/attributes/index.d.ts +1 -0
  115. package/dist/useCases/consumption/attributes/index.js +1 -0
  116. package/dist/useCases/consumption/attributes/index.js.map +1 -1
  117. package/dist/useCases/consumption/drafts/CreateDraft.js.map +1 -1
  118. package/dist/useCases/consumption/drafts/DeleteDraft.js.map +1 -1
  119. package/dist/useCases/consumption/drafts/GetDraft.js.map +1 -1
  120. package/dist/useCases/consumption/drafts/GetDrafts.js.map +1 -1
  121. package/dist/useCases/consumption/drafts/UpdateDraft.js.map +1 -1
  122. package/dist/useCases/consumption/index.d.ts +1 -0
  123. package/dist/useCases/consumption/index.js +1 -0
  124. package/dist/useCases/consumption/index.js.map +1 -1
  125. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js.map +1 -1
  126. package/dist/useCases/consumption/requests/CanAcceptIncomingRequest.js.map +1 -1
  127. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js +5 -7
  128. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js.map +1 -1
  129. package/dist/useCases/consumption/requests/CanRejectIncomingRequest.js.map +1 -1
  130. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.d.ts +2 -6
  131. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js +8 -13
  132. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js.map +1 -1
  133. package/dist/useCases/consumption/requests/CompleteIncomingRequest.d.ts +2 -6
  134. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js +8 -14
  135. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js.map +1 -1
  136. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.d.ts +2 -6
  137. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js +8 -15
  138. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js.map +1 -1
  139. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map +1 -1
  140. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js.map +1 -1
  141. package/dist/useCases/consumption/requests/DiscardOutgoingRequest.d.ts +11 -0
  142. package/dist/useCases/consumption/requests/DiscardOutgoingRequest.js +41 -0
  143. package/dist/useCases/consumption/requests/DiscardOutgoingRequest.js.map +1 -0
  144. package/dist/useCases/consumption/requests/GetIncomingRequest.js.map +1 -1
  145. package/dist/useCases/consumption/requests/GetIncomingRequests.js.map +1 -1
  146. package/dist/useCases/consumption/requests/GetOutgoingRequest.js.map +1 -1
  147. package/dist/useCases/consumption/requests/GetOutgoingRequests.js.map +1 -1
  148. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js.map +1 -1
  149. package/dist/useCases/consumption/requests/RejectIncomingRequest.js.map +1 -1
  150. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js.map +1 -1
  151. package/dist/useCases/consumption/requests/SentOutgoingRequest.js.map +1 -1
  152. package/dist/useCases/consumption/requests/index.d.ts +2 -0
  153. package/dist/useCases/consumption/requests/index.js +2 -0
  154. package/dist/useCases/consumption/requests/index.js.map +1 -1
  155. package/dist/useCases/consumption/settings/CreateSetting.js.map +1 -1
  156. package/dist/useCases/consumption/settings/DeleteSetting.js.map +1 -1
  157. package/dist/useCases/consumption/settings/GetSetting.js.map +1 -1
  158. package/dist/useCases/consumption/settings/GetSettings.js.map +1 -1
  159. package/dist/useCases/consumption/settings/UpdateSetting.js.map +1 -1
  160. package/dist/useCases/transport/account/DisableAutoSync.js.map +1 -1
  161. package/dist/useCases/transport/account/EnableAutoSync.js.map +1 -1
  162. package/dist/useCases/transport/account/GetDeviceInfo.js.map +1 -1
  163. package/dist/useCases/transport/account/GetIdentityInfo.js.map +1 -1
  164. package/dist/useCases/transport/account/GetSyncInfo.js.map +1 -1
  165. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.js.map +1 -1
  166. package/dist/useCases/transport/account/RegisterPushNotificationToken.js.map +1 -1
  167. package/dist/useCases/transport/account/SyncDatawallet.js.map +1 -1
  168. package/dist/useCases/transport/account/SyncEverything.js.map +1 -1
  169. package/dist/useCases/transport/challenges/CreateChallenge.js.map +1 -1
  170. package/dist/useCases/transport/challenges/ValidateChallenge.js.map +1 -1
  171. package/dist/useCases/transport/devices/CreateDevice.js.map +1 -1
  172. package/dist/useCases/transport/devices/CreateDeviceOnboardingToken.js.map +1 -1
  173. package/dist/useCases/transport/devices/DeleteDevice.js.map +1 -1
  174. package/dist/useCases/transport/devices/GetDevice.js.map +1 -1
  175. package/dist/useCases/transport/devices/GetDeviceOnboardingInfo.js.map +1 -1
  176. package/dist/useCases/transport/devices/GetDevices.js.map +1 -1
  177. package/dist/useCases/transport/devices/UpdateDevice.js.map +1 -1
  178. package/dist/useCases/transport/files/CreateQrCodeForFile.js.map +1 -1
  179. package/dist/useCases/transport/files/CreateTokenForFile.js.map +1 -1
  180. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
  181. package/dist/useCases/transport/files/DownloadFile.js.map +1 -1
  182. package/dist/useCases/transport/files/GetFile.js.map +1 -1
  183. package/dist/useCases/transport/files/GetFiles.js.map +1 -1
  184. package/dist/useCases/transport/files/GetOrLoadFile.js.map +1 -1
  185. package/dist/useCases/transport/files/UploadOwnFile.js.map +1 -1
  186. package/dist/useCases/transport/identity/CheckIdentity.js.map +1 -1
  187. package/dist/useCases/transport/messages/DownloadAttachment.js.map +1 -1
  188. package/dist/useCases/transport/messages/GetAttachmentMetadata.js.map +1 -1
  189. package/dist/useCases/transport/messages/GetMessage.js.map +1 -1
  190. package/dist/useCases/transport/messages/GetMessages.js.map +1 -1
  191. package/dist/useCases/transport/messages/SendMessage.js.map +1 -1
  192. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js.map +1 -1
  193. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js.map +1 -1
  194. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js.map +1 -1
  195. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js.map +1 -1
  196. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplate.js.map +1 -1
  197. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js.map +1 -1
  198. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js.map +1 -1
  199. package/dist/useCases/transport/relationships/AcceptRelationshipChange.js.map +1 -1
  200. package/dist/useCases/transport/relationships/CreateRelationship.js.map +1 -1
  201. package/dist/useCases/transport/relationships/CreateRelationshipChange.js.map +1 -1
  202. package/dist/useCases/transport/relationships/GetAttributesForRelationship.d.ts +2 -2
  203. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js +1 -1
  204. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js.map +1 -1
  205. package/dist/useCases/transport/relationships/GetRelationship.js.map +1 -1
  206. package/dist/useCases/transport/relationships/GetRelationshipByAddress.js.map +1 -1
  207. package/dist/useCases/transport/relationships/GetRelationships.js.map +1 -1
  208. package/dist/useCases/transport/relationships/RejectRelationshipChange.js.map +1 -1
  209. package/dist/useCases/transport/relationships/RevokeRelationshipChange.js.map +1 -1
  210. package/dist/useCases/transport/tokens/CreateOwnToken.js.map +1 -1
  211. package/dist/useCases/transport/tokens/GetQRCodeForToken.js.map +1 -1
  212. package/dist/useCases/transport/tokens/GetToken.js.map +1 -1
  213. package/dist/useCases/transport/tokens/GetTokens.js.map +1 -1
  214. package/dist/useCases/transport/tokens/LoadPeerToken.js.map +1 -1
  215. package/lib-web/nmshd.runtime.js +862 -96
  216. package/lib-web/nmshd.runtime.js.map +1 -1
  217. package/lib-web/nmshd.runtime.min.js +3 -3
  218. package/lib-web/nmshd.runtime.min.js.map +1 -1
  219. package/package.json +11 -16
@@ -248,9 +248,12 @@ class Runtime {
248
248
  typescript_ioc_1.Container.bind(consumption_1.ConsumptionController)
249
249
  .factory(() => this.getConsumptionController())
250
250
  .scope(typescript_ioc_1.Scope.Request);
251
- typescript_ioc_1.Container.bind(consumption_1.LocalAttributesController)
251
+ typescript_ioc_1.Container.bind(consumption_1.AttributesController)
252
252
  .factory(() => this.getConsumptionController().attributes)
253
253
  .scope(typescript_ioc_1.Scope.Request);
254
+ typescript_ioc_1.Container.bind(consumption_1.AttributeListenersController)
255
+ .factory(() => this.getConsumptionController().attributeListeners)
256
+ .scope(typescript_ioc_1.Scope.Request);
254
257
  typescript_ioc_1.Container.bind(consumption_1.DraftsController)
255
258
  .factory(() => this.getConsumptionController().drafts)
256
259
  .scope(typescript_ioc_1.Scope.Request);
@@ -308,6 +311,10 @@ class Runtime {
308
311
  const messageModule = new modules_1.MessageModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.MessageModule));
309
312
  this.modules.add(messageModule);
310
313
  break;
314
+ case "AttributeListenerModule":
315
+ const attributeListenerModule = new modules_1.AttributeListenerModule(this, moduleConfiguration, this.loggerFactory.getLogger(modules_1.AttributeListenerModule));
316
+ this.modules.add(attributeListenerModule);
317
+ break;
311
318
  default:
312
319
  throw new Error(`Module ${moduleConfiguration.name} is not a builtin module.`);
313
320
  }
@@ -448,11 +455,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
448
455
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
449
456
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
450
457
  exports.buildInformation = {
451
- version: "2.0.0-beta.23",
452
- build: "109",
453
- date: "2022-09-09T12:00:25+00:00",
454
- commit: "c947562c2d16fb241d86de627a054fef64edc5bf",
455
- dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.4","@js-soft/ts-utils":"^2.2.2","@nmshd/consumption":"2.0.0-beta.15","@nmshd/content":"2.0.0-beta.22","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.4","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.0.3","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
458
+ version: "2.0.0-beta.25",
459
+ build: "111",
460
+ date: "2022-09-22T06:24:14+00:00",
461
+ commit: "602fa4f8449ea0364ce5fdbc15dcf8936876e964",
462
+ dependencies: {"@js-soft/docdb-querytranslator":"1.1.0","@js-soft/logging-abstractions":"1.0.0","@js-soft/ts-serval":"2.0.4","@js-soft/ts-utils":"^2.2.2","@nmshd/consumption":"2.0.0-beta.22","@nmshd/content":"2.0.0-beta.27","@nmshd/crypto":"2.0.1","@nmshd/transport":"2.0.0-beta.5","ajv":"^8.11.0","ajv-errors":"^3.0.0","ajv-formats":"^2.1.1","json-stringify-safe":"^5.0.1","luxon":"^3.0.3","qrcode":"1.5.1","reflect-metadata":"0.1.13","ts-simple-nameof":"1.3.1","typescript-ioc":"3.2.2"},
456
463
  libraries: {
457
464
  serval: ts_serval_1.buildInformation,
458
465
  consumption: consumption_1.buildInformation,
@@ -2273,7 +2280,6 @@ exports.EventProxy = void 0;
2273
2280
  const consumption = __importStar(__webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption"));
2274
2281
  const transport = __importStar(__webpack_require__(/*! @nmshd/transport */ "@nmshd/transport"));
2275
2282
  const useCases_1 = __webpack_require__(/*! ../useCases */ "./dist/useCases/index.js");
2276
- const RequestMapper_1 = __webpack_require__(/*! ../useCases/consumption/requests/RequestMapper */ "./dist/useCases/consumption/requests/RequestMapper.js");
2277
2283
  const consumption_1 = __webpack_require__(/*! ./consumption */ "./dist/events/consumption/index.js");
2278
2284
  const transport_1 = __webpack_require__(/*! ./transport */ "./dist/events/transport/index.js");
2279
2285
  class EventProxy {
@@ -2320,24 +2326,24 @@ class EventProxy {
2320
2326
  this.targetEventBus.publish(new consumption_1.AttributeUpdatedEvent(event.eventTargetAddress, useCases_1.AttributeMapper.toAttributeDTO(event.data)));
2321
2327
  });
2322
2328
  this.subscribeToSourceEvent(consumption.IncomingRequestReceivedEvent, (event) => {
2323
- this.targetEventBus.publish(new consumption_1.IncomingRequestReceivedEvent(event.eventTargetAddress, RequestMapper_1.RequestMapper.toLocalRequestDTO(event.data)));
2329
+ this.targetEventBus.publish(new consumption_1.IncomingRequestReceivedEvent(event.eventTargetAddress, useCases_1.RequestMapper.toLocalRequestDTO(event.data)));
2324
2330
  });
2325
2331
  this.subscribeToSourceEvent(consumption.IncomingRequestStatusChangedEvent, (event) => {
2326
2332
  this.targetEventBus.publish(new consumption_1.IncomingRequestStatusChangedEvent(event.eventTargetAddress, {
2327
- request: RequestMapper_1.RequestMapper.toLocalRequestDTO(event.data.request),
2333
+ request: useCases_1.RequestMapper.toLocalRequestDTO(event.data.request),
2328
2334
  oldStatus: event.data.oldStatus,
2329
2335
  newStatus: event.data.newStatus
2330
2336
  }));
2331
2337
  });
2332
2338
  this.subscribeToSourceEvent(consumption.OutgoingRequestCreatedEvent, (event) => {
2333
- this.targetEventBus.publish(new consumption_1.OutgoingRequestCreatedEvent(event.eventTargetAddress, RequestMapper_1.RequestMapper.toLocalRequestDTO(event.data)));
2339
+ this.targetEventBus.publish(new consumption_1.OutgoingRequestCreatedEvent(event.eventTargetAddress, useCases_1.RequestMapper.toLocalRequestDTO(event.data)));
2334
2340
  });
2335
2341
  this.subscribeToSourceEvent(consumption.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent, (event) => {
2336
- this.targetEventBus.publish(new consumption_1.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(event.eventTargetAddress, RequestMapper_1.RequestMapper.toLocalRequestDTO(event.data)));
2342
+ this.targetEventBus.publish(new consumption_1.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent(event.eventTargetAddress, useCases_1.RequestMapper.toLocalRequestDTO(event.data)));
2337
2343
  });
2338
2344
  this.subscribeToSourceEvent(consumption.OutgoingRequestStatusChangedEvent, (event) => {
2339
2345
  this.targetEventBus.publish(new consumption_1.OutgoingRequestStatusChangedEvent(event.eventTargetAddress, {
2340
- request: RequestMapper_1.RequestMapper.toLocalRequestDTO(event.data.request),
2346
+ request: useCases_1.RequestMapper.toLocalRequestDTO(event.data.request),
2341
2347
  oldStatus: event.data.oldStatus,
2342
2348
  newStatus: event.data.newStatus
2343
2349
  }));
@@ -2345,6 +2351,9 @@ class EventProxy {
2345
2351
  this.subscribeToSourceEvent(consumption.SharedAttributeCopyCreatedEvent, (event) => {
2346
2352
  this.targetEventBus.publish(new consumption_1.SharedAttributeCopyCreatedEvent(event.eventTargetAddress, useCases_1.AttributeMapper.toAttributeDTO(event.data)));
2347
2353
  });
2354
+ this.subscribeToSourceEvent(consumption.AttributeListenerCreatedEvent, (event) => {
2355
+ this.targetEventBus.publish(new consumption_1.AttributeListenerCreatedEvent(event.eventTargetAddress, useCases_1.AttributeListenerMapper.toAttributeListenerDTO(event.data)));
2356
+ });
2348
2357
  }
2349
2358
  subscribeToSourceEvent(subscriptionTarget, handler) {
2350
2359
  const subscriptionId = this.sourceEventBus.subscribe(subscriptionTarget, handler);
@@ -2403,6 +2412,50 @@ AttributeDeletedEvent.namespace = "consumption.attributeDeleted";
2403
2412
 
2404
2413
  /***/ }),
2405
2414
 
2415
+ /***/ "./dist/events/consumption/AttributeListenerCreatedEvent.js":
2416
+ /*!******************************************************************!*\
2417
+ !*** ./dist/events/consumption/AttributeListenerCreatedEvent.js ***!
2418
+ \******************************************************************/
2419
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2420
+
2421
+ "use strict";
2422
+
2423
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2424
+ exports.AttributeListenerCreatedEvent = void 0;
2425
+ const DataEvent_1 = __webpack_require__(/*! ../DataEvent */ "./dist/events/DataEvent.js");
2426
+ class AttributeListenerCreatedEvent extends DataEvent_1.DataEvent {
2427
+ constructor(eventTargetAddress, data) {
2428
+ super(AttributeListenerCreatedEvent.namespace, eventTargetAddress, data);
2429
+ }
2430
+ }
2431
+ exports.AttributeListenerCreatedEvent = AttributeListenerCreatedEvent;
2432
+ AttributeListenerCreatedEvent.namespace = "consumption.attributeListenerCreated";
2433
+ //# sourceMappingURL=AttributeListenerCreatedEvent.js.map
2434
+
2435
+ /***/ }),
2436
+
2437
+ /***/ "./dist/events/consumption/AttributeListenerTriggeredEvent.js":
2438
+ /*!********************************************************************!*\
2439
+ !*** ./dist/events/consumption/AttributeListenerTriggeredEvent.js ***!
2440
+ \********************************************************************/
2441
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2442
+
2443
+ "use strict";
2444
+
2445
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2446
+ exports.AttributeListenerTriggeredEvent = void 0;
2447
+ const DataEvent_1 = __webpack_require__(/*! ../DataEvent */ "./dist/events/DataEvent.js");
2448
+ class AttributeListenerTriggeredEvent extends DataEvent_1.DataEvent {
2449
+ constructor(eventTargetAddress, data) {
2450
+ super(AttributeListenerTriggeredEvent.namespace, eventTargetAddress, data);
2451
+ }
2452
+ }
2453
+ exports.AttributeListenerTriggeredEvent = AttributeListenerTriggeredEvent;
2454
+ AttributeListenerTriggeredEvent.namespace = "consumption.attributeListenerTriggered";
2455
+ //# sourceMappingURL=AttributeListenerTriggeredEvent.js.map
2456
+
2457
+ /***/ }),
2458
+
2406
2459
  /***/ "./dist/events/consumption/AttributeSucceededEvent.js":
2407
2460
  /*!************************************************************!*\
2408
2461
  !*** ./dist/events/consumption/AttributeSucceededEvent.js ***!
@@ -2720,6 +2773,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
2720
2773
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2721
2774
  __exportStar(__webpack_require__(/*! ./AttributeCreatedEvent */ "./dist/events/consumption/AttributeCreatedEvent.js"), exports);
2722
2775
  __exportStar(__webpack_require__(/*! ./AttributeDeletedEvent */ "./dist/events/consumption/AttributeDeletedEvent.js"), exports);
2776
+ __exportStar(__webpack_require__(/*! ./AttributeListenerCreatedEvent */ "./dist/events/consumption/AttributeListenerCreatedEvent.js"), exports);
2777
+ __exportStar(__webpack_require__(/*! ./AttributeListenerTriggeredEvent */ "./dist/events/consumption/AttributeListenerTriggeredEvent.js"), exports);
2723
2778
  __exportStar(__webpack_require__(/*! ./AttributeSucceededEvent */ "./dist/events/consumption/AttributeSucceededEvent.js"), exports);
2724
2779
  __exportStar(__webpack_require__(/*! ./AttributeUpdatedEvent */ "./dist/events/consumption/AttributeUpdatedEvent.js"), exports);
2725
2780
  __exportStar(__webpack_require__(/*! ./IncomingRequestReceivedEvent */ "./dist/events/consumption/IncomingRequestReceivedEvent.js"), exports);
@@ -3115,12 +3170,13 @@ exports.ConsumptionServices = void 0;
3115
3170
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
3116
3171
  const consumption_1 = __webpack_require__(/*! ./facades/consumption */ "./dist/extensibility/facades/consumption/index.js");
3117
3172
  let ConsumptionServices = class ConsumptionServices {
3118
- constructor(attributes, drafts, settings, incomingRequests, outgoingRequests) {
3173
+ constructor(attributes, drafts, settings, incomingRequests, outgoingRequests, attributeListeners) {
3119
3174
  this.attributes = attributes;
3120
3175
  this.drafts = drafts;
3121
3176
  this.settings = settings;
3122
3177
  this.incomingRequests = incomingRequests;
3123
3178
  this.outgoingRequests = outgoingRequests;
3179
+ this.attributeListeners = attributeListeners;
3124
3180
  }
3125
3181
  };
3126
3182
  ConsumptionServices = __decorate([
@@ -3129,11 +3185,13 @@ ConsumptionServices = __decorate([
3129
3185
  __param(2, typescript_ioc_1.Inject),
3130
3186
  __param(3, typescript_ioc_1.Inject),
3131
3187
  __param(4, typescript_ioc_1.Inject),
3188
+ __param(5, typescript_ioc_1.Inject),
3132
3189
  __metadata("design:paramtypes", [consumption_1.AttributesFacade,
3133
3190
  consumption_1.DraftsFacade,
3134
3191
  consumption_1.SettingsFacade,
3135
3192
  consumption_1.IncomingRequestsFacade,
3136
- consumption_1.OutgoingRequestsFacade])
3193
+ consumption_1.OutgoingRequestsFacade,
3194
+ consumption_1.AttributeListenersFacade])
3137
3195
  ], ConsumptionServices);
3138
3196
  exports.ConsumptionServices = ConsumptionServices;
3139
3197
  //# sourceMappingURL=ConsumptionServices.js.map
@@ -3274,6 +3332,53 @@ __exportStar(__webpack_require__(/*! ./AnonymousTokensFacade */ "./dist/extensib
3274
3332
 
3275
3333
  /***/ }),
3276
3334
 
3335
+ /***/ "./dist/extensibility/facades/consumption/AttributeListenersFacade.js":
3336
+ /*!****************************************************************************!*\
3337
+ !*** ./dist/extensibility/facades/consumption/AttributeListenersFacade.js ***!
3338
+ \****************************************************************************/
3339
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3340
+
3341
+ "use strict";
3342
+
3343
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3344
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3345
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3346
+ 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;
3347
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3348
+ };
3349
+ var __metadata = (this && this.__metadata) || function (k, v) {
3350
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3351
+ };
3352
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
3353
+ return function (target, key) { decorator(target, key, paramIndex); }
3354
+ };
3355
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
3356
+ exports.AttributeListenersFacade = void 0;
3357
+ const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
3358
+ const useCases_1 = __webpack_require__(/*! ../../../useCases */ "./dist/useCases/index.js");
3359
+ let AttributeListenersFacade = class AttributeListenersFacade {
3360
+ constructor(getAttributeListenerUseCase, getAttributeListenersUseCase) {
3361
+ this.getAttributeListenerUseCase = getAttributeListenerUseCase;
3362
+ this.getAttributeListenersUseCase = getAttributeListenersUseCase;
3363
+ }
3364
+ async getAttributeListener(request) {
3365
+ return await this.getAttributeListenerUseCase.execute(request);
3366
+ }
3367
+ async getAttributeListeners() {
3368
+ return await this.getAttributeListenersUseCase.execute();
3369
+ }
3370
+ };
3371
+ AttributeListenersFacade = __decorate([
3372
+ __param(0, typescript_ioc_1.Inject),
3373
+ __param(1, typescript_ioc_1.Inject),
3374
+ __metadata("design:paramtypes", [useCases_1.GetAttributeListenerUseCase,
3375
+ useCases_1.GetAttributeListenersUseCase])
3376
+ ], AttributeListenersFacade);
3377
+ exports.AttributeListenersFacade = AttributeListenersFacade;
3378
+ //# sourceMappingURL=AttributeListenersFacade.js.map
3379
+
3380
+ /***/ }),
3381
+
3277
3382
  /***/ "./dist/extensibility/facades/consumption/AttributesFacade.js":
3278
3383
  /*!********************************************************************!*\
3279
3384
  !*** ./dist/extensibility/facades/consumption/AttributesFacade.js ***!
@@ -3566,7 +3671,7 @@ exports.OutgoingRequestsFacade = void 0;
3566
3671
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
3567
3672
  const useCases_1 = __webpack_require__(/*! ../../../useCases */ "./dist/useCases/index.js");
3568
3673
  let OutgoingRequestsFacade = class OutgoingRequestsFacade {
3569
- constructor(canCreateUseCase, createUseCase, sentUseCase, createAndCompleteFromRelationshipCreationChangeUseCase, completeUseCase, getRequestUseCase, getRequestsUseCase) {
3674
+ constructor(canCreateUseCase, createUseCase, sentUseCase, createAndCompleteFromRelationshipCreationChangeUseCase, completeUseCase, getRequestUseCase, getRequestsUseCase, discardRequestUseCase) {
3570
3675
  this.canCreateUseCase = canCreateUseCase;
3571
3676
  this.createUseCase = createUseCase;
3572
3677
  this.sentUseCase = sentUseCase;
@@ -3574,6 +3679,7 @@ let OutgoingRequestsFacade = class OutgoingRequestsFacade {
3574
3679
  this.completeUseCase = completeUseCase;
3575
3680
  this.getRequestUseCase = getRequestUseCase;
3576
3681
  this.getRequestsUseCase = getRequestsUseCase;
3682
+ this.discardRequestUseCase = discardRequestUseCase;
3577
3683
  }
3578
3684
  async canCreate(request) {
3579
3685
  return await this.canCreateUseCase.execute(request);
@@ -3596,6 +3702,9 @@ let OutgoingRequestsFacade = class OutgoingRequestsFacade {
3596
3702
  async getRequests(request) {
3597
3703
  return await this.getRequestsUseCase.execute(request);
3598
3704
  }
3705
+ async discard(request) {
3706
+ return await this.discardRequestUseCase.execute(request);
3707
+ }
3599
3708
  };
3600
3709
  OutgoingRequestsFacade = __decorate([
3601
3710
  __param(0, typescript_ioc_1.Inject),
@@ -3605,13 +3714,15 @@ OutgoingRequestsFacade = __decorate([
3605
3714
  __param(4, typescript_ioc_1.Inject),
3606
3715
  __param(5, typescript_ioc_1.Inject),
3607
3716
  __param(6, typescript_ioc_1.Inject),
3717
+ __param(7, typescript_ioc_1.Inject),
3608
3718
  __metadata("design:paramtypes", [useCases_1.CanCreateOutgoingRequestUseCase,
3609
3719
  useCases_1.CreateOutgoingRequestUseCase,
3610
3720
  useCases_1.SentOutgoingRequestUseCase,
3611
3721
  useCases_1.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeUseCase,
3612
3722
  useCases_1.CompleteOutgoingRequestUseCase,
3613
3723
  useCases_1.GetOutgoingRequestUseCase,
3614
- useCases_1.GetOutgoingRequestsUseCase])
3724
+ useCases_1.GetOutgoingRequestsUseCase,
3725
+ useCases_1.DiscardOutgoingRequestUseCase])
3615
3726
  ], OutgoingRequestsFacade);
3616
3727
  exports.OutgoingRequestsFacade = OutgoingRequestsFacade;
3617
3728
  //# sourceMappingURL=OutgoingRequestsFacade.js.map
@@ -3706,6 +3817,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
3706
3817
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
3707
3818
  };
3708
3819
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3820
+ __exportStar(__webpack_require__(/*! ./AttributeListenersFacade */ "./dist/extensibility/facades/consumption/AttributeListenersFacade.js"), exports);
3709
3821
  __exportStar(__webpack_require__(/*! ./AttributesFacade */ "./dist/extensibility/facades/consumption/AttributesFacade.js"), exports);
3710
3822
  __exportStar(__webpack_require__(/*! ./DraftsFacade */ "./dist/extensibility/facades/consumption/DraftsFacade.js"), exports);
3711
3823
  __exportStar(__webpack_require__(/*! ./IncomingRequestsFacade */ "./dist/extensibility/facades/consumption/IncomingRequestsFacade.js"), exports);
@@ -4540,6 +4652,103 @@ __exportStar(__webpack_require__(/*! ./useCases */ "./dist/useCases/index.js"),
4540
4652
 
4541
4653
  /***/ }),
4542
4654
 
4655
+ /***/ "./dist/modules/AttributeListenerModule.js":
4656
+ /*!*************************************************!*\
4657
+ !*** ./dist/modules/AttributeListenerModule.js ***!
4658
+ \*************************************************/
4659
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4660
+
4661
+ "use strict";
4662
+
4663
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
4664
+ exports.AttributeListenerModule = void 0;
4665
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
4666
+ const events_1 = __webpack_require__(/*! ../events */ "./dist/events/index.js");
4667
+ const extensibility_1 = __webpack_require__(/*! ../extensibility */ "./dist/extensibility/index.js");
4668
+ class AttributeListenerModule extends extensibility_1.RuntimeModule {
4669
+ init() {
4670
+ // Nothing to do here
4671
+ }
4672
+ start() {
4673
+ this.subscribeToEvent(events_1.AttributeCreatedEvent, this.handleAttributeCreated.bind(this));
4674
+ }
4675
+ async handleAttributeCreated(event) {
4676
+ const services = await this.runtime.getServices(event.namespace);
4677
+ const createdAttribute = event.data;
4678
+ if (createdAttribute.content["@type"] === "IdentityAttribute" && createdAttribute.shareInfo)
4679
+ return;
4680
+ if (createdAttribute.content["@type"] === "RelationshipAttribute" && createdAttribute.content.confidentiality === content_1.RelationshipAttributeConfidentiality.Private)
4681
+ return;
4682
+ const getAttributeListenersResult = await services.consumptionServices.attributeListeners.getAttributeListeners();
4683
+ if (getAttributeListenersResult.isError) {
4684
+ this.logger.error("Could not get attribute listeners", getAttributeListenersResult.error);
4685
+ return;
4686
+ }
4687
+ const attributeListeners = getAttributeListenersResult.value;
4688
+ const promises = attributeListeners.map((attributeListener) => this.createRequestIfAttributeMatchesQuery(services, attributeListener, event.data, event.eventTargetAddress));
4689
+ await Promise.all(promises);
4690
+ }
4691
+ async createRequestIfAttributeMatchesQuery(services, attributeListener, attribute, eventTargetAddress) {
4692
+ const matches = await this.doesAttributeMatchQuery(services, attributeListener, attribute);
4693
+ if (!matches)
4694
+ return;
4695
+ const requestItem = {
4696
+ "@type": "ShareAttributeRequestItem",
4697
+ // The owner is set to the Request sender, because RelationshipAttributes of other Relationships can be shared here.
4698
+ attribute: { ...attribute.content, owner: eventTargetAddress },
4699
+ sourceAttributeId: attribute.id,
4700
+ mustBeAccepted: true,
4701
+ metadata: { attributeListenerId: attributeListener.id }
4702
+ };
4703
+ const requestCreatedResult = await services.consumptionServices.outgoingRequests.create({
4704
+ content: { items: [requestItem] },
4705
+ peer: attributeListener.peer
4706
+ });
4707
+ if (requestCreatedResult.isError) {
4708
+ this.logger.error("Could not create request", requestCreatedResult.error);
4709
+ return;
4710
+ }
4711
+ this.runtime.eventBus.publish(new events_1.AttributeListenerTriggeredEvent(eventTargetAddress, {
4712
+ attributeListener: attributeListener,
4713
+ attribute: attribute,
4714
+ request: requestCreatedResult.value
4715
+ }));
4716
+ }
4717
+ async doesAttributeMatchQuery(services, attributeListener, attribute) {
4718
+ const query = attributeListener.query;
4719
+ switch (query["@type"]) {
4720
+ case "IdentityAttributeQuery": {
4721
+ if (attribute.content["@type"] !== "IdentityAttribute")
4722
+ return false;
4723
+ const result = await services.consumptionServices.attributes.executeIdentityAttributeQuery({ query: query });
4724
+ if (result.isError) {
4725
+ this.logger.error("Could not execute IdentityAttributeQuery", result.error);
4726
+ return false;
4727
+ }
4728
+ return !!result.value.find((a) => a.id === attribute.id);
4729
+ }
4730
+ case "ThirdPartyRelationshipAttributeQuery": {
4731
+ if (attribute.content["@type"] !== "RelationshipAttribute")
4732
+ return false;
4733
+ const result = await services.consumptionServices.attributes.executeThirdPartyRelationshipAttributeQuery({ query: query });
4734
+ if (result.isError) {
4735
+ if (result.error.code !== "error.runtime.recordNotFound")
4736
+ this.logger.error("Could not execute ThirdPartyRelationshipAttributeQuery", result.error);
4737
+ return false;
4738
+ }
4739
+ return result.value.id === attribute.id;
4740
+ }
4741
+ }
4742
+ }
4743
+ stop() {
4744
+ this.unsubscribeFromAllEvents();
4745
+ }
4746
+ }
4747
+ exports.AttributeListenerModule = AttributeListenerModule;
4748
+ //# sourceMappingURL=AttributeListenerModule.js.map
4749
+
4750
+ /***/ }),
4751
+
4543
4752
  /***/ "./dist/modules/DeciderModule.js":
4544
4753
  /*!***************************************!*\
4545
4754
  !*** ./dist/modules/DeciderModule.js ***!
@@ -4899,6 +5108,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
4899
5108
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4900
5109
  };
4901
5110
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5111
+ __exportStar(__webpack_require__(/*! ./AttributeListenerModule */ "./dist/modules/AttributeListenerModule.js"), exports);
4902
5112
  __exportStar(__webpack_require__(/*! ./DeciderModule */ "./dist/modules/DeciderModule.js"), exports);
4903
5113
  __exportStar(__webpack_require__(/*! ./MessageModule */ "./dist/modules/MessageModule.js"), exports);
4904
5114
  __exportStar(__webpack_require__(/*! ./RequestModule */ "./dist/modules/RequestModule.js"), exports);
@@ -4945,6 +5155,19 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
4945
5155
 
4946
5156
  /***/ }),
4947
5157
 
5158
+ /***/ "./dist/types/consumption/LocalAttributeListenerDTO.js":
5159
+ /*!*************************************************************!*\
5160
+ !*** ./dist/types/consumption/LocalAttributeListenerDTO.js ***!
5161
+ \*************************************************************/
5162
+ /***/ ((__unused_webpack_module, exports) => {
5163
+
5164
+ "use strict";
5165
+
5166
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
5167
+ //# sourceMappingURL=LocalAttributeListenerDTO.js.map
5168
+
5169
+ /***/ }),
5170
+
4948
5171
  /***/ "./dist/types/consumption/LocalRequestDTO.js":
4949
5172
  /*!***************************************************!*\
4950
5173
  !*** ./dist/types/consumption/LocalRequestDTO.js ***!
@@ -5009,6 +5232,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
5009
5232
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5010
5233
  __exportStar(__webpack_require__(/*! ./DraftDTO */ "./dist/types/consumption/DraftDTO.js"), exports);
5011
5234
  __exportStar(__webpack_require__(/*! ./LocalAttributeDTO */ "./dist/types/consumption/LocalAttributeDTO.js"), exports);
5235
+ __exportStar(__webpack_require__(/*! ./LocalAttributeListenerDTO */ "./dist/types/consumption/LocalAttributeListenerDTO.js"), exports);
5012
5236
  __exportStar(__webpack_require__(/*! ./LocalRequestDTO */ "./dist/types/consumption/LocalRequestDTO.js"), exports);
5013
5237
  __exportStar(__webpack_require__(/*! ./RequestValidationResultDTO */ "./dist/types/consumption/RequestValidationResultDTO.js"), exports);
5014
5238
  __exportStar(__webpack_require__(/*! ./SettingDTO */ "./dist/types/consumption/SettingDTO.js"), exports);
@@ -5806,8 +6030,8 @@ exports.JsonSchema = JsonSchema;
5806
6030
  "use strict";
5807
6031
 
5808
6032
  Object.defineProperty(exports, "__esModule", ({ value: true }));
5809
- exports.ValidateChallengeRequest = exports.CreateChallengeRequest = exports.CreateDeviceChallengeRequest = exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.LoadItemFromTruncatedReferenceRequest = exports.DownloadFileRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.SentOutgoingRequestRequest = exports.RequireManualDecisionOfIncomingRequestRequest = exports.ReceivedIncomingRequestRequest = exports.GetOutgoingRequestsRequest = exports.GetOutgoingRequestRequest = exports.GetIncomingRequestsRequest = exports.GetIncomingRequestRequest = exports.CreateOutgoingRequestRequest = exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest = exports.CompleteOutgoingRequestRequest = exports.CompleteIncomingRequestRequest = exports.CheckPrerequisitesOfIncomingRequestRequest = exports.RejectIncomingRequestRequest = exports.CanCreateOutgoingRequestRequest = exports.AcceptIncomingRequestRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.GetSharedToPeerAttributesRequest = exports.GetPeerAttributesRequest = exports.GetAttributesRequest = exports.GetAttributeRequest = exports.ExecuteThirdPartyRelationshipAttributeQueryRequest = exports.ExecuteRelationshipAttributeQueryRequest = exports.ExecuteIdentityAttributeQueryRequest = exports.DeleteAttributeRequest = exports.CreateSharedAttributeCopyRequest = exports.CreateAttributeRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
5810
- exports.LoadPeerTokenRequest = exports.LoadPeerTokenViaSecretRequest = exports.LoadPeerTokenViaReferenceRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.LoadPeerRelationshipTemplateViaReferenceRequest = exports.LoadPeerRelationshipTemplateViaSecretRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateQrCodeForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.GetAttributesForRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileValidatableRequest = exports.UploadOwnFileRequest = exports.GetOrLoadFileRequest = exports.GetOrLoadFileViaReferenceRequest = exports.GetOrLoadFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = exports.CreateTokenForFileRequest = exports.CreateQrCodeForFileRequest = exports.UpdateDeviceRequest = exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = void 0;
6033
+ exports.CreateDeviceChallengeRequest = exports.CreateIdentityChallengeRequest = exports.CreateRelationshipChallengeRequest = exports.SyncEverythingRequest = exports.DownloadAttachmentRequest = exports.SyncDatawalletRequest = exports.RegisterPushNotificationTokenRequest = exports.LoadItemFromTruncatedReferenceRequest = exports.DownloadFileRequest = exports.UpdateSettingRequest = exports.GetSettingsRequest = exports.GetSettingRequest = exports.DeleteSettingRequest = exports.CreateSettingRequest = exports.SentOutgoingRequestRequest = exports.RequireManualDecisionOfIncomingRequestRequest = exports.ReceivedIncomingRequestRequest = exports.GetOutgoingRequestsRequest = exports.GetOutgoingRequestRequest = exports.GetIncomingRequestsRequest = exports.GetIncomingRequestRequest = exports.DiscardOutgoingRequestRequest = exports.CreateOutgoingRequestRequest = exports.CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeRequest = exports.CompleteOutgoingRequestRequest = exports.CompleteIncomingRequestRequest = exports.CheckPrerequisitesOfIncomingRequestRequest = exports.RejectIncomingRequestRequest = exports.CanCreateOutgoingRequestRequest = exports.AcceptIncomingRequestRequest = exports.UpdateDraftRequest = exports.GetDraftsRequest = exports.GetDraftRequest = exports.DeleteDraftRequest = exports.CreateDraftRequest = exports.UpdateAttributeRequest = exports.SucceedAttributeRequest = exports.GetSharedToPeerAttributesRequest = exports.GetPeerAttributesRequest = exports.GetAttributesRequest = exports.GetAttributeRequest = exports.ExecuteThirdPartyRelationshipAttributeQueryRequest = exports.ExecuteRelationshipAttributeQueryRequest = exports.ExecuteIdentityAttributeQueryRequest = exports.DeleteAttributeRequest = exports.CreateSharedAttributeCopyRequest = exports.CreateAttributeRequest = exports.GetAttributeListenerRequest = exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = exports.LoadPeerTokenAnonymousByIdAndKeyRequest = void 0;
6034
+ exports.LoadPeerTokenRequest = exports.LoadPeerTokenViaSecretRequest = exports.LoadPeerTokenViaReferenceRequest = exports.GetTokensRequest = exports.GetTokenRequest = exports.GetQRCodeForTokenRequest = exports.CreateOwnTokenRequest = exports.LoadPeerRelationshipTemplateRequest = exports.LoadPeerRelationshipTemplateViaReferenceRequest = exports.LoadPeerRelationshipTemplateViaSecretRequest = exports.GetRelationshipTemplatesRequest = exports.GetRelationshipTemplateRequest = exports.CreateTokenQrCodeForOwnTemplateRequest = exports.CreateTokenForOwnTemplateRequest = exports.CreateQrCodeForOwnTemplateRequest = exports.CreateOwnRelationshipTemplateRequest = exports.RevokeRelationshipChangeRequest = exports.RejectRelationshipChangeRequest = exports.GetRelationshipsRequest = exports.GetRelationshipByAddressRequest = exports.GetRelationshipRequest = exports.GetAttributesForRelationshipRequest = exports.CreateRelationshipChangeRequest = exports.CreateRelationshipRequest = exports.AcceptRelationshipChangeRequest = exports.SendMessageRequest = exports.GetMessagesRequest = exports.GetMessageRequest = exports.GetAttachmentMetadataRequest = exports.CheckIdentityRequest = exports.UploadOwnFileValidatableRequest = exports.UploadOwnFileRequest = exports.GetOrLoadFileRequest = exports.GetOrLoadFileViaReferenceRequest = exports.GetOrLoadFileViaSecretRequest = exports.GetFilesRequest = exports.GetFileRequest = exports.CreateTokenQrCodeForFileRequest = exports.CreateTokenForFileRequest = exports.CreateQrCodeForFileRequest = exports.UpdateDeviceRequest = exports.GetDeviceOnboardingInfoRequest = exports.GetDeviceRequest = exports.DeleteDeviceRequest = exports.CreateDeviceOnboardingTokenRequest = exports.CreateDeviceRequest = exports.ValidateChallengeRequest = exports.CreateChallengeRequest = void 0;
5811
6035
  exports.LoadPeerTokenAnonymousByIdAndKeyRequest = {
5812
6036
  "$schema": "http://json-schema.org/draft-07/schema#",
5813
6037
  "$ref": "#/definitions/LoadPeerTokenAnonymousByIdAndKeyRequest",
@@ -5856,6 +6080,28 @@ exports.LoadPeerTokenAnonymousByTruncatedReferenceRequest = {
5856
6080
  }
5857
6081
  }
5858
6082
  };
6083
+ exports.GetAttributeListenerRequest = {
6084
+ "$schema": "http://json-schema.org/draft-07/schema#",
6085
+ "$ref": "#/definitions/GetAttributeListenerRequest",
6086
+ "definitions": {
6087
+ "GetAttributeListenerRequest": {
6088
+ "type": "object",
6089
+ "properties": {
6090
+ "id": {
6091
+ "$ref": "#/definitions/AttributeListenerIdString"
6092
+ }
6093
+ },
6094
+ "required": [
6095
+ "id"
6096
+ ],
6097
+ "additionalProperties": false
6098
+ },
6099
+ "AttributeListenerIdString": {
6100
+ "type": "string",
6101
+ "pattern": "ATL[A-Za-z0-9]{17}"
6102
+ }
6103
+ }
6104
+ };
5859
6105
  exports.CreateAttributeRequest = {
5860
6106
  "$schema": "http://json-schema.org/draft-07/schema#",
5861
6107
  "$ref": "#/definitions/CreateAttributeRequest",
@@ -6617,6 +6863,9 @@ exports.GetAttributesRequest = {
6617
6863
  "createdAt": {
6618
6864
  "type": "string"
6619
6865
  },
6866
+ "parentId": {
6867
+ "type": "string"
6868
+ },
6620
6869
  "content.@type": {
6621
6870
  "anyOf": [
6622
6871
  {
@@ -7873,6 +8122,9 @@ exports.CanCreateOutgoingRequestRequest = {
7873
8122
  },
7874
8123
  {
7875
8124
  "$ref": "#/definitions/AuthenticationRequestItemJSON"
8125
+ },
8126
+ {
8127
+ "$ref": "#/definitions/RegisterAttributeListenerRequestItemJSON"
7876
8128
  }
7877
8129
  ]
7878
8130
  },
@@ -8540,6 +8792,57 @@ exports.CanCreateOutgoingRequestRequest = {
8540
8792
  ],
8541
8793
  "additionalProperties": false
8542
8794
  },
8795
+ "RegisterAttributeListenerRequestItemJSON": {
8796
+ "type": "object",
8797
+ "properties": {
8798
+ "@type": {
8799
+ "type": "string",
8800
+ "const": "RegisterAttributeListenerRequestItem"
8801
+ },
8802
+ "@context": {
8803
+ "type": "string"
8804
+ },
8805
+ "@version": {
8806
+ "type": "string"
8807
+ },
8808
+ "title": {
8809
+ "type": "string",
8810
+ "description": "The human-readable title of this item."
8811
+ },
8812
+ "description": {
8813
+ "type": "string",
8814
+ "description": "The human-readable description of this item."
8815
+ },
8816
+ "metadata": {
8817
+ "type": "object",
8818
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
8819
+ },
8820
+ "mustBeAccepted": {
8821
+ "type": "boolean",
8822
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
8823
+ },
8824
+ "requireManualDecision": {
8825
+ "type": "boolean",
8826
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
8827
+ },
8828
+ "query": {
8829
+ "anyOf": [
8830
+ {
8831
+ "$ref": "#/definitions/IdentityAttributeQueryJSON"
8832
+ },
8833
+ {
8834
+ "$ref": "#/definitions/ThirdPartyRelationshipAttributeQueryJSON"
8835
+ }
8836
+ ]
8837
+ }
8838
+ },
8839
+ "required": [
8840
+ "@type",
8841
+ "mustBeAccepted",
8842
+ "query"
8843
+ ],
8844
+ "additionalProperties": false
8845
+ },
8543
8846
  "IRequestItemGroup": {
8544
8847
  "type": "object",
8545
8848
  "properties": {
@@ -8596,6 +8899,9 @@ exports.CanCreateOutgoingRequestRequest = {
8596
8899
  },
8597
8900
  {
8598
8901
  "$ref": "#/definitions/IAuthenticationRequestItem"
8902
+ },
8903
+ {
8904
+ "$ref": "#/definitions/IRegisterAttributeListenerRequestItem"
8599
8905
  }
8600
8906
  ]
8601
8907
  },
@@ -9123,6 +9429,46 @@ exports.CanCreateOutgoingRequestRequest = {
9123
9429
  "mustBeAccepted"
9124
9430
  ]
9125
9431
  },
9432
+ "IRegisterAttributeListenerRequestItem": {
9433
+ "type": "object",
9434
+ "properties": {
9435
+ "title": {
9436
+ "type": "string",
9437
+ "description": "The human-readable title of this item."
9438
+ },
9439
+ "description": {
9440
+ "type": "string",
9441
+ "description": "The human-readable description of this item."
9442
+ },
9443
+ "metadata": {
9444
+ "type": "object",
9445
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
9446
+ },
9447
+ "mustBeAccepted": {
9448
+ "type": "boolean",
9449
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
9450
+ },
9451
+ "requireManualDecision": {
9452
+ "type": "boolean",
9453
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
9454
+ },
9455
+ "query": {
9456
+ "anyOf": [
9457
+ {
9458
+ "$ref": "#/definitions/IIdentityAttributeQuery"
9459
+ },
9460
+ {
9461
+ "$ref": "#/definitions/IThirdPartyRelationshipAttributeQuery"
9462
+ }
9463
+ ]
9464
+ }
9465
+ },
9466
+ "required": [
9467
+ "mustBeAccepted",
9468
+ "query"
9469
+ ],
9470
+ "additionalProperties": false
9471
+ },
9126
9472
  "AddressString": {
9127
9473
  "type": "string",
9128
9474
  "pattern": "id1[A-Za-z0-9]{32,33}"
@@ -9403,6 +9749,9 @@ exports.CompleteOutgoingRequestRequest = {
9403
9749
  },
9404
9750
  {
9405
9751
  "$ref": "#/definitions/ReadAttributeAcceptResponseItemJSON"
9752
+ },
9753
+ {
9754
+ "$ref": "#/definitions/RegisterAttributeListenerAcceptResponseItemJSON"
9406
9755
  }
9407
9756
  ]
9408
9757
  },
@@ -9671,15 +10020,12 @@ exports.CompleteOutgoingRequestRequest = {
9671
10020
  ],
9672
10021
  "additionalProperties": false
9673
10022
  },
9674
- "RejectResponseItemJSONDerivations": {
9675
- "$ref": "#/definitions/RejectResponseItemJSON"
9676
- },
9677
- "RejectResponseItemJSON": {
10023
+ "RegisterAttributeListenerAcceptResponseItemJSON": {
9678
10024
  "type": "object",
9679
10025
  "properties": {
9680
10026
  "@type": {
9681
10027
  "type": "string",
9682
- "const": "RejectResponseItem"
10028
+ "const": "RegisterAttributeListenerAcceptResponseItem"
9683
10029
  },
9684
10030
  "@context": {
9685
10031
  "type": "string"
@@ -9689,30 +10035,28 @@ exports.CompleteOutgoingRequestRequest = {
9689
10035
  },
9690
10036
  "result": {
9691
10037
  "type": "string",
9692
- "const": "Rejected"
9693
- },
9694
- "code": {
9695
- "type": "string"
10038
+ "const": "Accepted"
9696
10039
  },
9697
- "message": {
10040
+ "listenerId": {
9698
10041
  "type": "string"
9699
10042
  }
9700
10043
  },
9701
10044
  "required": [
9702
10045
  "@type",
10046
+ "listenerId",
9703
10047
  "result"
9704
10048
  ],
9705
10049
  "additionalProperties": false
9706
10050
  },
9707
- "ErrorResponseItemJSONDerivations": {
9708
- "$ref": "#/definitions/ErrorResponseItemJSON"
10051
+ "RejectResponseItemJSONDerivations": {
10052
+ "$ref": "#/definitions/RejectResponseItemJSON"
9709
10053
  },
9710
- "ErrorResponseItemJSON": {
10054
+ "RejectResponseItemJSON": {
9711
10055
  "type": "object",
9712
10056
  "properties": {
9713
10057
  "@type": {
9714
10058
  "type": "string",
9715
- "const": "ErrorResponseItem"
10059
+ "const": "RejectResponseItem"
9716
10060
  },
9717
10061
  "@context": {
9718
10062
  "type": "string"
@@ -9722,7 +10066,7 @@ exports.CompleteOutgoingRequestRequest = {
9722
10066
  },
9723
10067
  "result": {
9724
10068
  "type": "string",
9725
- "const": "Error"
10069
+ "const": "Rejected"
9726
10070
  },
9727
10071
  "code": {
9728
10072
  "type": "string"
@@ -9733,7 +10077,40 @@ exports.CompleteOutgoingRequestRequest = {
9733
10077
  },
9734
10078
  "required": [
9735
10079
  "@type",
9736
- "code",
10080
+ "result"
10081
+ ],
10082
+ "additionalProperties": false
10083
+ },
10084
+ "ErrorResponseItemJSONDerivations": {
10085
+ "$ref": "#/definitions/ErrorResponseItemJSON"
10086
+ },
10087
+ "ErrorResponseItemJSON": {
10088
+ "type": "object",
10089
+ "properties": {
10090
+ "@type": {
10091
+ "type": "string",
10092
+ "const": "ErrorResponseItem"
10093
+ },
10094
+ "@context": {
10095
+ "type": "string"
10096
+ },
10097
+ "@version": {
10098
+ "type": "string"
10099
+ },
10100
+ "result": {
10101
+ "type": "string",
10102
+ "const": "Error"
10103
+ },
10104
+ "code": {
10105
+ "type": "string"
10106
+ },
10107
+ "message": {
10108
+ "type": "string"
10109
+ }
10110
+ },
10111
+ "required": [
10112
+ "@type",
10113
+ "code",
9737
10114
  "message",
9738
10115
  "result"
9739
10116
  ],
@@ -9953,6 +10330,9 @@ exports.CreateOutgoingRequestRequest = {
9953
10330
  },
9954
10331
  {
9955
10332
  "$ref": "#/definitions/AuthenticationRequestItemJSON"
10333
+ },
10334
+ {
10335
+ "$ref": "#/definitions/RegisterAttributeListenerRequestItemJSON"
9956
10336
  }
9957
10337
  ]
9958
10338
  },
@@ -10620,6 +11000,57 @@ exports.CreateOutgoingRequestRequest = {
10620
11000
  ],
10621
11001
  "additionalProperties": false
10622
11002
  },
11003
+ "RegisterAttributeListenerRequestItemJSON": {
11004
+ "type": "object",
11005
+ "properties": {
11006
+ "@type": {
11007
+ "type": "string",
11008
+ "const": "RegisterAttributeListenerRequestItem"
11009
+ },
11010
+ "@context": {
11011
+ "type": "string"
11012
+ },
11013
+ "@version": {
11014
+ "type": "string"
11015
+ },
11016
+ "title": {
11017
+ "type": "string",
11018
+ "description": "The human-readable title of this item."
11019
+ },
11020
+ "description": {
11021
+ "type": "string",
11022
+ "description": "The human-readable description of this item."
11023
+ },
11024
+ "metadata": {
11025
+ "type": "object",
11026
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
11027
+ },
11028
+ "mustBeAccepted": {
11029
+ "type": "boolean",
11030
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
11031
+ },
11032
+ "requireManualDecision": {
11033
+ "type": "boolean",
11034
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
11035
+ },
11036
+ "query": {
11037
+ "anyOf": [
11038
+ {
11039
+ "$ref": "#/definitions/IdentityAttributeQueryJSON"
11040
+ },
11041
+ {
11042
+ "$ref": "#/definitions/ThirdPartyRelationshipAttributeQueryJSON"
11043
+ }
11044
+ ]
11045
+ }
11046
+ },
11047
+ "required": [
11048
+ "@type",
11049
+ "mustBeAccepted",
11050
+ "query"
11051
+ ],
11052
+ "additionalProperties": false
11053
+ },
10623
11054
  "IRequestItemGroup": {
10624
11055
  "type": "object",
10625
11056
  "properties": {
@@ -10676,6 +11107,9 @@ exports.CreateOutgoingRequestRequest = {
10676
11107
  },
10677
11108
  {
10678
11109
  "$ref": "#/definitions/IAuthenticationRequestItem"
11110
+ },
11111
+ {
11112
+ "$ref": "#/definitions/IRegisterAttributeListenerRequestItem"
10679
11113
  }
10680
11114
  ]
10681
11115
  },
@@ -11203,12 +11637,74 @@ exports.CreateOutgoingRequestRequest = {
11203
11637
  "mustBeAccepted"
11204
11638
  ]
11205
11639
  },
11640
+ "IRegisterAttributeListenerRequestItem": {
11641
+ "type": "object",
11642
+ "properties": {
11643
+ "title": {
11644
+ "type": "string",
11645
+ "description": "The human-readable title of this item."
11646
+ },
11647
+ "description": {
11648
+ "type": "string",
11649
+ "description": "The human-readable description of this item."
11650
+ },
11651
+ "metadata": {
11652
+ "type": "object",
11653
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
11654
+ },
11655
+ "mustBeAccepted": {
11656
+ "type": "boolean",
11657
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroup RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItem RequestItem } can only be accepted if the parent group is accepted as well."
11658
+ },
11659
+ "requireManualDecision": {
11660
+ "type": "boolean",
11661
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
11662
+ },
11663
+ "query": {
11664
+ "anyOf": [
11665
+ {
11666
+ "$ref": "#/definitions/IIdentityAttributeQuery"
11667
+ },
11668
+ {
11669
+ "$ref": "#/definitions/IThirdPartyRelationshipAttributeQuery"
11670
+ }
11671
+ ]
11672
+ }
11673
+ },
11674
+ "required": [
11675
+ "mustBeAccepted",
11676
+ "query"
11677
+ ],
11678
+ "additionalProperties": false
11679
+ },
11206
11680
  "AddressString": {
11207
11681
  "type": "string",
11208
11682
  "pattern": "id1[A-Za-z0-9]{32,33}"
11209
11683
  }
11210
11684
  }
11211
11685
  };
11686
+ exports.DiscardOutgoingRequestRequest = {
11687
+ "$schema": "http://json-schema.org/draft-07/schema#",
11688
+ "$ref": "#/definitions/DiscardOutgoingRequestRequest",
11689
+ "definitions": {
11690
+ "DiscardOutgoingRequestRequest": {
11691
+ "type": "object",
11692
+ "properties": {
11693
+ "id": {
11694
+ "$ref": "#/definitions/RequestIdString"
11695
+ }
11696
+ },
11697
+ "required": [
11698
+ "id"
11699
+ ],
11700
+ "additionalProperties": false
11701
+ },
11702
+ "RequestIdString": {
11703
+ "type": "string",
11704
+ "pattern": "REQ[A-Za-z0-9]{17}"
11705
+ }
11706
+ }
11707
+ };
11212
11708
  exports.GetIncomingRequestRequest = {
11213
11709
  "$schema": "http://json-schema.org/draft-07/schema#",
11214
11710
  "$ref": "#/definitions/GetIncomingRequestRequest",
@@ -11807,6 +12303,9 @@ exports.ReceivedIncomingRequestRequest = {
11807
12303
  },
11808
12304
  {
11809
12305
  "$ref": "#/definitions/AuthenticationRequestItemJSON"
12306
+ },
12307
+ {
12308
+ "$ref": "#/definitions/RegisterAttributeListenerRequestItemJSON"
11810
12309
  }
11811
12310
  ]
11812
12311
  },
@@ -12474,6 +12973,57 @@ exports.ReceivedIncomingRequestRequest = {
12474
12973
  ],
12475
12974
  "additionalProperties": false
12476
12975
  },
12976
+ "RegisterAttributeListenerRequestItemJSON": {
12977
+ "type": "object",
12978
+ "properties": {
12979
+ "@type": {
12980
+ "type": "string",
12981
+ "const": "RegisterAttributeListenerRequestItem"
12982
+ },
12983
+ "@context": {
12984
+ "type": "string"
12985
+ },
12986
+ "@version": {
12987
+ "type": "string"
12988
+ },
12989
+ "title": {
12990
+ "type": "string",
12991
+ "description": "The human-readable title of this item."
12992
+ },
12993
+ "description": {
12994
+ "type": "string",
12995
+ "description": "The human-readable description of this item."
12996
+ },
12997
+ "metadata": {
12998
+ "type": "object",
12999
+ "description": "This property can be used to add some arbitrary metadata to this item. The content of this property will be copied into the response on the side of the recipient, so the sender can use it to identify the group content as they receive the response."
13000
+ },
13001
+ "mustBeAccepted": {
13002
+ "type": "boolean",
13003
+ "description": "If set to `true`, the recipient has to accept this group if he wants to accept the Request. If set to `false`, the recipient can decide whether he wants to accept it or not.\n\nCaution: this setting does not take effect in case it is inside of a\n {@link RequestItemGroupJSON RequestItemGroup } , which is not accepted by the recipient, since a {@link RequestItemJSON RequestItem } can only be accepted if the parent group is accepted as well."
13004
+ },
13005
+ "requireManualDecision": {
13006
+ "type": "boolean",
13007
+ "description": "If set to `true`, it advices the recipient of this RequestItem to carefully consider their decision and especially do not decide based on some automation rules."
13008
+ },
13009
+ "query": {
13010
+ "anyOf": [
13011
+ {
13012
+ "$ref": "#/definitions/IdentityAttributeQueryJSON"
13013
+ },
13014
+ {
13015
+ "$ref": "#/definitions/ThirdPartyRelationshipAttributeQueryJSON"
13016
+ }
13017
+ ]
13018
+ }
13019
+ },
13020
+ "required": [
13021
+ "@type",
13022
+ "mustBeAccepted",
13023
+ "query"
13024
+ ],
13025
+ "additionalProperties": false
13026
+ },
12477
13027
  "MessageIdString": {
12478
13028
  "type": "string",
12479
13029
  "pattern": "MSG[A-Za-z0-9]{17}"
@@ -14909,6 +15459,171 @@ exports.ValidationResult = ValidationResult;
14909
15459
 
14910
15460
  /***/ }),
14911
15461
 
15462
+ /***/ "./dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js":
15463
+ /*!*********************************************************************************!*\
15464
+ !*** ./dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js ***!
15465
+ \*********************************************************************************/
15466
+ /***/ ((__unused_webpack_module, exports) => {
15467
+
15468
+ "use strict";
15469
+
15470
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
15471
+ exports.AttributeListenerMapper = void 0;
15472
+ class AttributeListenerMapper {
15473
+ static toAttributeListenerDTO(attribute) {
15474
+ return {
15475
+ id: attribute.id.toString(),
15476
+ query: attribute.query.toJSON(),
15477
+ peer: attribute.peer.toString()
15478
+ };
15479
+ }
15480
+ static toAttributeListenerDTOList(attributes) {
15481
+ return attributes.map((attribute) => this.toAttributeListenerDTO(attribute));
15482
+ }
15483
+ }
15484
+ exports.AttributeListenerMapper = AttributeListenerMapper;
15485
+ //# sourceMappingURL=AttributeListenerMapper.js.map
15486
+
15487
+ /***/ }),
15488
+
15489
+ /***/ "./dist/useCases/consumption/attributeListeners/GetAttributeListener.js":
15490
+ /*!******************************************************************************!*\
15491
+ !*** ./dist/useCases/consumption/attributeListeners/GetAttributeListener.js ***!
15492
+ \******************************************************************************/
15493
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
15494
+
15495
+ "use strict";
15496
+
15497
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15498
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15499
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15500
+ 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;
15501
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15502
+ };
15503
+ var __metadata = (this && this.__metadata) || function (k, v) {
15504
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15505
+ };
15506
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
15507
+ return function (target, key) { decorator(target, key, paramIndex); }
15508
+ };
15509
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
15510
+ exports.GetAttributeListenerUseCase = void 0;
15511
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
15512
+ const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
15513
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
15514
+ const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
15515
+ const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
15516
+ const AttributeListenerMapper_1 = __webpack_require__(/*! ./AttributeListenerMapper */ "./dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js");
15517
+ let Validator = class Validator extends common_1.SchemaValidator {
15518
+ constructor(schemaRepository) {
15519
+ super(schemaRepository.getSchema("GetAttributeListenerRequest"));
15520
+ }
15521
+ };
15522
+ Validator = __decorate([
15523
+ __param(0, typescript_ioc_1.Inject),
15524
+ __metadata("design:paramtypes", [common_1.SchemaRepository])
15525
+ ], Validator);
15526
+ let GetAttributeListenerUseCase = class GetAttributeListenerUseCase extends common_1.UseCase {
15527
+ constructor(attributeListenersController, validator) {
15528
+ super(validator);
15529
+ this.attributeListenersController = attributeListenersController;
15530
+ }
15531
+ async executeInternal(request) {
15532
+ const attributeListener = await this.attributeListenersController.getAttributeListener(transport_1.CoreId.from(request.id));
15533
+ if (!attributeListener) {
15534
+ return ts_utils_1.Result.fail(common_1.RuntimeErrors.general.recordNotFound(consumption_1.LocalAttributeListener));
15535
+ }
15536
+ const dto = AttributeListenerMapper_1.AttributeListenerMapper.toAttributeListenerDTO(attributeListener);
15537
+ return ts_utils_1.Result.ok(dto);
15538
+ }
15539
+ };
15540
+ GetAttributeListenerUseCase = __decorate([
15541
+ __param(0, typescript_ioc_1.Inject),
15542
+ __param(1, typescript_ioc_1.Inject),
15543
+ __metadata("design:paramtypes", [consumption_1.AttributeListenersController, Validator])
15544
+ ], GetAttributeListenerUseCase);
15545
+ exports.GetAttributeListenerUseCase = GetAttributeListenerUseCase;
15546
+ //# sourceMappingURL=GetAttributeListener.js.map
15547
+
15548
+ /***/ }),
15549
+
15550
+ /***/ "./dist/useCases/consumption/attributeListeners/GetAttributeListeners.js":
15551
+ /*!*******************************************************************************!*\
15552
+ !*** ./dist/useCases/consumption/attributeListeners/GetAttributeListeners.js ***!
15553
+ \*******************************************************************************/
15554
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
15555
+
15556
+ "use strict";
15557
+
15558
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15559
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15560
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15561
+ 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;
15562
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15563
+ };
15564
+ var __metadata = (this && this.__metadata) || function (k, v) {
15565
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15566
+ };
15567
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
15568
+ return function (target, key) { decorator(target, key, paramIndex); }
15569
+ };
15570
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
15571
+ exports.GetAttributeListenersUseCase = void 0;
15572
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
15573
+ const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
15574
+ const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
15575
+ const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
15576
+ const AttributeListenerMapper_1 = __webpack_require__(/*! ./AttributeListenerMapper */ "./dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js");
15577
+ let GetAttributeListenersUseCase = class GetAttributeListenersUseCase extends common_1.UseCase {
15578
+ constructor(attributeListenersController) {
15579
+ super();
15580
+ this.attributeListenersController = attributeListenersController;
15581
+ }
15582
+ async executeInternal() {
15583
+ const attributeListeners = await this.attributeListenersController.getAttributeListeners();
15584
+ const dtos = AttributeListenerMapper_1.AttributeListenerMapper.toAttributeListenerDTOList(attributeListeners);
15585
+ return ts_utils_1.Result.ok(dtos);
15586
+ }
15587
+ };
15588
+ GetAttributeListenersUseCase = __decorate([
15589
+ __param(0, typescript_ioc_1.Inject),
15590
+ __metadata("design:paramtypes", [consumption_1.AttributeListenersController])
15591
+ ], GetAttributeListenersUseCase);
15592
+ exports.GetAttributeListenersUseCase = GetAttributeListenersUseCase;
15593
+ //# sourceMappingURL=GetAttributeListeners.js.map
15594
+
15595
+ /***/ }),
15596
+
15597
+ /***/ "./dist/useCases/consumption/attributeListeners/index.js":
15598
+ /*!***************************************************************!*\
15599
+ !*** ./dist/useCases/consumption/attributeListeners/index.js ***!
15600
+ \***************************************************************/
15601
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
15602
+
15603
+ "use strict";
15604
+
15605
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15606
+ if (k2 === undefined) k2 = k;
15607
+ var desc = Object.getOwnPropertyDescriptor(m, k);
15608
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15609
+ desc = { enumerable: true, get: function() { return m[k]; } };
15610
+ }
15611
+ Object.defineProperty(o, k2, desc);
15612
+ }) : (function(o, m, k, k2) {
15613
+ if (k2 === undefined) k2 = k;
15614
+ o[k2] = m[k];
15615
+ }));
15616
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15617
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15618
+ };
15619
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
15620
+ __exportStar(__webpack_require__(/*! ./AttributeListenerMapper */ "./dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js"), exports);
15621
+ __exportStar(__webpack_require__(/*! ./GetAttributeListener */ "./dist/useCases/consumption/attributeListeners/GetAttributeListener.js"), exports);
15622
+ __exportStar(__webpack_require__(/*! ./GetAttributeListeners */ "./dist/useCases/consumption/attributeListeners/GetAttributeListeners.js"), exports);
15623
+ //# sourceMappingURL=index.js.map
15624
+
15625
+ /***/ }),
15626
+
14912
15627
  /***/ "./dist/useCases/consumption/attributes/AttributeMapper.js":
14913
15628
  /*!*****************************************************************!*\
14914
15629
  !*** ./dist/useCases/consumption/attributes/AttributeMapper.js ***!
@@ -14923,6 +15638,7 @@ class AttributeMapper {
14923
15638
  static toAttributeDTO(attribute) {
14924
15639
  return {
14925
15640
  id: attribute.id.toString(),
15641
+ parentId: attribute.parentId?.toString(),
14926
15642
  content: attribute.content.toJSON(),
14927
15643
  createdAt: attribute.createdAt.toString(),
14928
15644
  succeeds: attribute.succeeds?.toString(),
@@ -14995,7 +15711,7 @@ CreateAttributeUseCase = __decorate([
14995
15711
  __param(0, typescript_ioc_1.Inject),
14996
15712
  __param(1, typescript_ioc_1.Inject),
14997
15713
  __param(2, typescript_ioc_1.Inject),
14998
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController,
15714
+ __metadata("design:paramtypes", [consumption_1.AttributesController,
14999
15715
  transport_1.AccountController,
15000
15716
  Validator])
15001
15717
  ], CreateAttributeUseCase);
@@ -15062,7 +15778,7 @@ CreateSharedAttributeCopyUseCase = __decorate([
15062
15778
  __param(0, typescript_ioc_1.Inject),
15063
15779
  __param(1, typescript_ioc_1.Inject),
15064
15780
  __param(2, typescript_ioc_1.Inject),
15065
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController,
15781
+ __metadata("design:paramtypes", [consumption_1.AttributesController,
15066
15782
  transport_1.AccountController,
15067
15783
  Validator])
15068
15784
  ], CreateSharedAttributeCopyUseCase);
@@ -15127,7 +15843,7 @@ DeleteAttributeUseCase = __decorate([
15127
15843
  __param(0, typescript_ioc_1.Inject),
15128
15844
  __param(1, typescript_ioc_1.Inject),
15129
15845
  __param(2, typescript_ioc_1.Inject),
15130
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController,
15846
+ __metadata("design:paramtypes", [consumption_1.AttributesController,
15131
15847
  transport_1.AccountController,
15132
15848
  Validator])
15133
15849
  ], DeleteAttributeUseCase);
@@ -15176,7 +15892,7 @@ let ExecuteIdentityAttributeQueryUseCase = class ExecuteIdentityAttributeQueryUs
15176
15892
  };
15177
15893
  ExecuteIdentityAttributeQueryUseCase = __decorate([
15178
15894
  __param(0, typescript_ioc_1.Inject),
15179
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController])
15895
+ __metadata("design:paramtypes", [consumption_1.AttributesController])
15180
15896
  ], ExecuteIdentityAttributeQueryUseCase);
15181
15897
  exports.ExecuteIdentityAttributeQueryUseCase = ExecuteIdentityAttributeQueryUseCase;
15182
15898
  //# sourceMappingURL=ExecuteIdentityAttributeQuery.js.map
@@ -15226,7 +15942,7 @@ let ExecuteRelationshipAttributeQueryUseCase = class ExecuteRelationshipAttribut
15226
15942
  };
15227
15943
  ExecuteRelationshipAttributeQueryUseCase = __decorate([
15228
15944
  __param(0, typescript_ioc_1.Inject),
15229
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController])
15945
+ __metadata("design:paramtypes", [consumption_1.AttributesController])
15230
15946
  ], ExecuteRelationshipAttributeQueryUseCase);
15231
15947
  exports.ExecuteRelationshipAttributeQueryUseCase = ExecuteRelationshipAttributeQueryUseCase;
15232
15948
  //# sourceMappingURL=ExecuteRelationshipAttributeQuery.js.map
@@ -15276,13 +15992,26 @@ let ExecuteThirdPartyRelationshipAttributeQueryUseCase = class ExecuteThirdParty
15276
15992
  };
15277
15993
  ExecuteThirdPartyRelationshipAttributeQueryUseCase = __decorate([
15278
15994
  __param(0, typescript_ioc_1.Inject),
15279
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController])
15995
+ __metadata("design:paramtypes", [consumption_1.AttributesController])
15280
15996
  ], ExecuteThirdPartyRelationshipAttributeQueryUseCase);
15281
15997
  exports.ExecuteThirdPartyRelationshipAttributeQueryUseCase = ExecuteThirdPartyRelationshipAttributeQueryUseCase;
15282
15998
  //# sourceMappingURL=ExecuteThirdPartyRelationshipAttributeQuery.js.map
15283
15999
 
15284
16000
  /***/ }),
15285
16001
 
16002
+ /***/ "./dist/useCases/consumption/attributes/ExtendedAttributeValue.js":
16003
+ /*!************************************************************************!*\
16004
+ !*** ./dist/useCases/consumption/attributes/ExtendedAttributeValue.js ***!
16005
+ \************************************************************************/
16006
+ /***/ ((__unused_webpack_module, exports) => {
16007
+
16008
+ "use strict";
16009
+
16010
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
16011
+ //# sourceMappingURL=ExtendedAttributeValue.js.map
16012
+
16013
+ /***/ }),
16014
+
15286
16015
  /***/ "./dist/useCases/consumption/attributes/GetAttribute.js":
15287
16016
  /*!**************************************************************!*\
15288
16017
  !*** ./dist/useCases/consumption/attributes/GetAttribute.js ***!
@@ -15337,7 +16066,7 @@ let GetAttributeUseCase = class GetAttributeUseCase extends common_1.UseCase {
15337
16066
  GetAttributeUseCase = __decorate([
15338
16067
  __param(0, typescript_ioc_1.Inject),
15339
16068
  __param(1, typescript_ioc_1.Inject),
15340
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController, Validator])
16069
+ __metadata("design:paramtypes", [consumption_1.AttributesController, Validator])
15341
16070
  ], GetAttributeUseCase);
15342
16071
  exports.GetAttributeUseCase = GetAttributeUseCase;
15343
16072
  //# sourceMappingURL=GetAttribute.js.map
@@ -15397,6 +16126,7 @@ let GetAttributesUseCase = class GetAttributesUseCase extends common_1.UseCase {
15397
16126
  GetAttributesUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslator({
15398
16127
  whitelist: {
15399
16128
  [(0, ts_simple_nameof_1.nameof)((x) => x.createdAt)]: true,
16129
+ [(0, ts_simple_nameof_1.nameof)((x) => x.parentId)]: true,
15400
16130
  [(0, ts_simple_nameof_1.nameof)((x) => x.succeeds)]: true,
15401
16131
  [(0, ts_simple_nameof_1.nameof)((x) => x.succeededBy)]: true,
15402
16132
  // content.abstractAttribute
@@ -15419,6 +16149,7 @@ GetAttributesUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslat
15419
16149
  },
15420
16150
  alias: {
15421
16151
  [(0, ts_simple_nameof_1.nameof)((x) => x.createdAt)]: [(0, ts_simple_nameof_1.nameof)((x) => x.createdAt)],
16152
+ [(0, ts_simple_nameof_1.nameof)((x) => x.parentId)]: [(0, ts_simple_nameof_1.nameof)((x) => x.parentId)],
15422
16153
  [(0, ts_simple_nameof_1.nameof)((x) => x.succeeds)]: [(0, ts_simple_nameof_1.nameof)((x) => x.succeeds)],
15423
16154
  [(0, ts_simple_nameof_1.nameof)((x) => x.succeededBy)]: [(0, ts_simple_nameof_1.nameof)((x) => x.succeededBy)],
15424
16155
  // content.abstractAttribute
@@ -15495,7 +16226,7 @@ GetAttributesUseCase.queryTranslator = new docdb_querytranslator_1.QueryTranslat
15495
16226
  });
15496
16227
  GetAttributesUseCase = __decorate([
15497
16228
  __param(0, typescript_ioc_1.Inject),
15498
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController])
16229
+ __metadata("design:paramtypes", [consumption_1.AttributesController])
15499
16230
  ], GetAttributesUseCase);
15500
16231
  exports.GetAttributesUseCase = GetAttributesUseCase;
15501
16232
  //# sourceMappingURL=GetAttributes.js.map
@@ -15553,7 +16284,7 @@ let GetPeerAttributesUseCase = class GetPeerAttributesUseCase extends common_1.U
15553
16284
  };
15554
16285
  GetPeerAttributesUseCase = __decorate([
15555
16286
  __param(0, typescript_ioc_1.Inject),
15556
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController])
16287
+ __metadata("design:paramtypes", [consumption_1.AttributesController])
15557
16288
  ], GetPeerAttributesUseCase);
15558
16289
  exports.GetPeerAttributesUseCase = GetPeerAttributesUseCase;
15559
16290
  //# sourceMappingURL=GetPeerAttributes.js.map
@@ -15615,7 +16346,7 @@ let GetSharedToPeerAttributesUseCase = class GetSharedToPeerAttributesUseCase ex
15615
16346
  GetSharedToPeerAttributesUseCase = __decorate([
15616
16347
  __param(0, typescript_ioc_1.Inject),
15617
16348
  __param(1, typescript_ioc_1.Inject),
15618
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController, transport_1.IdentityController])
16349
+ __metadata("design:paramtypes", [consumption_1.AttributesController, transport_1.IdentityController])
15619
16350
  ], GetSharedToPeerAttributesUseCase);
15620
16351
  exports.GetSharedToPeerAttributesUseCase = GetSharedToPeerAttributesUseCase;
15621
16352
  //# sourceMappingURL=GetSharedToPeerAttributes.js.map
@@ -15679,7 +16410,7 @@ SucceedAttributeUseCase = __decorate([
15679
16410
  __param(0, typescript_ioc_1.Inject),
15680
16411
  __param(1, typescript_ioc_1.Inject),
15681
16412
  __param(2, typescript_ioc_1.Inject),
15682
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController,
16413
+ __metadata("design:paramtypes", [consumption_1.AttributesController,
15683
16414
  transport_1.AccountController,
15684
16415
  Validator])
15685
16416
  ], SucceedAttributeUseCase);
@@ -15745,7 +16476,7 @@ UpdateAttributeUseCase = __decorate([
15745
16476
  __param(0, typescript_ioc_1.Inject),
15746
16477
  __param(1, typescript_ioc_1.Inject),
15747
16478
  __param(2, typescript_ioc_1.Inject),
15748
- __metadata("design:paramtypes", [consumption_1.LocalAttributesController,
16479
+ __metadata("design:paramtypes", [consumption_1.AttributesController,
15749
16480
  transport_1.AccountController,
15750
16481
  Validator])
15751
16482
  ], UpdateAttributeUseCase);
@@ -15784,6 +16515,7 @@ __exportStar(__webpack_require__(/*! ./DeleteAttribute */ "./dist/useCases/consu
15784
16515
  __exportStar(__webpack_require__(/*! ./ExecuteIdentityAttributeQuery */ "./dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js"), exports);
15785
16516
  __exportStar(__webpack_require__(/*! ./ExecuteRelationshipAttributeQuery */ "./dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js"), exports);
15786
16517
  __exportStar(__webpack_require__(/*! ./ExecuteThirdPartyRelationshipAttributeQuery */ "./dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.js"), exports);
16518
+ __exportStar(__webpack_require__(/*! ./ExtendedAttributeValue */ "./dist/useCases/consumption/attributes/ExtendedAttributeValue.js"), exports);
15787
16519
  __exportStar(__webpack_require__(/*! ./GetAttribute */ "./dist/useCases/consumption/attributes/GetAttribute.js"), exports);
15788
16520
  __exportStar(__webpack_require__(/*! ./GetAttributes */ "./dist/useCases/consumption/attributes/GetAttributes.js"), exports);
15789
16521
  __exportStar(__webpack_require__(/*! ./GetPeerAttributes */ "./dist/useCases/consumption/attributes/GetPeerAttributes.js"), exports);
@@ -16194,6 +16926,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16194
16926
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16195
16927
  };
16196
16928
  Object.defineProperty(exports, "__esModule", ({ value: true }));
16929
+ __exportStar(__webpack_require__(/*! ./attributeListeners */ "./dist/useCases/consumption/attributeListeners/index.js"), exports);
16197
16930
  __exportStar(__webpack_require__(/*! ./attributes */ "./dist/useCases/consumption/attributes/index.js"), exports);
16198
16931
  __exportStar(__webpack_require__(/*! ./drafts */ "./dist/useCases/consumption/drafts/index.js"), exports);
16199
16932
  __exportStar(__webpack_require__(/*! ./requests */ "./dist/useCases/consumption/requests/index.js"), exports);
@@ -16328,13 +17061,11 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
16328
17061
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
16329
17062
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
16330
17063
  const RequestValidationResultMapper_1 = __webpack_require__(/*! ./RequestValidationResultMapper */ "./dist/useCases/consumption/requests/RequestValidationResultMapper.js");
16331
- /*
16332
- class Validator extends SchemaValidator<CanCreateOutgoingRequestRequest> {
16333
- public constructor(@Inject schemaRepository: SchemaRepository) {
16334
- super(schemaRepository.getSchema("CanCreateOutgoingRequestRequest"));
16335
- }
16336
- }
16337
- */
17064
+ // class Validator extends SchemaValidator<CanCreateOutgoingRequestRequest> {
17065
+ // public constructor(@Inject schemaRepository: SchemaRepository) {
17066
+ // super(schemaRepository.getSchema("CanCreateOutgoingRequestRequest"));
17067
+ // }
17068
+ // }
16338
17069
  let CanCreateOutgoingRequestUseCase = class CanCreateOutgoingRequestUseCase extends common_1.UseCase {
16339
17070
  constructor(outgoingRequestsController) {
16340
17071
  super();
@@ -16435,18 +17166,14 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
16435
17166
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
16436
17167
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
16437
17168
  const RequestMapper_1 = __webpack_require__(/*! ./RequestMapper */ "./dist/useCases/consumption/requests/RequestMapper.js");
16438
- let Validator = class Validator extends common_1.SchemaValidator {
16439
- constructor(schemaRepository) {
16440
- super(schemaRepository.getSchema("CheckPrerequisitesOfIncomingRequestRequest"));
16441
- }
16442
- };
16443
- Validator = __decorate([
16444
- __param(0, typescript_ioc_1.Inject),
16445
- __metadata("design:paramtypes", [common_1.SchemaRepository])
16446
- ], Validator);
17169
+ // class Validator extends SchemaValidator<CheckPrerequisitesOfIncomingRequestRequest> {
17170
+ // public constructor(@Inject schemaRepository: SchemaRepository) {
17171
+ // super(schemaRepository.getSchema("CheckPrerequisitesOfIncomingRequestRequest"));
17172
+ // }
17173
+ // }
16447
17174
  let CheckPrerequisitesOfIncomingRequestUseCase = class CheckPrerequisitesOfIncomingRequestUseCase extends common_1.UseCase {
16448
- constructor(validator, incomingRequestsController) {
16449
- super(validator);
17175
+ constructor(incomingRequestsController) {
17176
+ super();
16450
17177
  this.incomingRequestsController = incomingRequestsController;
16451
17178
  }
16452
17179
  async executeInternal(request) {
@@ -16458,8 +17185,7 @@ let CheckPrerequisitesOfIncomingRequestUseCase = class CheckPrerequisitesOfIncom
16458
17185
  };
16459
17186
  CheckPrerequisitesOfIncomingRequestUseCase = __decorate([
16460
17187
  __param(0, typescript_ioc_1.Inject),
16461
- __param(1, typescript_ioc_1.Inject),
16462
- __metadata("design:paramtypes", [Validator, consumption_1.IncomingRequestsController])
17188
+ __metadata("design:paramtypes", [consumption_1.IncomingRequestsController])
16463
17189
  ], CheckPrerequisitesOfIncomingRequestUseCase);
16464
17190
  exports.CheckPrerequisitesOfIncomingRequestUseCase = CheckPrerequisitesOfIncomingRequestUseCase;
16465
17191
  //# sourceMappingURL=CheckPrerequisitesOfIncomingRequest.js.map
@@ -16494,18 +17220,14 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
16494
17220
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
16495
17221
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
16496
17222
  const RequestMapper_1 = __webpack_require__(/*! ./RequestMapper */ "./dist/useCases/consumption/requests/RequestMapper.js");
16497
- let Validator = class Validator extends common_1.SchemaValidator {
16498
- constructor(schemaRepository) {
16499
- super(schemaRepository.getSchema("CompleteIncomingRequestRequest"));
16500
- }
16501
- };
16502
- Validator = __decorate([
16503
- __param(0, typescript_ioc_1.Inject),
16504
- __metadata("design:paramtypes", [common_1.SchemaRepository])
16505
- ], Validator);
17223
+ // class Validator extends SchemaValidator<CompleteIncomingRequestRequest> {
17224
+ // public constructor(@Inject schemaRepository: SchemaRepository) {
17225
+ // super(schemaRepository.getSchema("CompleteIncomingRequestRequest"));
17226
+ // }
17227
+ // }
16506
17228
  let CompleteIncomingRequestUseCase = class CompleteIncomingRequestUseCase extends common_1.UseCase {
16507
- constructor(validator, incomingRequestsController, messageController, relationshipController) {
16508
- super(validator);
17229
+ constructor(incomingRequestsController, messageController, relationshipController) {
17230
+ super();
16509
17231
  this.incomingRequestsController = incomingRequestsController;
16510
17232
  this.messageController = messageController;
16511
17233
  this.relationshipController = relationshipController;
@@ -16536,9 +17258,7 @@ CompleteIncomingRequestUseCase = __decorate([
16536
17258
  __param(0, typescript_ioc_1.Inject),
16537
17259
  __param(1, typescript_ioc_1.Inject),
16538
17260
  __param(2, typescript_ioc_1.Inject),
16539
- __param(3, typescript_ioc_1.Inject),
16540
- __metadata("design:paramtypes", [Validator,
16541
- consumption_1.IncomingRequestsController,
17261
+ __metadata("design:paramtypes", [consumption_1.IncomingRequestsController,
16542
17262
  transport_1.MessageController,
16543
17263
  transport_1.RelationshipsController])
16544
17264
  ], CompleteIncomingRequestUseCase);
@@ -16576,18 +17296,14 @@ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transpor
16576
17296
  const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
16577
17297
  const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
16578
17298
  const RequestMapper_1 = __webpack_require__(/*! ./RequestMapper */ "./dist/useCases/consumption/requests/RequestMapper.js");
16579
- let Validator = class Validator extends common_1.SchemaValidator {
16580
- constructor(schemaRepository) {
16581
- super(schemaRepository.getSchema("CompleteOutgoingRequestRequest"));
16582
- }
16583
- };
16584
- Validator = __decorate([
16585
- __param(0, typescript_ioc_1.Inject),
16586
- __metadata("design:paramtypes", [common_1.SchemaRepository])
16587
- ], Validator);
17299
+ // class Validator extends SchemaValidator<CompleteOutgoingRequestRequest> {
17300
+ // public constructor(@Inject schemaRepository: SchemaRepository) {
17301
+ // super(schemaRepository.getSchema("CompleteOutgoingRequestRequest"));
17302
+ // }
17303
+ // }
16588
17304
  let CompleteOutgoingRequestUseCase = class CompleteOutgoingRequestUseCase extends common_1.UseCase {
16589
- constructor(validator, outgoingRequestsController, messageController) {
16590
- super(validator);
17305
+ constructor(outgoingRequestsController, messageController) {
17306
+ super();
16591
17307
  this.outgoingRequestsController = outgoingRequestsController;
16592
17308
  this.messageController = messageController;
16593
17309
  }
@@ -16608,10 +17324,7 @@ let CompleteOutgoingRequestUseCase = class CompleteOutgoingRequestUseCase extend
16608
17324
  CompleteOutgoingRequestUseCase = __decorate([
16609
17325
  __param(0, typescript_ioc_1.Inject),
16610
17326
  __param(1, typescript_ioc_1.Inject),
16611
- __param(2, typescript_ioc_1.Inject),
16612
- __metadata("design:paramtypes", [Validator,
16613
- consumption_1.OutgoingRequestsController,
16614
- transport_1.MessageController])
17327
+ __metadata("design:paramtypes", [consumption_1.OutgoingRequestsController, transport_1.MessageController])
16615
17328
  ], CompleteOutgoingRequestUseCase);
16616
17329
  exports.CompleteOutgoingRequestUseCase = CompleteOutgoingRequestUseCase;
16617
17330
  //# sourceMappingURL=CompleteOutgoingRequest.js.map
@@ -16736,6 +17449,57 @@ exports.CreateOutgoingRequestUseCase = CreateOutgoingRequestUseCase;
16736
17449
 
16737
17450
  /***/ }),
16738
17451
 
17452
+ /***/ "./dist/useCases/consumption/requests/DiscardOutgoingRequest.js":
17453
+ /*!**********************************************************************!*\
17454
+ !*** ./dist/useCases/consumption/requests/DiscardOutgoingRequest.js ***!
17455
+ \**********************************************************************/
17456
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
17457
+
17458
+ "use strict";
17459
+
17460
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
17461
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17462
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17463
+ 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;
17464
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17465
+ };
17466
+ var __metadata = (this && this.__metadata) || function (k, v) {
17467
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17468
+ };
17469
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
17470
+ return function (target, key) { decorator(target, key, paramIndex); }
17471
+ };
17472
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
17473
+ exports.DiscardOutgoingRequestUseCase = void 0;
17474
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
17475
+ const consumption_1 = __webpack_require__(/*! @nmshd/consumption */ "@nmshd/consumption");
17476
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
17477
+ const typescript_ioc_1 = __webpack_require__(/*! typescript-ioc */ "./node_modules/typescript-ioc/dist/typescript-ioc.js");
17478
+ const common_1 = __webpack_require__(/*! ../../common */ "./dist/useCases/common/index.js");
17479
+ // class Validator extends SchemaValidator<DiscardOutgoingRequestRequest> {
17480
+ // public constructor(@Inject schemaRepository: SchemaRepository) {
17481
+ // super(schemaRepository.getSchema("DiscardOutgoingRequestRequest"));
17482
+ // }
17483
+ // }
17484
+ let DiscardOutgoingRequestUseCase = class DiscardOutgoingRequestUseCase extends common_1.UseCase {
17485
+ constructor(outgoingRequestsController) {
17486
+ super();
17487
+ this.outgoingRequestsController = outgoingRequestsController;
17488
+ }
17489
+ async executeInternal(request) {
17490
+ await this.outgoingRequestsController.discardOutgoingRequest(transport_1.CoreId.from(request.id));
17491
+ return ts_utils_1.Result.ok(undefined);
17492
+ }
17493
+ };
17494
+ DiscardOutgoingRequestUseCase = __decorate([
17495
+ __param(0, typescript_ioc_1.Inject),
17496
+ __metadata("design:paramtypes", [consumption_1.OutgoingRequestsController])
17497
+ ], DiscardOutgoingRequestUseCase);
17498
+ exports.DiscardOutgoingRequestUseCase = DiscardOutgoingRequestUseCase;
17499
+ //# sourceMappingURL=DiscardOutgoingRequest.js.map
17500
+
17501
+ /***/ }),
17502
+
16739
17503
  /***/ "./dist/useCases/consumption/requests/GetIncomingRequest.js":
16740
17504
  /*!******************************************************************!*\
16741
17505
  !*** ./dist/useCases/consumption/requests/GetIncomingRequest.js ***!
@@ -17437,12 +18201,14 @@ __exportStar(__webpack_require__(/*! ./CompleteIncomingRequest */ "./dist/useCas
17437
18201
  __exportStar(__webpack_require__(/*! ./CompleteOutgoingRequest */ "./dist/useCases/consumption/requests/CompleteOutgoingRequest.js"), exports);
17438
18202
  __exportStar(__webpack_require__(/*! ./CreateAndCompleteOutgoingRequestFromRelationshipCreationChange */ "./dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js"), exports);
17439
18203
  __exportStar(__webpack_require__(/*! ./CreateOutgoingRequest */ "./dist/useCases/consumption/requests/CreateOutgoingRequest.js"), exports);
18204
+ __exportStar(__webpack_require__(/*! ./DiscardOutgoingRequest */ "./dist/useCases/consumption/requests/DiscardOutgoingRequest.js"), exports);
17440
18205
  __exportStar(__webpack_require__(/*! ./GetIncomingRequest */ "./dist/useCases/consumption/requests/GetIncomingRequest.js"), exports);
17441
18206
  __exportStar(__webpack_require__(/*! ./GetIncomingRequests */ "./dist/useCases/consumption/requests/GetIncomingRequests.js"), exports);
17442
18207
  __exportStar(__webpack_require__(/*! ./GetOutgoingRequest */ "./dist/useCases/consumption/requests/GetOutgoingRequest.js"), exports);
17443
18208
  __exportStar(__webpack_require__(/*! ./GetOutgoingRequests */ "./dist/useCases/consumption/requests/GetOutgoingRequests.js"), exports);
17444
18209
  __exportStar(__webpack_require__(/*! ./ReceivedIncomingRequest */ "./dist/useCases/consumption/requests/ReceivedIncomingRequest.js"), exports);
17445
18210
  __exportStar(__webpack_require__(/*! ./RejectIncomingRequest */ "./dist/useCases/consumption/requests/RejectIncomingRequest.js"), exports);
18211
+ __exportStar(__webpack_require__(/*! ./RequestMapper */ "./dist/useCases/consumption/requests/RequestMapper.js"), exports);
17446
18212
  __exportStar(__webpack_require__(/*! ./RequireManualDecisionOfIncomingRequest */ "./dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js"), exports);
17447
18213
  __exportStar(__webpack_require__(/*! ./SentOutgoingRequest */ "./dist/useCases/consumption/requests/SentOutgoingRequest.js"), exports);
17448
18214
  //# sourceMappingURL=index.js.map
@@ -21562,7 +22328,7 @@ GetAttributesForRelationshipUseCase = __decorate([
21562
22328
  __param(1, typescript_ioc_1.Inject),
21563
22329
  __param(2, typescript_ioc_1.Inject),
21564
22330
  __metadata("design:paramtypes", [transport_1.RelationshipsController,
21565
- consumption_1.LocalAttributesController,
22331
+ consumption_1.AttributesController,
21566
22332
  Validator])
21567
22333
  ], GetAttributesForRelationshipUseCase);
21568
22334
  exports.GetAttributesForRelationshipUseCase = GetAttributesForRelationshipUseCase;