@nmshd/consumption 3.3.2 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/consumption/ConsumptionBaseController.js.map +1 -1
  3. package/dist/consumption/ConsumptionController.d.ts +6 -3
  4. package/dist/consumption/ConsumptionController.js +19 -6
  5. package/dist/consumption/ConsumptionController.js.map +1 -1
  6. package/dist/consumption/ConsumptionControllerName.d.ts +2 -1
  7. package/dist/consumption/ConsumptionControllerName.js +2 -1
  8. package/dist/consumption/ConsumptionControllerName.js.map +1 -1
  9. package/dist/consumption/ConsumptionIds.d.ts +1 -0
  10. package/dist/consumption/ConsumptionIds.js +1 -0
  11. package/dist/consumption/ConsumptionIds.js.map +1 -1
  12. package/dist/consumption/CoreErrors.js.map +1 -1
  13. package/dist/index.d.ts +5 -1
  14. package/dist/index.js +5 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/modules/attributeListeners/AttributeListenersController.js +2 -2
  17. package/dist/modules/attributeListeners/AttributeListenersController.js.map +1 -1
  18. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js +2 -2
  19. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js.map +1 -1
  20. package/dist/modules/attributeListeners/local/LocalAttributeListener.js +2 -2
  21. package/dist/modules/attributeListeners/local/LocalAttributeListener.js.map +1 -1
  22. package/dist/modules/attributes/AttributesController.d.ts +1 -1
  23. package/dist/modules/attributes/AttributesController.js +11 -7
  24. package/dist/modules/attributes/AttributesController.js.map +1 -1
  25. package/dist/modules/attributes/local/CreateAttributeParams.js +2 -2
  26. package/dist/modules/attributes/local/CreateAttributeParams.js.map +1 -1
  27. package/dist/modules/attributes/local/CreateLocalAttributeParams.js +1 -1
  28. package/dist/modules/attributes/local/CreateLocalAttributeParams.js.map +1 -1
  29. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.js +1 -1
  30. package/dist/modules/attributes/local/CreatePeerLocalAttributeParams.js.map +1 -1
  31. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js +1 -1
  32. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +1 -1
  33. package/dist/modules/attributes/local/LocalAttribute.d.ts +1 -1
  34. package/dist/modules/attributes/local/LocalAttribute.js +4 -4
  35. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
  36. package/dist/modules/attributes/local/LocalAttributeShareInfo.js +1 -1
  37. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -1
  38. package/dist/modules/attributes/local/QueryTranslator.js +2 -2
  39. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  40. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js +1 -1
  41. package/dist/modules/attributes/local/SucceedLocalAttributeParams.js.map +1 -1
  42. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js +1 -1
  43. package/dist/modules/attributes/local/UpdateLocalAttributeParams.js.map +1 -1
  44. package/dist/modules/drafts/DraftsController.d.ts +1 -1
  45. package/dist/modules/drafts/DraftsController.js +8 -5
  46. package/dist/modules/drafts/DraftsController.js.map +1 -1
  47. package/dist/modules/drafts/local/Draft.js +2 -2
  48. package/dist/modules/drafts/local/Draft.js.map +1 -1
  49. package/dist/modules/index.d.ts +1 -0
  50. package/dist/modules/index.js +1 -0
  51. package/dist/modules/index.js.map +1 -1
  52. package/dist/modules/notifications/NotificationsController.d.ts +21 -0
  53. package/dist/modules/notifications/NotificationsController.js +123 -0
  54. package/dist/modules/notifications/NotificationsController.js.map +1 -0
  55. package/dist/modules/notifications/index.d.ts +8 -0
  56. package/dist/{consumption → modules/notifications}/index.js +8 -5
  57. package/dist/modules/notifications/index.js.map +1 -0
  58. package/dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.d.ts +26 -0
  59. package/dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js +12 -0
  60. package/dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js.map +1 -0
  61. package/dist/modules/notifications/itemProcessors/NotificationItemConstructor.d.ts +2 -0
  62. package/dist/modules/{requests/itemProcessors/ProcessorConstructor.js → notifications/itemProcessors/NotificationItemConstructor.js} +1 -1
  63. package/dist/modules/notifications/itemProcessors/NotificationItemConstructor.js.map +1 -0
  64. package/dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.d.ts +3 -0
  65. package/dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js +3 -0
  66. package/dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js.map +1 -0
  67. package/dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.d.ts +13 -0
  68. package/dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js +28 -0
  69. package/dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js.map +1 -0
  70. package/dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.d.ts +8 -0
  71. package/dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js +18 -0
  72. package/dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js.map +1 -0
  73. package/dist/modules/notifications/local/LocalNotification.d.ts +32 -0
  74. package/dist/modules/notifications/local/LocalNotification.js +97 -0
  75. package/dist/modules/notifications/local/LocalNotification.js.map +1 -0
  76. package/dist/modules/notifications/local/LocalNotificationSource.d.ts +11 -0
  77. package/dist/modules/notifications/local/LocalNotificationSource.js +41 -0
  78. package/dist/modules/notifications/local/LocalNotificationSource.js.map +1 -0
  79. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js +2 -2
  80. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js.map +1 -1
  81. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js +2 -2
  82. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js.map +1 -1
  83. package/dist/modules/requests/events/OutgoingRequestCreatedAndCompletedEvent.js +2 -2
  84. package/dist/modules/requests/events/OutgoingRequestCreatedAndCompletedEvent.js.map +1 -1
  85. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js +2 -2
  86. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js.map +1 -1
  87. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js +2 -2
  88. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js.map +1 -1
  89. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +9 -9
  90. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  91. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +1 -1
  92. package/dist/modules/requests/incoming/IncomingRequestsController.js +19 -15
  93. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  94. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js +2 -2
  95. package/dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js.map +1 -1
  96. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js +1 -1
  97. package/dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js.map +1 -1
  98. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js +2 -2
  99. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -1
  100. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js +2 -2
  101. package/dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js.map +1 -1
  102. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js +1 -1
  103. package/dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js.map +1 -1
  104. package/dist/modules/requests/index.d.ts +9 -9
  105. package/dist/modules/requests/index.js +9 -9
  106. package/dist/modules/requests/index.js.map +1 -1
  107. package/dist/modules/requests/itemProcessors/{ProcessorConstructor.d.ts → RequestItemProcessorConstructor.d.ts} +1 -1
  108. package/dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js +3 -0
  109. package/dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js.map +1 -0
  110. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.d.ts +4 -4
  111. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +3 -3
  112. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  113. package/dist/modules/requests/itemProcessors/ValidationResult.js.map +1 -1
  114. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +4 -4
  115. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  116. package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js +2 -2
  117. package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js.map +1 -1
  118. package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js +2 -2
  119. package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js.map +1 -1
  120. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +4 -4
  121. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
  122. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +5 -5
  123. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  124. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +4 -4
  125. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
  126. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +3 -3
  127. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  128. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +6 -6
  129. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  130. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +5 -5
  131. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -1
  132. package/dist/modules/requests/local/LocalRequest.js +7 -7
  133. package/dist/modules/requests/local/LocalRequest.js.map +1 -1
  134. package/dist/modules/requests/local/LocalRequestStatus.js +1 -1
  135. package/dist/modules/requests/local/LocalRequestStatus.js.map +1 -1
  136. package/dist/modules/requests/local/LocalRequestStatusLogEntry.js +2 -2
  137. package/dist/modules/requests/local/LocalRequestStatusLogEntry.js.map +1 -1
  138. package/dist/modules/requests/local/LocalResponse.js +4 -4
  139. package/dist/modules/requests/local/LocalResponse.js.map +1 -1
  140. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +1 -1
  141. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +14 -11
  142. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  143. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js +2 -2
  144. package/dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js.map +1 -1
  145. package/dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js +2 -2
  146. package/dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js.map +1 -1
  147. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js +2 -2
  148. package/dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js.map +1 -1
  149. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js +2 -2
  150. package/dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js.map +1 -1
  151. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js +2 -2
  152. package/dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js.map +1 -1
  153. package/dist/modules/settings/SettingsController.d.ts +1 -1
  154. package/dist/modules/settings/SettingsController.js +7 -5
  155. package/dist/modules/settings/SettingsController.js.map +1 -1
  156. package/dist/modules/settings/local/Setting.js +3 -3
  157. package/dist/modules/settings/local/Setting.js.map +1 -1
  158. package/lib-web/nmshd.consumption.js +875 -314
  159. package/lib-web/nmshd.consumption.js.map +1 -1
  160. package/lib-web/nmshd.consumption.min.js +1 -1
  161. package/lib-web/nmshd.consumption.min.js.map +1 -1
  162. package/package.json +22 -21
  163. package/dist/consumption/index.d.ts +0 -5
  164. package/dist/consumption/index.js.map +0 -1
  165. package/dist/modules/requests/itemProcessors/ProcessorConstructor.js.map +0 -1
@@ -17,11 +17,11 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
17
17
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
18
18
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
19
19
  exports.buildInformation = {
20
- version: "3.3.2",
21
- build: "107",
22
- date: "2023-09-27T10:34:54+00:00",
23
- commit: "d1f155d8411c372c9b03b293818245a398bd3b32",
24
- dependencies: {"@js-soft/docdb-querytranslator":"^1.1.0","@nmshd/iql":"^0.0.4","ts-simple-nameof":"^1.3.1"},
20
+ version: "3.4.1",
21
+ build: "109",
22
+ date: "2023-10-12T13:14:50+00:00",
23
+ commit: "f0f88ace5c1343e2eb1ec422d58342a8676926c4",
24
+ dependencies: {"@js-soft/docdb-querytranslator":"^1.1.1","@nmshd/iql":"^0.0.4","ts-simple-nameof":"^1.3.1"},
25
25
  libraries: {
26
26
  transport: transport_1.buildInformation,
27
27
  crypto: crypto_1.buildInformation,
@@ -102,20 +102,28 @@ class ConsumptionController {
102
102
  get attributeListeners() {
103
103
  return this._attributeListeners;
104
104
  }
105
- async init(requestItemProcessorOverrides = new Map()) {
105
+ get notifications() {
106
+ return this._notifications;
107
+ }
108
+ async init(requestItemProcessorOverrides = new Map(), notificationItemProcessorOverrides = new Map()) {
106
109
  this._attributes = await new modules_1.AttributesController(this, this.transport.eventBus, this.accountController.identity).init();
107
110
  this._drafts = await new modules_1.DraftsController(this).init();
108
- const processorRegistry = new modules_1.RequestItemProcessorRegistry(this, this.getDefaultProcessors());
111
+ const requestItemProcessorRegistry = new modules_1.RequestItemProcessorRegistry(this, this.getDefaultRequestItemProcessors());
109
112
  for (const [itemConstructor, processorConstructor] of requestItemProcessorOverrides) {
110
- processorRegistry.registerOrReplaceProcessor(itemConstructor, processorConstructor);
113
+ requestItemProcessorRegistry.registerOrReplaceProcessor(itemConstructor, processorConstructor);
114
+ }
115
+ this._outgoingRequests = await new modules_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), requestItemProcessorRegistry, this, this.transport.eventBus, this.accountController.identity, this.accountController.relationships).init();
116
+ this._incomingRequests = await new modules_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), requestItemProcessorRegistry, this, this.transport.eventBus, this.accountController.identity).init();
117
+ const notificationItemProcessorRegistry = new modules_1.NotificationItemProcessorRegistry(this, this.getDefaultNotificationItemProcessors());
118
+ for (const [itemConstructor, processorConstructor] of notificationItemProcessorOverrides) {
119
+ notificationItemProcessorRegistry.registerOrReplaceProcessor(itemConstructor, processorConstructor);
111
120
  }
112
- this._outgoingRequests = await new modules_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this, this.transport.eventBus, this.accountController.identity, this.accountController.relationships).init();
113
- this._incomingRequests = await new modules_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this, this.transport.eventBus, this.accountController.identity).init();
121
+ this._notifications = await new modules_1.NotificationsController(await this.accountController.getSynchronizedCollection("Notifications"), notificationItemProcessorRegistry, this, this.transport.eventBus, this.accountController.activeDevice).init();
114
122
  this._settings = await new modules_1.SettingsController(this).init();
115
123
  this._attributeListeners = await new modules_1.AttributeListenersController(this, this.transport.eventBus, this.accountController.identity).init();
116
124
  return this;
117
125
  }
118
- getDefaultProcessors() {
126
+ getDefaultRequestItemProcessors() {
119
127
  return new Map([
120
128
  [content_1.ShareAttributeRequestItem, modules_1.ShareAttributeRequestItemProcessor],
121
129
  [content_1.CreateAttributeRequestItem, modules_1.CreateAttributeRequestItemProcessor],
@@ -127,6 +135,11 @@ class ConsumptionController {
127
135
  [content_1.FreeTextRequestItem, modules_1.FreeTextRequestItemProcessor]
128
136
  ]);
129
137
  }
138
+ getDefaultNotificationItemProcessors() {
139
+ return new Map([
140
+ [content_1.AttributeSucceededNotificationItem, modules_1.AttributeSucceededNotificationItemProcessor]
141
+ ]);
142
+ }
130
143
  }
131
144
  exports.ConsumptionController = ConsumptionController;
132
145
  //# sourceMappingURL=ConsumptionController.js.map
@@ -155,7 +168,8 @@ var ConsumptionControllerName;
155
168
  ConsumptionControllerName["RequestsController"] = "Requestsontroller";
156
169
  ConsumptionControllerName["SettingsController"] = "SettingsController";
157
170
  ConsumptionControllerName["SharedItemsController"] = "SharedItemsController";
158
- })(ConsumptionControllerName = exports.ConsumptionControllerName || (exports.ConsumptionControllerName = {}));
171
+ ConsumptionControllerName["NotificationsController"] = "NotificationsController";
172
+ })(ConsumptionControllerName || (exports.ConsumptionControllerName = ConsumptionControllerName = {}));
159
173
  //# sourceMappingURL=ConsumptionControllerName.js.map
160
174
 
161
175
  /***/ }),
@@ -196,6 +210,7 @@ ConsumptionIds.setting = new transport_1.CoreIdHelper("LCLSET");
196
210
  ConsumptionIds.attribute = new transport_1.CoreIdHelper("ATT");
197
211
  ConsumptionIds.request = new transport_1.CoreIdHelper("REQ");
198
212
  ConsumptionIds.attributeListener = new transport_1.CoreIdHelper("ATL");
213
+ ConsumptionIds.notification = new transport_1.CoreIdHelper("NOT");
199
214
  //# sourceMappingURL=ConsumptionIds.js.map
200
215
 
201
216
  /***/ }),
@@ -260,38 +275,6 @@ CoreErrors.requests = new Requests();
260
275
 
261
276
  /***/ }),
262
277
 
263
- /***/ "./dist/consumption/index.js":
264
- /*!***********************************!*\
265
- !*** ./dist/consumption/index.js ***!
266
- \***********************************/
267
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
268
-
269
- "use strict";
270
-
271
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
272
- if (k2 === undefined) k2 = k;
273
- var desc = Object.getOwnPropertyDescriptor(m, k);
274
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
275
- desc = { enumerable: true, get: function() { return m[k]; } };
276
- }
277
- Object.defineProperty(o, k2, desc);
278
- }) : (function(o, m, k, k2) {
279
- if (k2 === undefined) k2 = k;
280
- o[k2] = m[k];
281
- }));
282
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
283
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
284
- };
285
- Object.defineProperty(exports, "__esModule", ({ value: true }));
286
- __exportStar(__webpack_require__(/*! ./ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js"), exports);
287
- __exportStar(__webpack_require__(/*! ./ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js"), exports);
288
- __exportStar(__webpack_require__(/*! ./ConsumptionError */ "./dist/consumption/ConsumptionError.js"), exports);
289
- __exportStar(__webpack_require__(/*! ./ConsumptionIds */ "./dist/consumption/ConsumptionIds.js"), exports);
290
- __exportStar(__webpack_require__(/*! ./CoreErrors */ "./dist/consumption/CoreErrors.js"), exports);
291
- //# sourceMappingURL=index.js.map
292
-
293
- /***/ }),
294
-
295
278
  /***/ "./dist/index.js":
296
279
  /*!***********************!*\
297
280
  !*** ./dist/index.js ***!
@@ -316,8 +299,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
316
299
  };
317
300
  Object.defineProperty(exports, "__esModule", ({ value: true }));
318
301
  __exportStar(__webpack_require__(/*! ./buildInformation */ "./dist/buildInformation.js"), exports);
319
- __exportStar(__webpack_require__(/*! ./consumption */ "./dist/consumption/index.js"), exports);
302
+ __exportStar(__webpack_require__(/*! ./consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js"), exports);
320
303
  __exportStar(__webpack_require__(/*! ./consumption/ConsumptionController */ "./dist/consumption/ConsumptionController.js"), exports);
304
+ __exportStar(__webpack_require__(/*! ./consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js"), exports);
305
+ __exportStar(__webpack_require__(/*! ./consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js"), exports);
306
+ __exportStar(__webpack_require__(/*! ./consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js"), exports);
307
+ __exportStar(__webpack_require__(/*! ./consumption/CoreErrors */ "./dist/consumption/CoreErrors.js"), exports);
321
308
  __exportStar(__webpack_require__(/*! ./modules */ "./dist/modules/index.js"), exports);
322
309
  //# sourceMappingURL=index.js.map
323
310
 
@@ -333,9 +320,9 @@ __exportStar(__webpack_require__(/*! ./modules */ "./dist/modules/index.js"), ex
333
320
 
334
321
  Object.defineProperty(exports, "__esModule", ({ value: true }));
335
322
  exports.AttributeListenersController = void 0;
336
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
337
323
  const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
338
324
  const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
325
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
339
326
  const events_1 = __webpack_require__(/*! ./events */ "./dist/modules/attributeListeners/events/index.js");
340
327
  const CreateLocalAttributeListenerParams_1 = __webpack_require__(/*! ./local/CreateLocalAttributeListenerParams */ "./dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js");
341
328
  const LocalAttributeListener_1 = __webpack_require__(/*! ./local/LocalAttributeListener */ "./dist/modules/attributeListeners/local/LocalAttributeListener.js");
@@ -363,7 +350,7 @@ class AttributeListenersController extends ConsumptionBaseController_1.Consumpti
363
350
  async createAttributeListener(params) {
364
351
  const parsedParams = CreateLocalAttributeListenerParams_1.CreateLocalAttributeListenerParams.from(params);
365
352
  const listener = LocalAttributeListener_1.LocalAttributeListener.from({
366
- id: await consumption_1.ConsumptionIds.attributeListener.generate(),
353
+ id: await ConsumptionIds_1.ConsumptionIds.attributeListener.generate(),
367
354
  query: parsedParams.query,
368
355
  peer: parsedParams.peer
369
356
  });
@@ -485,6 +472,7 @@ let CreateLocalAttributeListenerParams = class CreateLocalAttributeListenerParam
485
472
  return this.fromAny(value);
486
473
  }
487
474
  };
475
+ exports.CreateLocalAttributeListenerParams = CreateLocalAttributeListenerParams;
488
476
  __decorate([
489
477
  (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttributeQuery, content_1.ThirdPartyRelationshipAttributeQuery] }),
490
478
  (0, ts_serval_1.validate)(),
@@ -495,10 +483,9 @@ __decorate([
495
483
  (0, ts_serval_1.validate)(),
496
484
  __metadata("design:type", transport_1.CoreAddress)
497
485
  ], CreateLocalAttributeListenerParams.prototype, "peer", void 0);
498
- CreateLocalAttributeListenerParams = __decorate([
486
+ exports.CreateLocalAttributeListenerParams = CreateLocalAttributeListenerParams = __decorate([
499
487
  (0, ts_serval_1.type)("CreateLocalAttributeListenerParams")
500
488
  ], CreateLocalAttributeListenerParams);
501
- exports.CreateLocalAttributeListenerParams = CreateLocalAttributeListenerParams;
502
489
  //# sourceMappingURL=CreateLocalAttributeListenerParams.js.map
503
490
 
504
491
  /***/ }),
@@ -541,6 +528,7 @@ let LocalAttributeListener = class LocalAttributeListener extends transport_1.Co
541
528
  return super.toJSON();
542
529
  }
543
530
  };
531
+ exports.LocalAttributeListener = LocalAttributeListener;
544
532
  __decorate([
545
533
  (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttributeQuery, content_1.ThirdPartyRelationshipAttributeQuery] }),
546
534
  (0, ts_serval_1.validate)(),
@@ -551,10 +539,9 @@ __decorate([
551
539
  (0, ts_serval_1.validate)(),
552
540
  __metadata("design:type", transport_1.CoreAddress)
553
541
  ], LocalAttributeListener.prototype, "peer", void 0);
554
- LocalAttributeListener = __decorate([
542
+ exports.LocalAttributeListener = LocalAttributeListener = __decorate([
555
543
  (0, ts_serval_1.type)("LocalAttributeListener")
556
544
  ], LocalAttributeListener);
557
- exports.LocalAttributeListener = LocalAttributeListener;
558
545
  //# sourceMappingURL=LocalAttributeListener.js.map
559
546
 
560
547
  /***/ }),
@@ -596,16 +583,20 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
596
583
  const Iql = __importStar(__webpack_require__(/*! @nmshd/iql */ "./node_modules/@nmshd/iql/dist/src/index.js"));
597
584
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
598
585
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
599
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
586
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
587
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
588
+ const ConsumptionError_1 = __webpack_require__(/*! ../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
589
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
590
+ const CoreErrors_1 = __webpack_require__(/*! ../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
600
591
  const events_1 = __webpack_require__(/*! ./events */ "./dist/modules/attributes/events/index.js");
601
592
  const CreateSharedLocalAttributeCopyParams_1 = __webpack_require__(/*! ./local/CreateSharedLocalAttributeCopyParams */ "./dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js");
602
593
  const LocalAttribute_1 = __webpack_require__(/*! ./local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js");
603
594
  const LocalAttributeShareInfo_1 = __webpack_require__(/*! ./local/LocalAttributeShareInfo */ "./dist/modules/attributes/local/LocalAttributeShareInfo.js");
604
595
  const QueryTranslator_1 = __webpack_require__(/*! ./local/QueryTranslator */ "./dist/modules/attributes/local/QueryTranslator.js");
605
596
  const SucceedLocalAttributeParams_1 = __webpack_require__(/*! ./local/SucceedLocalAttributeParams */ "./dist/modules/attributes/local/SucceedLocalAttributeParams.js");
606
- class AttributesController extends consumption_1.ConsumptionBaseController {
597
+ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseController {
607
598
  constructor(parent, eventBus, identity) {
608
- super(consumption_1.ConsumptionControllerName.AttributesController, parent);
599
+ super(ConsumptionControllerName_1.ConsumptionControllerName.AttributesController, parent);
609
600
  this.eventBus = eventBus;
610
601
  this.identity = identity;
611
602
  }
@@ -746,7 +737,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
746
737
  }
747
738
  async createLocalAttribute(params) {
748
739
  const localAttribute = LocalAttribute_1.LocalAttribute.from({
749
- id: await consumption_1.ConsumptionIds.attribute.generate(),
740
+ id: await ConsumptionIds_1.ConsumptionIds.attribute.generate(),
750
741
  createdAt: transport_1.CoreDate.utc(),
751
742
  content: params.content,
752
743
  parentId: params.parentId
@@ -761,7 +752,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
761
752
  }
762
753
  async createLocalAttributesForNestedAttributeValues(localAttribute) {
763
754
  if (!(localAttribute.content instanceof content_1.IdentityAttribute)) {
764
- throw new consumption_1.ConsumptionError("Only Identity Attributes are allowed here");
755
+ throw new ConsumptionError_1.ConsumptionError("Only Identity Attributes are allowed here");
765
756
  }
766
757
  const nestedAttributeValues = Object.values(localAttribute.content.value).filter((p) => p instanceof content_1.AbstractAttributeValue);
767
758
  for (const propertyValue of nestedAttributeValues) {
@@ -779,7 +770,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
779
770
  });
780
771
  const currentAttribute = LocalAttribute_1.LocalAttribute.from(currentAttributeDoc);
781
772
  if (currentAttribute.parentId) {
782
- throw consumption_1.CoreErrors.attributes.cannotSucceedAttributesWithAParent(parsedParams.succeeds.toString());
773
+ throw CoreErrors_1.CoreErrors.attributes.cannotSucceedAttributesWithAParent(parsedParams.succeeds.toString());
783
774
  }
784
775
  if (!currentAttributeDoc) {
785
776
  throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, parsedParams.succeeds.toString());
@@ -817,7 +808,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
817
808
  requestReference: params.requestReference
818
809
  });
819
810
  const peerLocalAttribute = LocalAttribute_1.LocalAttribute.from({
820
- id: params.id ?? (await consumption_1.ConsumptionIds.attribute.generate()),
811
+ id: params.id ?? (await ConsumptionIds_1.ConsumptionIds.attribute.generate()),
821
812
  content: params.content,
822
813
  shareInfo: shareInfo,
823
814
  createdAt: transport_1.CoreDate.utc()
@@ -1060,6 +1051,7 @@ class CreateLocalAttributeParams extends ts_serval_1.Serializable {
1060
1051
  return this.fromAny(value);
1061
1052
  }
1062
1053
  }
1054
+ exports.CreateLocalAttributeParams = CreateLocalAttributeParams;
1063
1055
  __decorate([
1064
1056
  (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
1065
1057
  (0, ts_serval_1.validate)(),
@@ -1070,7 +1062,6 @@ __decorate([
1070
1062
  (0, ts_serval_1.validate)(),
1071
1063
  __metadata("design:type", transport_1.CoreId)
1072
1064
  ], CreateLocalAttributeParams.prototype, "parentId", void 0);
1073
- exports.CreateLocalAttributeParams = CreateLocalAttributeParams;
1074
1065
  //# sourceMappingURL=CreateLocalAttributeParams.js.map
1075
1066
 
1076
1067
  /***/ }),
@@ -1102,6 +1093,7 @@ class CreatePeerLocalAttributeParams extends ts_serval_1.Serializable {
1102
1093
  return this.fromAny(value);
1103
1094
  }
1104
1095
  }
1096
+ exports.CreatePeerLocalAttributeParams = CreatePeerLocalAttributeParams;
1105
1097
  __decorate([
1106
1098
  (0, ts_serval_1.serialize)(),
1107
1099
  (0, ts_serval_1.validate)(),
@@ -1122,7 +1114,6 @@ __decorate([
1122
1114
  (0, ts_serval_1.validate)(),
1123
1115
  __metadata("design:type", transport_1.CoreAddress)
1124
1116
  ], CreatePeerLocalAttributeParams.prototype, "peer", void 0);
1125
- exports.CreatePeerLocalAttributeParams = CreatePeerLocalAttributeParams;
1126
1117
  //# sourceMappingURL=CreatePeerLocalAttributeParams.js.map
1127
1118
 
1128
1119
  /***/ }),
@@ -1153,6 +1144,7 @@ class CreateSharedLocalAttributeCopyParams extends ts_serval_1.Serializable {
1153
1144
  return this.fromAny(value);
1154
1145
  }
1155
1146
  }
1147
+ exports.CreateSharedLocalAttributeCopyParams = CreateSharedLocalAttributeCopyParams;
1156
1148
  __decorate([
1157
1149
  (0, ts_serval_1.serialize)(),
1158
1150
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -1173,7 +1165,6 @@ __decorate([
1173
1165
  (0, ts_serval_1.validate)(),
1174
1166
  __metadata("design:type", transport_1.CoreId)
1175
1167
  ], CreateSharedLocalAttributeCopyParams.prototype, "requestReference", void 0);
1176
- exports.CreateSharedLocalAttributeCopyParams = CreateSharedLocalAttributeCopyParams;
1177
1168
  //# sourceMappingURL=CreateSharedLocalAttributeCopyParams.js.map
1178
1169
 
1179
1170
  /***/ }),
@@ -1201,7 +1192,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
1201
1192
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1202
1193
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1203
1194
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
1204
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1195
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
1205
1196
  const LocalAttributeShareInfo_1 = __webpack_require__(/*! ./LocalAttributeShareInfo */ "./dist/modules/attributes/local/LocalAttributeShareInfo.js");
1206
1197
  let LocalAttribute = class LocalAttribute extends transport_1.CoreSynchronizable {
1207
1198
  constructor() {
@@ -1243,7 +1234,7 @@ let LocalAttribute = class LocalAttribute extends transport_1.CoreSynchronizable
1243
1234
  }
1244
1235
  static async fromAttribute(content, succeeds, shareInfo, id, parentId) {
1245
1236
  return this.from({
1246
- id: id ?? (await consumption_1.ConsumptionIds.attribute.generate()),
1237
+ id: id ?? (await ConsumptionIds_1.ConsumptionIds.attribute.generate()),
1247
1238
  createdAt: transport_1.CoreDate.utc(),
1248
1239
  content,
1249
1240
  succeeds,
@@ -1252,6 +1243,7 @@ let LocalAttribute = class LocalAttribute extends transport_1.CoreSynchronizable
1252
1243
  });
1253
1244
  }
1254
1245
  };
1246
+ exports.LocalAttribute = LocalAttribute;
1255
1247
  __decorate([
1256
1248
  (0, ts_serval_1.validate)(),
1257
1249
  (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
@@ -1282,10 +1274,9 @@ __decorate([
1282
1274
  (0, ts_serval_1.serialize)(),
1283
1275
  __metadata("design:type", transport_1.CoreId)
1284
1276
  ], LocalAttribute.prototype, "parentId", void 0);
1285
- LocalAttribute = __decorate([
1277
+ exports.LocalAttribute = LocalAttribute = __decorate([
1286
1278
  (0, ts_serval_1.type)("LocalAttribute")
1287
1279
  ], LocalAttribute);
1288
- exports.LocalAttribute = LocalAttribute;
1289
1280
  //# sourceMappingURL=LocalAttribute.js.map
1290
1281
 
1291
1282
  /***/ }),
@@ -1316,6 +1307,7 @@ class LocalAttributeShareInfo extends transport_1.CoreSerializable {
1316
1307
  return super.fromAny(value);
1317
1308
  }
1318
1309
  }
1310
+ exports.LocalAttributeShareInfo = LocalAttributeShareInfo;
1319
1311
  __decorate([
1320
1312
  (0, ts_serval_1.validate)(),
1321
1313
  (0, ts_serval_1.serialize)(),
@@ -1331,7 +1323,6 @@ __decorate([
1331
1323
  (0, ts_serval_1.serialize)(),
1332
1324
  __metadata("design:type", transport_1.CoreId)
1333
1325
  ], LocalAttributeShareInfo.prototype, "sourceAttribute", void 0);
1334
- exports.LocalAttributeShareInfo = LocalAttributeShareInfo;
1335
1326
  //# sourceMappingURL=LocalAttributeShareInfo.js.map
1336
1327
 
1337
1328
  /***/ }),
@@ -1349,7 +1340,7 @@ exports.ThirdPartyRelationshipAttributeQueryTranslator = exports.RelationshipAtt
1349
1340
  const docdb_querytranslator_1 = __webpack_require__(/*! @js-soft/docdb-querytranslator */ "./node_modules/@js-soft/docdb-querytranslator/dist/index.js");
1350
1341
  const luxon_1 = __webpack_require__(/*! luxon */ "./node_modules/luxon/build/node/luxon.js");
1351
1342
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
1352
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1343
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1353
1344
  class IdentityAttributeQueryTranslator {
1354
1345
  static translate(query) {
1355
1346
  return this.translator.parse({ ...query.toJSON(), attributeType: "IdentityAttribute" });
@@ -1378,7 +1369,7 @@ IdentityAttributeQueryTranslator.translator = new docdb_querytranslator_1.QueryT
1378
1369
  if (!input)
1379
1370
  return;
1380
1371
  if (!Array.isArray(input)) {
1381
- throw new consumption_1.ConsumptionError("Invalid input: 'tags' must be an array");
1372
+ throw new ConsumptionError_1.ConsumptionError("Invalid input: 'tags' must be an array");
1382
1373
  }
1383
1374
  const inputAsArray = input;
1384
1375
  query["$or"] = inputAsArray.map((t) => ({
@@ -1543,6 +1534,7 @@ class SucceedLocalAttributeParams extends ts_serval_1.Serializable {
1543
1534
  return this.fromAny(value);
1544
1535
  }
1545
1536
  }
1537
+ exports.SucceedLocalAttributeParams = SucceedLocalAttributeParams;
1546
1538
  __decorate([
1547
1539
  (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
1548
1540
  (0, ts_serval_1.validate)(),
@@ -1553,7 +1545,6 @@ __decorate([
1553
1545
  (0, ts_serval_1.validate)(),
1554
1546
  __metadata("design:type", transport_1.CoreId)
1555
1547
  ], SucceedLocalAttributeParams.prototype, "succeeds", void 0);
1556
- exports.SucceedLocalAttributeParams = SucceedLocalAttributeParams;
1557
1548
  //# sourceMappingURL=SucceedLocalAttributeParams.js.map
1558
1549
 
1559
1550
  /***/ }),
@@ -1585,6 +1576,7 @@ class UpdateLocalAttributeParams extends ts_serval_1.Serializable {
1585
1576
  return this.fromAny(value);
1586
1577
  }
1587
1578
  }
1579
+ exports.UpdateLocalAttributeParams = UpdateLocalAttributeParams;
1588
1580
  __decorate([
1589
1581
  (0, ts_serval_1.serialize)(),
1590
1582
  (0, ts_serval_1.validate)(),
@@ -1595,7 +1587,6 @@ __decorate([
1595
1587
  (0, ts_serval_1.validate)(),
1596
1588
  __metadata("design:type", Object)
1597
1589
  ], UpdateLocalAttributeParams.prototype, "content", void 0);
1598
- exports.UpdateLocalAttributeParams = UpdateLocalAttributeParams;
1599
1590
  //# sourceMappingURL=UpdateLocalAttributeParams.js.map
1600
1591
 
1601
1592
  /***/ }),
@@ -1611,11 +1602,14 @@ exports.UpdateLocalAttributeParams = UpdateLocalAttributeParams;
1611
1602
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1612
1603
  exports.DraftsController = void 0;
1613
1604
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1614
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
1605
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
1606
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
1607
+ const ConsumptionError_1 = __webpack_require__(/*! ../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1608
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
1615
1609
  const Draft_1 = __webpack_require__(/*! ./local/Draft */ "./dist/modules/drafts/local/Draft.js");
1616
- class DraftsController extends consumption_1.ConsumptionBaseController {
1610
+ class DraftsController extends ConsumptionBaseController_1.ConsumptionBaseController {
1617
1611
  constructor(parent) {
1618
- super(consumption_1.ConsumptionControllerName.DraftsController, parent);
1612
+ super(ConsumptionControllerName_1.ConsumptionControllerName.DraftsController, parent);
1619
1613
  }
1620
1614
  async init() {
1621
1615
  await super.init();
@@ -1632,7 +1626,7 @@ class DraftsController extends consumption_1.ConsumptionBaseController {
1632
1626
  }
1633
1627
  async createDraft(content, type = "") {
1634
1628
  const draft = Draft_1.Draft.from({
1635
- id: await consumption_1.ConsumptionIds.draft.generate(),
1629
+ id: await ConsumptionIds_1.ConsumptionIds.draft.generate(),
1636
1630
  content,
1637
1631
  createdAt: new transport_1.CoreDate(),
1638
1632
  lastModifiedAt: new transport_1.CoreDate(),
@@ -1644,7 +1638,7 @@ class DraftsController extends consumption_1.ConsumptionBaseController {
1644
1638
  async updateDraft(draft) {
1645
1639
  const oldDraft = await this.drafts.read(draft.id.toString());
1646
1640
  if (!oldDraft) {
1647
- throw new consumption_1.ConsumptionError("Draft Not Found");
1641
+ throw new ConsumptionError_1.ConsumptionError("Draft Not Found");
1648
1642
  }
1649
1643
  await this.drafts.update(oldDraft, draft);
1650
1644
  }
@@ -1728,6 +1722,7 @@ let Draft = class Draft extends transport_1.CoreSynchronizable {
1728
1722
  return this.fromAny(value);
1729
1723
  }
1730
1724
  };
1725
+ exports.Draft = Draft;
1731
1726
  __decorate([
1732
1727
  (0, ts_serval_1.validate)(),
1733
1728
  (0, ts_serval_1.serialize)(),
@@ -1758,10 +1753,9 @@ __decorate([
1758
1753
  (0, ts_serval_1.serialize)(),
1759
1754
  __metadata("design:type", transport_1.CoreDate)
1760
1755
  ], Draft.prototype, "metadataModifiedAt", void 0);
1761
- Draft = __decorate([
1756
+ exports.Draft = Draft = __decorate([
1762
1757
  (0, ts_serval_1.type)("Draft")
1763
1758
  ], Draft);
1764
- exports.Draft = Draft;
1765
1759
  //# sourceMappingURL=Draft.js.map
1766
1760
 
1767
1761
  /***/ }),
@@ -1792,12 +1786,453 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1792
1786
  __exportStar(__webpack_require__(/*! ./attributeListeners */ "./dist/modules/attributeListeners/index.js"), exports);
1793
1787
  __exportStar(__webpack_require__(/*! ./attributes */ "./dist/modules/attributes/index.js"), exports);
1794
1788
  __exportStar(__webpack_require__(/*! ./drafts */ "./dist/modules/drafts/index.js"), exports);
1789
+ __exportStar(__webpack_require__(/*! ./notifications */ "./dist/modules/notifications/index.js"), exports);
1795
1790
  __exportStar(__webpack_require__(/*! ./requests */ "./dist/modules/requests/index.js"), exports);
1796
1791
  __exportStar(__webpack_require__(/*! ./settings */ "./dist/modules/settings/index.js"), exports);
1797
1792
  //# sourceMappingURL=index.js.map
1798
1793
 
1799
1794
  /***/ }),
1800
1795
 
1796
+ /***/ "./dist/modules/notifications/NotificationsController.js":
1797
+ /*!***************************************************************!*\
1798
+ !*** ./dist/modules/notifications/NotificationsController.js ***!
1799
+ \***************************************************************/
1800
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1801
+
1802
+ "use strict";
1803
+
1804
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1805
+ exports.NotificationsController = void 0;
1806
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1807
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1808
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
1809
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
1810
+ const LocalNotification_1 = __webpack_require__(/*! ./local/LocalNotification */ "./dist/modules/notifications/local/LocalNotification.js");
1811
+ const LocalNotificationSource_1 = __webpack_require__(/*! ./local/LocalNotificationSource */ "./dist/modules/notifications/local/LocalNotificationSource.js");
1812
+ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBaseController {
1813
+ constructor(localNotifications, processorRegistry, parent, eventBus, device) {
1814
+ super(ConsumptionControllerName_1.ConsumptionControllerName.NotificationsController, parent);
1815
+ this.localNotifications = localNotifications;
1816
+ this.processorRegistry = processorRegistry;
1817
+ this.eventBus = eventBus;
1818
+ this.device = device;
1819
+ }
1820
+ async sent(message) {
1821
+ if (!message.isOwn)
1822
+ throw new Error("Cannot send a Notification from a foreign message.");
1823
+ const content = this.extractNotificationFromMessage(message);
1824
+ const recipients = message.cache.recipients;
1825
+ if (recipients.length > 1)
1826
+ throw new Error("Message contains more than one recipient.");
1827
+ const notification = LocalNotification_1.LocalNotification.from({
1828
+ id: content.id,
1829
+ content,
1830
+ status: LocalNotification_1.LocalNotificationStatus.Sent,
1831
+ isOwn: true,
1832
+ createdAt: message.cache.createdAt,
1833
+ peer: recipients[0].address,
1834
+ source: LocalNotificationSource_1.LocalNotificationSource.message(message.id)
1835
+ });
1836
+ await this.localNotifications.create(notification);
1837
+ return notification;
1838
+ }
1839
+ async received(message) {
1840
+ if (message.isOwn)
1841
+ throw new Error("Cannot receive a Notification from an own message.");
1842
+ const content = this.extractNotificationFromMessage(message);
1843
+ const notification = LocalNotification_1.LocalNotification.from({
1844
+ id: content.id,
1845
+ content,
1846
+ status: LocalNotification_1.LocalNotificationStatus.Open,
1847
+ isOwn: false,
1848
+ createdAt: message.cache.createdAt,
1849
+ peer: message.cache.createdBy,
1850
+ source: LocalNotificationSource_1.LocalNotificationSource.message(message.id),
1851
+ receivedByDevice: this.device.id
1852
+ });
1853
+ await this.localNotifications.create(notification);
1854
+ return notification;
1855
+ }
1856
+ extractNotificationFromMessage(message) {
1857
+ if (!(message.cache.content instanceof content_1.Notification)) {
1858
+ throw new Error("Message does not contain a Notification.");
1859
+ }
1860
+ return message.cache.content;
1861
+ }
1862
+ async processOpenNotifactionsReceivedByCurrentDevice() {
1863
+ const notifications = await this.localNotifications.find({
1864
+ receivedByDevice: this.device.id.toString(),
1865
+ isOwn: false,
1866
+ status: LocalNotification_1.LocalNotificationStatus.Open
1867
+ });
1868
+ for (const notificationDoc of notifications) {
1869
+ const notification = LocalNotification_1.LocalNotification.from(notificationDoc);
1870
+ await this.process(notificationDoc, notification);
1871
+ }
1872
+ }
1873
+ async processNotificationById(notificationId) {
1874
+ const notificationDoc = await this.localNotifications.findOne({ id: notificationId.toString() });
1875
+ if (!notificationDoc) {
1876
+ throw transport_1.CoreErrors.general.recordNotFound(LocalNotification_1.LocalNotification, notificationId.toString());
1877
+ }
1878
+ const parsed = LocalNotification_1.LocalNotification.from(notificationDoc);
1879
+ return await this.process(notificationDoc, parsed);
1880
+ }
1881
+ async process(oldDoc, notification) {
1882
+ if (notification.isOwn)
1883
+ throw new Error("Cannot process own notification.");
1884
+ if (!notification.receivedByDevice?.equals(this.device.id)) {
1885
+ throw new Error("Notification is not received by current device.");
1886
+ }
1887
+ if (![LocalNotification_1.LocalNotificationStatus.Open, LocalNotification_1.LocalNotificationStatus.Error].includes(notification.status)) {
1888
+ throw new Error(`Cannot process notification with status ${notification.status}.`);
1889
+ }
1890
+ const processedItems = [];
1891
+ const events = [];
1892
+ try {
1893
+ for (const item of notification.content.items) {
1894
+ const processor = this.processorRegistry.getProcessorForItem(item);
1895
+ const prerequisitesMatched = await processor.checkPrerequisitesOfIncomingNotificationItem(item);
1896
+ if (!prerequisitesMatched) {
1897
+ const index = notification.content.items.indexOf(item);
1898
+ throw new Error(`Prerequisites of notificationItem with index '${index}' of Notification ${notification.id} not met.`);
1899
+ }
1900
+ // we should also rollback the item that failed, therefore we need to push before processing
1901
+ processedItems.push(item);
1902
+ const event = await processor.process(item);
1903
+ if (event)
1904
+ events.push(event);
1905
+ }
1906
+ }
1907
+ catch (e) {
1908
+ this._log.error(`Error while processing notification ${notification.id}: ${e}`);
1909
+ for (const item of processedItems.reverse()) {
1910
+ const processor = this.processorRegistry.getProcessorForItem(item);
1911
+ await processor.rollback(item);
1912
+ }
1913
+ notification.status = LocalNotification_1.LocalNotificationStatus.Error;
1914
+ await this.localNotifications.update(oldDoc, notification);
1915
+ return notification;
1916
+ }
1917
+ notification.status = LocalNotification_1.LocalNotificationStatus.Completed;
1918
+ await this.localNotifications.update(oldDoc, notification);
1919
+ for (const event of events)
1920
+ this.eventBus.publish(event);
1921
+ return notification;
1922
+ }
1923
+ }
1924
+ exports.NotificationsController = NotificationsController;
1925
+ //# sourceMappingURL=NotificationsController.js.map
1926
+
1927
+ /***/ }),
1928
+
1929
+ /***/ "./dist/modules/notifications/index.js":
1930
+ /*!*********************************************!*\
1931
+ !*** ./dist/modules/notifications/index.js ***!
1932
+ \*********************************************/
1933
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1934
+
1935
+ "use strict";
1936
+
1937
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1938
+ if (k2 === undefined) k2 = k;
1939
+ var desc = Object.getOwnPropertyDescriptor(m, k);
1940
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
1941
+ desc = { enumerable: true, get: function() { return m[k]; } };
1942
+ }
1943
+ Object.defineProperty(o, k2, desc);
1944
+ }) : (function(o, m, k, k2) {
1945
+ if (k2 === undefined) k2 = k;
1946
+ o[k2] = m[k];
1947
+ }));
1948
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1949
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1950
+ };
1951
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1952
+ __exportStar(__webpack_require__(/*! ./NotificationsController */ "./dist/modules/notifications/NotificationsController.js"), exports);
1953
+ __exportStar(__webpack_require__(/*! ./itemProcessors/AbstractNotificationItemProcessor */ "./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js"), exports);
1954
+ __exportStar(__webpack_require__(/*! ./itemProcessors/NotificationItemConstructor */ "./dist/modules/notifications/itemProcessors/NotificationItemConstructor.js"), exports);
1955
+ __exportStar(__webpack_require__(/*! ./itemProcessors/NotificationItemProcessorConstructor */ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js"), exports);
1956
+ __exportStar(__webpack_require__(/*! ./itemProcessors/NotificationItemProcessorRegistry */ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js"), exports);
1957
+ __exportStar(__webpack_require__(/*! ./itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor */ "./dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js"), exports);
1958
+ __exportStar(__webpack_require__(/*! ./local/LocalNotification */ "./dist/modules/notifications/local/LocalNotification.js"), exports);
1959
+ __exportStar(__webpack_require__(/*! ./local/LocalNotificationSource */ "./dist/modules/notifications/local/LocalNotificationSource.js"), exports);
1960
+ //# sourceMappingURL=index.js.map
1961
+
1962
+ /***/ }),
1963
+
1964
+ /***/ "./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js":
1965
+ /*!****************************************************************************************!*\
1966
+ !*** ./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js ***!
1967
+ \****************************************************************************************/
1968
+ /***/ ((__unused_webpack_module, exports) => {
1969
+
1970
+ "use strict";
1971
+
1972
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1973
+ exports.AbstractNotificationItemProcessor = void 0;
1974
+ class AbstractNotificationItemProcessor {
1975
+ constructor(consumptionController) {
1976
+ this.consumptionController = consumptionController;
1977
+ this.accountController = this.consumptionController.accountController;
1978
+ this.currentIdentityAddress = this.accountController.identity.address;
1979
+ }
1980
+ }
1981
+ exports.AbstractNotificationItemProcessor = AbstractNotificationItemProcessor;
1982
+ //# sourceMappingURL=AbstractNotificationItemProcessor.js.map
1983
+
1984
+ /***/ }),
1985
+
1986
+ /***/ "./dist/modules/notifications/itemProcessors/NotificationItemConstructor.js":
1987
+ /*!**********************************************************************************!*\
1988
+ !*** ./dist/modules/notifications/itemProcessors/NotificationItemConstructor.js ***!
1989
+ \**********************************************************************************/
1990
+ /***/ ((__unused_webpack_module, exports) => {
1991
+
1992
+ "use strict";
1993
+
1994
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1995
+ //# sourceMappingURL=NotificationItemConstructor.js.map
1996
+
1997
+ /***/ }),
1998
+
1999
+ /***/ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js":
2000
+ /*!*******************************************************************************************!*\
2001
+ !*** ./dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js ***!
2002
+ \*******************************************************************************************/
2003
+ /***/ ((__unused_webpack_module, exports) => {
2004
+
2005
+ "use strict";
2006
+
2007
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2008
+ //# sourceMappingURL=NotificationItemProcessorConstructor.js.map
2009
+
2010
+ /***/ }),
2011
+
2012
+ /***/ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js":
2013
+ /*!****************************************************************************************!*\
2014
+ !*** ./dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js ***!
2015
+ \****************************************************************************************/
2016
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2017
+
2018
+ "use strict";
2019
+
2020
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2021
+ exports.NotificationItemProcessorRegistry = void 0;
2022
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2023
+ class NotificationItemProcessorRegistry {
2024
+ constructor(consumptionController, processors = new Map()) {
2025
+ this.consumptionController = consumptionController;
2026
+ this.processors = processors;
2027
+ }
2028
+ registerProcessor(itemConstructor, processorConstructor) {
2029
+ if (this.processors.has(itemConstructor)) {
2030
+ throw new ConsumptionError_1.ConsumptionError(`There is already a processor registered for '${itemConstructor.name}'. Use 'replaceProcessorForType' if you want to replace it.`);
2031
+ }
2032
+ this.processors.set(itemConstructor, processorConstructor);
2033
+ }
2034
+ registerOrReplaceProcessor(itemConstructor, processorConstructor) {
2035
+ this.processors.set(itemConstructor, processorConstructor);
2036
+ }
2037
+ getProcessorForItem(item) {
2038
+ const constructor = this.processors.get(item.constructor);
2039
+ if (!constructor) {
2040
+ throw new ConsumptionError_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
2041
+ }
2042
+ return new constructor(this.consumptionController);
2043
+ }
2044
+ }
2045
+ exports.NotificationItemProcessorRegistry = NotificationItemProcessorRegistry;
2046
+ //# sourceMappingURL=NotificationItemProcessorRegistry.js.map
2047
+
2048
+ /***/ }),
2049
+
2050
+ /***/ "./dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js":
2051
+ /*!*********************************************************************************************************************!*\
2052
+ !*** ./dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js ***!
2053
+ \*********************************************************************************************************************/
2054
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2055
+
2056
+ "use strict";
2057
+
2058
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2059
+ exports.AttributeSucceededNotificationItemProcessor = void 0;
2060
+ const AbstractNotificationItemProcessor_1 = __webpack_require__(/*! ../AbstractNotificationItemProcessor */ "./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js");
2061
+ class AttributeSucceededNotificationItemProcessor extends AbstractNotificationItemProcessor_1.AbstractNotificationItemProcessor {
2062
+ checkPrerequisitesOfIncomingNotificationItem(_notificationItem) {
2063
+ throw new Error("Method not implemented.");
2064
+ }
2065
+ // eslint-disable-next-line @typescript-eslint/require-await
2066
+ async process(_notificationItem) {
2067
+ throw new Error("Method not implemented.");
2068
+ }
2069
+ rollback() {
2070
+ throw new Error("Method not implemented.");
2071
+ }
2072
+ }
2073
+ exports.AttributeSucceededNotificationItemProcessor = AttributeSucceededNotificationItemProcessor;
2074
+ //# sourceMappingURL=AttributeSucceededNotificationItemProcessor.js.map
2075
+
2076
+ /***/ }),
2077
+
2078
+ /***/ "./dist/modules/notifications/local/LocalNotification.js":
2079
+ /*!***************************************************************!*\
2080
+ !*** ./dist/modules/notifications/local/LocalNotification.js ***!
2081
+ \***************************************************************/
2082
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2083
+
2084
+ "use strict";
2085
+
2086
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2087
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2088
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2089
+ 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;
2090
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2091
+ };
2092
+ var __metadata = (this && this.__metadata) || function (k, v) {
2093
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2094
+ };
2095
+ var LocalNotification_1;
2096
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2097
+ exports.LocalNotification = exports.LocalNotificationStatus = void 0;
2098
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2099
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2100
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2101
+ const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
2102
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2103
+ const LocalNotificationSource_1 = __webpack_require__(/*! ./LocalNotificationSource */ "./dist/modules/notifications/local/LocalNotificationSource.js");
2104
+ var LocalNotificationStatus;
2105
+ (function (LocalNotificationStatus) {
2106
+ LocalNotificationStatus["Open"] = "Open";
2107
+ LocalNotificationStatus["Sent"] = "Sent";
2108
+ LocalNotificationStatus["Completed"] = "Completed";
2109
+ LocalNotificationStatus["Error"] = "Error";
2110
+ })(LocalNotificationStatus || (exports.LocalNotificationStatus = LocalNotificationStatus = {}));
2111
+ let LocalNotification = LocalNotification_1 = class LocalNotification extends transport_1.CoreSynchronizable {
2112
+ constructor() {
2113
+ super(...arguments);
2114
+ this.technicalProperties = [
2115
+ "@type",
2116
+ "@context",
2117
+ (0, ts_simple_nameof_1.nameof)((r) => r.isOwn),
2118
+ (0, ts_simple_nameof_1.nameof)((r) => r.peer),
2119
+ (0, ts_simple_nameof_1.nameof)((r) => r.createdAt),
2120
+ (0, ts_simple_nameof_1.nameof)((r) => r.receivedByDevice),
2121
+ (0, ts_simple_nameof_1.nameof)((r) => r.status),
2122
+ (0, ts_simple_nameof_1.nameof)((r) => r.source)
2123
+ ];
2124
+ this.userdataProperties = [(0, ts_simple_nameof_1.nameof)((r) => r.content)];
2125
+ }
2126
+ static postFrom(value) {
2127
+ if (!(value instanceof LocalNotification_1)) {
2128
+ throw new ConsumptionError_1.ConsumptionError("this should never happen");
2129
+ }
2130
+ if (value.isOwn && typeof value.receivedByDevice !== "undefined") {
2131
+ throw new ts_serval_1.ValidationError(LocalNotification_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.receivedByDevice), `You cannot define ${(0, ts_simple_nameof_1.nameof)((x) => x.receivedByDevice)} for an own message.`);
2132
+ }
2133
+ if (!value.isOwn && typeof value.receivedByDevice === "undefined") {
2134
+ throw new ts_serval_1.ValidationError(LocalNotification_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.receivedByDevice), `You must define ${(0, ts_simple_nameof_1.nameof)((x) => x.receivedByDevice)} for a peer message.`);
2135
+ }
2136
+ return value;
2137
+ }
2138
+ static from(value) {
2139
+ return this.fromAny(value);
2140
+ }
2141
+ };
2142
+ exports.LocalNotification = LocalNotification;
2143
+ __decorate([
2144
+ (0, ts_serval_1.serialize)(),
2145
+ (0, ts_serval_1.validate)(),
2146
+ __metadata("design:type", Boolean)
2147
+ ], LocalNotification.prototype, "isOwn", void 0);
2148
+ __decorate([
2149
+ (0, ts_serval_1.serialize)(),
2150
+ (0, ts_serval_1.validate)(),
2151
+ __metadata("design:type", transport_1.CoreAddress)
2152
+ ], LocalNotification.prototype, "peer", void 0);
2153
+ __decorate([
2154
+ (0, ts_serval_1.serialize)(),
2155
+ (0, ts_serval_1.validate)(),
2156
+ __metadata("design:type", transport_1.CoreDate)
2157
+ ], LocalNotification.prototype, "createdAt", void 0);
2158
+ __decorate([
2159
+ (0, ts_serval_1.serialize)(),
2160
+ (0, ts_serval_1.validate)({ nullable: true }),
2161
+ __metadata("design:type", transport_1.CoreId)
2162
+ ], LocalNotification.prototype, "receivedByDevice", void 0);
2163
+ __decorate([
2164
+ (0, ts_serval_1.serialize)(),
2165
+ (0, ts_serval_1.validate)(),
2166
+ __metadata("design:type", content_1.Notification)
2167
+ ], LocalNotification.prototype, "content", void 0);
2168
+ __decorate([
2169
+ (0, ts_serval_1.serialize)(),
2170
+ (0, ts_serval_1.validate)(),
2171
+ __metadata("design:type", String)
2172
+ ], LocalNotification.prototype, "status", void 0);
2173
+ __decorate([
2174
+ (0, ts_serval_1.serialize)(),
2175
+ (0, ts_serval_1.validate)(),
2176
+ __metadata("design:type", LocalNotificationSource_1.LocalNotificationSource)
2177
+ ], LocalNotification.prototype, "source", void 0);
2178
+ exports.LocalNotification = LocalNotification = LocalNotification_1 = __decorate([
2179
+ (0, ts_serval_1.type)("LocalNotification")
2180
+ ], LocalNotification);
2181
+ //# sourceMappingURL=LocalNotification.js.map
2182
+
2183
+ /***/ }),
2184
+
2185
+ /***/ "./dist/modules/notifications/local/LocalNotificationSource.js":
2186
+ /*!*********************************************************************!*\
2187
+ !*** ./dist/modules/notifications/local/LocalNotificationSource.js ***!
2188
+ \*********************************************************************/
2189
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2190
+
2191
+ "use strict";
2192
+
2193
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2194
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2195
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2196
+ 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;
2197
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2198
+ };
2199
+ var __metadata = (this && this.__metadata) || function (k, v) {
2200
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2201
+ };
2202
+ var LocalNotificationSource_1;
2203
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2204
+ exports.LocalNotificationSource = void 0;
2205
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2206
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2207
+ let LocalNotificationSource = LocalNotificationSource_1 = class LocalNotificationSource extends transport_1.CoreSerializable {
2208
+ static from(value) {
2209
+ return this.fromAny(value);
2210
+ }
2211
+ static message(reference) {
2212
+ return LocalNotificationSource_1.from({
2213
+ type: "Message",
2214
+ reference
2215
+ });
2216
+ }
2217
+ };
2218
+ exports.LocalNotificationSource = LocalNotificationSource;
2219
+ __decorate([
2220
+ (0, ts_serval_1.serialize)(),
2221
+ (0, ts_serval_1.validate)(),
2222
+ __metadata("design:type", String)
2223
+ ], LocalNotificationSource.prototype, "type", void 0);
2224
+ __decorate([
2225
+ (0, ts_serval_1.serialize)(),
2226
+ (0, ts_serval_1.validate)(),
2227
+ __metadata("design:type", transport_1.CoreId)
2228
+ ], LocalNotificationSource.prototype, "reference", void 0);
2229
+ exports.LocalNotificationSource = LocalNotificationSource = LocalNotificationSource_1 = __decorate([
2230
+ (0, ts_serval_1.type)("LocalNotificationSource")
2231
+ ], LocalNotificationSource);
2232
+ //# sourceMappingURL=LocalNotificationSource.js.map
2233
+
2234
+ /***/ }),
2235
+
1801
2236
  /***/ "./dist/modules/requests/events/IncomingRequestReceivedEvent.js":
1802
2237
  /*!**********************************************************************!*\
1803
2238
  !*** ./dist/modules/requests/events/IncomingRequestReceivedEvent.js ***!
@@ -1809,12 +2244,12 @@ __exportStar(__webpack_require__(/*! ./settings */ "./dist/modules/settings/inde
1809
2244
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1810
2245
  exports.IncomingRequestReceivedEvent = void 0;
1811
2246
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1812
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2247
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1813
2248
  class IncomingRequestReceivedEvent extends transport_1.TransportDataEvent {
1814
2249
  constructor(eventTargetAddress, data) {
1815
2250
  super(IncomingRequestReceivedEvent.namespace, eventTargetAddress, data);
1816
2251
  if (data.isOwn)
1817
- throw new consumption_1.ConsumptionError("Cannot create this event for an outgoing Request");
2252
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an outgoing Request");
1818
2253
  }
1819
2254
  }
1820
2255
  exports.IncomingRequestReceivedEvent = IncomingRequestReceivedEvent;
@@ -1834,12 +2269,12 @@ IncomingRequestReceivedEvent.namespace = "consumption.incomingRequestReceived";
1834
2269
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1835
2270
  exports.IncomingRequestStatusChangedEvent = void 0;
1836
2271
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1837
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2272
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1838
2273
  class IncomingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1839
2274
  constructor(eventTargetAddress, data) {
1840
2275
  super(IncomingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1841
2276
  if (data.request.isOwn)
1842
- throw new consumption_1.ConsumptionError("Cannot create this event for an outgoing Request");
2277
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an outgoing Request");
1843
2278
  }
1844
2279
  }
1845
2280
  exports.IncomingRequestStatusChangedEvent = IncomingRequestStatusChangedEvent;
@@ -1859,12 +2294,12 @@ IncomingRequestStatusChangedEvent.namespace = "consumption.incomingRequestStatus
1859
2294
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1860
2295
  exports.OutgoingRequestCreatedAndCompletedEvent = void 0;
1861
2296
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1862
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2297
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1863
2298
  class OutgoingRequestCreatedAndCompletedEvent extends transport_1.TransportDataEvent {
1864
2299
  constructor(eventTargetAddress, data) {
1865
2300
  super(OutgoingRequestCreatedAndCompletedEvent.namespace, eventTargetAddress, data);
1866
2301
  if (!data.isOwn)
1867
- throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
2302
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an incoming Request");
1868
2303
  }
1869
2304
  }
1870
2305
  exports.OutgoingRequestCreatedAndCompletedEvent = OutgoingRequestCreatedAndCompletedEvent;
@@ -1884,12 +2319,12 @@ OutgoingRequestCreatedAndCompletedEvent.namespace = "consumption.outgoingRequest
1884
2319
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1885
2320
  exports.OutgoingRequestCreatedEvent = void 0;
1886
2321
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1887
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2322
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1888
2323
  class OutgoingRequestCreatedEvent extends transport_1.TransportDataEvent {
1889
2324
  constructor(eventTargetAddress, data) {
1890
2325
  super(OutgoingRequestCreatedEvent.namespace, eventTargetAddress, data);
1891
2326
  if (!data.isOwn)
1892
- throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
2327
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an incoming Request");
1893
2328
  }
1894
2329
  }
1895
2330
  exports.OutgoingRequestCreatedEvent = OutgoingRequestCreatedEvent;
@@ -1909,12 +2344,12 @@ OutgoingRequestCreatedEvent.namespace = "consumption.outgoingRequestCreated";
1909
2344
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1910
2345
  exports.OutgoingRequestStatusChangedEvent = void 0;
1911
2346
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1912
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2347
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1913
2348
  class OutgoingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1914
2349
  constructor(eventTargetAddress, data) {
1915
2350
  super(OutgoingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1916
2351
  if (!data.request.isOwn)
1917
- throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
2352
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an incoming Request");
1918
2353
  }
1919
2354
  }
1920
2355
  exports.OutgoingRequestStatusChangedEvent = OutgoingRequestStatusChangedEvent;
@@ -1967,7 +2402,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1967
2402
  exports.DecideRequestParametersValidator = void 0;
1968
2403
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1969
2404
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1970
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2405
+ const CoreErrors_1 = __webpack_require__(/*! ../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
1971
2406
  const ValidationResult_1 = __webpack_require__(/*! ../itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
1972
2407
  const DecideRequestItemGroupParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemGroupParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js");
1973
2408
  const DecideRequestItemParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js");
@@ -1977,7 +2412,7 @@ class DecideRequestParametersValidator {
1977
2412
  throw new Error("The response is invalid because the id of the Request does not match the id of the Response.");
1978
2413
  }
1979
2414
  if (params.items.length !== request.content.items.length) {
1980
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));
2415
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));
1981
2416
  }
1982
2417
  const validationResults = request.content.items.map((requestItem, index) => this.checkItemOrGroup(requestItem, params.items[index], params.accept));
1983
2418
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -1990,29 +2425,29 @@ class DecideRequestParametersValidator {
1990
2425
  }
1991
2426
  checkItem(requestItem, response, isParentAccepted) {
1992
2427
  if ((0, DecideRequestItemGroupParameters_1.isDecideRequestItemGroupParametersJSON)(response)) {
1993
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
2428
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
1994
2429
  }
1995
2430
  if (!isParentAccepted && response.accept) {
1996
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted."));
2431
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted."));
1997
2432
  }
1998
2433
  if (isParentAccepted && requestItem.mustBeAccepted && !response.accept) {
1999
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted."));
2434
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted."));
2000
2435
  }
2001
2436
  return ValidationResult_1.ValidationResult.success();
2002
2437
  }
2003
2438
  checkItemGroup(requestItemGroup, responseItemGroup, isParentAccepted) {
2004
2439
  if ((0, DecideRequestItemParameters_1.isDecideRequestItemParametersJSON)(responseItemGroup)) {
2005
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
2440
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
2006
2441
  }
2007
2442
  if (responseItemGroup.items.length !== requestItemGroup.items.length) {
2008
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));
2443
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));
2009
2444
  }
2010
2445
  const isGroupAccepted = responseItemGroup.items.some((value) => value.accept);
2011
2446
  if (!isParentAccepted && isGroupAccepted) {
2012
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));
2447
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));
2013
2448
  }
2014
2449
  if (isParentAccepted && requestItemGroup.mustBeAccepted && !isGroupAccepted) {
2015
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItemGroup is flagged as 'mustBeAccepted', but it was not accepted. Please accept all 'mustBeAccepted' items in this group."));
2450
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItemGroup is flagged as 'mustBeAccepted', but it was not accepted. Please accept all 'mustBeAccepted' items in this group."));
2016
2451
  }
2017
2452
  const validationResults = requestItemGroup.items.map((requestItem, index) => this.checkItem(requestItem, responseItemGroup.items[index], isGroupAccepted));
2018
2453
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -2036,21 +2471,25 @@ exports.IncomingRequestsController = void 0;
2036
2471
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2037
2472
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2038
2473
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2039
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2474
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
2475
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
2476
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2477
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
2478
+ const CoreErrors_1 = __webpack_require__(/*! ../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
2040
2479
  const events_1 = __webpack_require__(/*! ../events */ "./dist/modules/requests/events/index.js");
2041
2480
  const ValidationResult_1 = __webpack_require__(/*! ../itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
2042
2481
  const LocalRequest_1 = __webpack_require__(/*! ../local/LocalRequest */ "./dist/modules/requests/local/LocalRequest.js");
2043
2482
  const LocalRequestStatus_1 = __webpack_require__(/*! ../local/LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js");
2044
2483
  const LocalResponse_1 = __webpack_require__(/*! ../local/LocalResponse */ "./dist/modules/requests/local/LocalResponse.js");
2484
+ const DecideRequestParametersValidator_1 = __webpack_require__(/*! ./DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js");
2045
2485
  const CheckPrerequisitesOfIncomingRequestParameters_1 = __webpack_require__(/*! ./checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters */ "./dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js");
2046
2486
  const CompleteIncomingRequestParameters_1 = __webpack_require__(/*! ./complete/CompleteIncomingRequestParameters */ "./dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js");
2047
2487
  const InternalDecideRequestParameters_1 = __webpack_require__(/*! ./decide/InternalDecideRequestParameters */ "./dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js");
2048
- const DecideRequestParametersValidator_1 = __webpack_require__(/*! ./DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js");
2049
2488
  const ReceivedIncomingRequestParameters_1 = __webpack_require__(/*! ./received/ReceivedIncomingRequestParameters */ "./dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js");
2050
2489
  const RequireManualDecisionOfIncomingRequestParameters_1 = __webpack_require__(/*! ./requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js");
2051
- class IncomingRequestsController extends consumption_1.ConsumptionBaseController {
2490
+ class IncomingRequestsController extends ConsumptionBaseController_1.ConsumptionBaseController {
2052
2491
  constructor(localRequests, processorRegistry, parent, eventBus, identity) {
2053
- super(consumption_1.ConsumptionControllerName.RequestsController, parent);
2492
+ super(ConsumptionControllerName_1.ConsumptionControllerName.RequestsController, parent);
2054
2493
  this.localRequests = localRequests;
2055
2494
  this.processorRegistry = processorRegistry;
2056
2495
  this.eventBus = eventBus;
@@ -2061,7 +2500,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2061
2500
  const parsedParams = ReceivedIncomingRequestParameters_1.ReceivedIncomingRequestParameters.from(params);
2062
2501
  const infoFromSource = this.extractInfoFromSource(parsedParams.requestSourceObject);
2063
2502
  const request = LocalRequest_1.LocalRequest.from({
2064
- id: parsedParams.receivedRequest.id ?? (await consumption_1.ConsumptionIds.request.generate()),
2503
+ id: parsedParams.receivedRequest.id ?? (await ConsumptionIds_1.ConsumptionIds.request.generate()),
2065
2504
  createdAt: transport_1.CoreDate.utc(),
2066
2505
  status: LocalRequestStatus_1.LocalRequestStatus.Open,
2067
2506
  content: parsedParams.receivedRequest,
@@ -2082,7 +2521,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2082
2521
  }
2083
2522
  extractInfoFromMessage(message) {
2084
2523
  if (message.isOwn)
2085
- throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Message");
2524
+ throw new ConsumptionError_1.ConsumptionError("Cannot create incoming Request from own Message");
2086
2525
  return {
2087
2526
  peer: message.cache.createdBy,
2088
2527
  source: {
@@ -2093,7 +2532,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2093
2532
  }
2094
2533
  extractInfoFromRelationshipTemplate(template) {
2095
2534
  if (template.isOwn)
2096
- throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Relationship Template");
2535
+ throw new ConsumptionError_1.ConsumptionError("Cannot create incoming Request from own Relationship Template");
2097
2536
  return {
2098
2537
  peer: template.cache.createdBy,
2099
2538
  source: {
@@ -2192,22 +2631,22 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2192
2631
  }
2193
2632
  catch (e) {
2194
2633
  if (e instanceof ts_serval_1.ServalError) {
2195
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e));
2634
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e));
2196
2635
  }
2197
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2636
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2198
2637
  }
2199
2638
  }
2200
2639
  async accept(params) {
2201
2640
  const canAccept = await this.canAccept(params);
2202
2641
  if (!canAccept.isSuccess()) {
2203
- throw new consumption_1.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
2642
+ throw new ConsumptionError_1.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
2204
2643
  }
2205
2644
  return await this.decide({ ...params, accept: true });
2206
2645
  }
2207
2646
  async reject(params) {
2208
2647
  const canReject = await this.canReject(params);
2209
2648
  if (!canReject.isSuccess()) {
2210
- throw new consumption_1.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
2649
+ throw new ConsumptionError_1.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
2211
2650
  }
2212
2651
  return await this.decide({ ...params, accept: false });
2213
2652
  }
@@ -2272,14 +2711,14 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2272
2711
  if (e instanceof Error) {
2273
2712
  details = ` Details: ${e.message}`;
2274
2713
  }
2275
- throw new consumption_1.ConsumptionError(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
2714
+ throw new ConsumptionError_1.ConsumptionError(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
2276
2715
  }
2277
2716
  }
2278
2717
  async complete(params) {
2279
2718
  const parsedParams = CompleteIncomingRequestParameters_1.CompleteIncomingRequestParameters.from(params);
2280
2719
  const request = await this.getOrThrow(parsedParams.requestId);
2281
2720
  if (request.isOwn) {
2282
- throw new consumption_1.ConsumptionError("Cannot decide own Request");
2721
+ throw new ConsumptionError_1.ConsumptionError("Cannot decide own Request");
2283
2722
  }
2284
2723
  this.assertRequestStatus(request, LocalRequestStatus_1.LocalRequestStatus.Decided);
2285
2724
  const requestIsRejected = request.response.content.result === content_1.ResponseResult.Rejected;
@@ -2291,7 +2730,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2291
2730
  });
2292
2731
  }
2293
2732
  else if (!requestIsRejected || !requestIsFromTemplate) {
2294
- throw new consumption_1.ConsumptionError("A Request can only be completed without a responseSource if the Request is rejected and the Request is from a Relationship Template");
2733
+ throw new ConsumptionError_1.ConsumptionError("A Request can only be completed without a responseSource if the Request is rejected and the Request is from a Relationship Template");
2295
2734
  }
2296
2735
  request.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Completed);
2297
2736
  await this.update(request);
@@ -2333,7 +2772,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2333
2772
  }
2334
2773
  assertRequestStatus(request, ...status) {
2335
2774
  if (!status.includes(request.status)) {
2336
- throw new consumption_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
2775
+ throw new ConsumptionError_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
2337
2776
  }
2338
2777
  }
2339
2778
  async updateRequestExpiry(request) {
@@ -2374,15 +2813,15 @@ let CheckPrerequisitesOfIncomingRequestParameters = class CheckPrerequisitesOfIn
2374
2813
  return this.fromAny(value);
2375
2814
  }
2376
2815
  };
2816
+ exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters;
2377
2817
  __decorate([
2378
2818
  (0, ts_serval_1.serialize)(),
2379
2819
  (0, ts_serval_1.validate)(),
2380
2820
  __metadata("design:type", transport_1.CoreId)
2381
2821
  ], CheckPrerequisitesOfIncomingRequestParameters.prototype, "requestId", void 0);
2382
- CheckPrerequisitesOfIncomingRequestParameters = __decorate([
2822
+ exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters = __decorate([
2383
2823
  (0, ts_serval_1.type)("CheckPrerequisitesOfIncomingRequestParameters")
2384
2824
  ], CheckPrerequisitesOfIncomingRequestParameters);
2385
- exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters;
2386
2825
  //# sourceMappingURL=CheckPrerequisitesOfIncomingRequestParameters.js.map
2387
2826
 
2388
2827
  /***/ }),
@@ -2413,6 +2852,7 @@ class CompleteIncomingRequestParameters extends ts_serval_1.Serializable {
2413
2852
  return this.fromAny(value);
2414
2853
  }
2415
2854
  }
2855
+ exports.CompleteIncomingRequestParameters = CompleteIncomingRequestParameters;
2416
2856
  __decorate([
2417
2857
  (0, ts_serval_1.serialize)(),
2418
2858
  (0, ts_serval_1.validate)(),
@@ -2423,7 +2863,6 @@ __decorate([
2423
2863
  (0, ts_serval_1.validate)({ nullable: true }),
2424
2864
  __metadata("design:type", Object)
2425
2865
  ], CompleteIncomingRequestParameters.prototype, "responseSourceObject", void 0);
2426
- exports.CompleteIncomingRequestParameters = CompleteIncomingRequestParameters;
2427
2866
  //# sourceMappingURL=CompleteIncomingRequestParameters.js.map
2428
2867
 
2429
2868
  /***/ }),
@@ -2516,6 +2955,7 @@ let InternalDecideRequestParameters = class InternalDecideRequestParameters exte
2516
2955
  return this.fromAny(value);
2517
2956
  }
2518
2957
  };
2958
+ exports.InternalDecideRequestParameters = InternalDecideRequestParameters;
2519
2959
  __decorate([
2520
2960
  (0, ts_serval_1.serialize)(),
2521
2961
  (0, ts_serval_1.validate)(),
@@ -2531,10 +2971,9 @@ __decorate([
2531
2971
  (0, ts_serval_1.validate)(),
2532
2972
  __metadata("design:type", Boolean)
2533
2973
  ], InternalDecideRequestParameters.prototype, "accept", void 0);
2534
- InternalDecideRequestParameters = __decorate([
2974
+ exports.InternalDecideRequestParameters = InternalDecideRequestParameters = __decorate([
2535
2975
  (0, ts_serval_1.type)("InternalDecideRequestParameters")
2536
2976
  ], InternalDecideRequestParameters);
2537
- exports.InternalDecideRequestParameters = InternalDecideRequestParameters;
2538
2977
  //# sourceMappingURL=InternalDecideRequestParameters.js.map
2539
2978
 
2540
2979
  /***/ }),
@@ -2579,6 +3018,7 @@ let ReceivedIncomingRequestParameters = class ReceivedIncomingRequestParameters
2579
3018
  return this.fromAny(value);
2580
3019
  }
2581
3020
  };
3021
+ exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters;
2582
3022
  __decorate([
2583
3023
  (0, ts_serval_1.serialize)(),
2584
3024
  (0, ts_serval_1.validate)(),
@@ -2589,10 +3029,9 @@ __decorate([
2589
3029
  (0, ts_serval_1.validate)(),
2590
3030
  __metadata("design:type", Object)
2591
3031
  ], ReceivedIncomingRequestParameters.prototype, "requestSourceObject", void 0);
2592
- ReceivedIncomingRequestParameters = __decorate([
3032
+ exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters = __decorate([
2593
3033
  (0, ts_serval_1.type)("ReceivedIncomingRequestParameters")
2594
3034
  ], ReceivedIncomingRequestParameters);
2595
- exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters;
2596
3035
  //# sourceMappingURL=ReceivedIncomingRequestParameters.js.map
2597
3036
 
2598
3037
  /***/ }),
@@ -2623,12 +3062,12 @@ class RequireManualDecisionOfIncomingRequestParameters extends ts_serval_1.Seria
2623
3062
  return this.fromAny(value);
2624
3063
  }
2625
3064
  }
3065
+ exports.RequireManualDecisionOfIncomingRequestParameters = RequireManualDecisionOfIncomingRequestParameters;
2626
3066
  __decorate([
2627
3067
  (0, ts_serval_1.serialize)(),
2628
3068
  (0, ts_serval_1.validate)(),
2629
3069
  __metadata("design:type", transport_1.CoreId)
2630
3070
  ], RequireManualDecisionOfIncomingRequestParameters.prototype, "requestId", void 0);
2631
- exports.RequireManualDecisionOfIncomingRequestParameters = RequireManualDecisionOfIncomingRequestParameters;
2632
3071
  //# sourceMappingURL=RequireManualDecisionOfIncomingRequestParameters.js.map
2633
3072
 
2634
3073
  /***/ }),
@@ -2657,6 +3096,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
2657
3096
  };
2658
3097
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2659
3098
  __exportStar(__webpack_require__(/*! ./events */ "./dist/modules/requests/events/index.js"), exports);
3099
+ __exportStar(__webpack_require__(/*! ./incoming/DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js"), exports);
3100
+ __exportStar(__webpack_require__(/*! ./incoming/IncomingRequestsController */ "./dist/modules/requests/incoming/IncomingRequestsController.js"), exports);
2660
3101
  __exportStar(__webpack_require__(/*! ./incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters */ "./dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js"), exports);
2661
3102
  __exportStar(__webpack_require__(/*! ./incoming/complete/CompleteIncomingRequestParameters */ "./dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js"), exports);
2662
3103
  __exportStar(__webpack_require__(/*! ./incoming/decide/AcceptRequestItemParameters */ "./dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js"), exports);
@@ -2664,34 +3105,32 @@ __exportStar(__webpack_require__(/*! ./incoming/decide/DecideRequestItemGroupPar
2664
3105
  __exportStar(__webpack_require__(/*! ./incoming/decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js"), exports);
2665
3106
  __exportStar(__webpack_require__(/*! ./incoming/decide/DecideRequestParameters */ "./dist/modules/requests/incoming/decide/DecideRequestParameters.js"), exports);
2666
3107
  __exportStar(__webpack_require__(/*! ./incoming/decide/RejectRequestItemParameters */ "./dist/modules/requests/incoming/decide/RejectRequestItemParameters.js"), exports);
2667
- __exportStar(__webpack_require__(/*! ./incoming/DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js"), exports);
2668
- __exportStar(__webpack_require__(/*! ./incoming/IncomingRequestsController */ "./dist/modules/requests/incoming/IncomingRequestsController.js"), exports);
2669
3108
  __exportStar(__webpack_require__(/*! ./incoming/received/ReceivedIncomingRequestParameters */ "./dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js"), exports);
2670
3109
  __exportStar(__webpack_require__(/*! ./incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js"), exports);
2671
3110
  __exportStar(__webpack_require__(/*! ./itemProcessors/AbstractRequestItemProcessor */ "./dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js"), exports);
3111
+ __exportStar(__webpack_require__(/*! ./itemProcessors/GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js"), exports);
3112
+ __exportStar(__webpack_require__(/*! ./itemProcessors/IRequestItemProcessor */ "./dist/modules/requests/itemProcessors/IRequestItemProcessor.js"), exports);
3113
+ __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemConstructor */ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js"), exports);
3114
+ __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemProcessorConstructor */ "./dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js"), exports);
3115
+ __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemProcessorRegistry */ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js"), exports);
3116
+ __exportStar(__webpack_require__(/*! ./itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js"), exports);
2672
3117
  __exportStar(__webpack_require__(/*! ./itemProcessors/createAttribute/CreateAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js"), exports);
2673
3118
  __exportStar(__webpack_require__(/*! ./itemProcessors/freeText/AcceptFreeTextRequestItemParameters */ "./dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js"), exports);
2674
3119
  __exportStar(__webpack_require__(/*! ./itemProcessors/freeText/FreeTextRequestItemProcessor */ "./dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js"), exports);
2675
- __exportStar(__webpack_require__(/*! ./itemProcessors/GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js"), exports);
2676
- __exportStar(__webpack_require__(/*! ./itemProcessors/IRequestItemProcessor */ "./dist/modules/requests/itemProcessors/IRequestItemProcessor.js"), exports);
2677
- __exportStar(__webpack_require__(/*! ./itemProcessors/ProcessorConstructor */ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js"), exports);
2678
3120
  __exportStar(__webpack_require__(/*! ./itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js"), exports);
2679
3121
  __exportStar(__webpack_require__(/*! ./itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js"), exports);
2680
3122
  __exportStar(__webpack_require__(/*! ./itemProcessors/readAttribute/ReadAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js"), exports);
2681
3123
  __exportStar(__webpack_require__(/*! ./itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor */ "./dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js"), exports);
2682
- __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemConstructor */ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js"), exports);
2683
- __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemProcessorRegistry */ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js"), exports);
2684
3124
  __exportStar(__webpack_require__(/*! ./itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js"), exports);
2685
- __exportStar(__webpack_require__(/*! ./itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js"), exports);
2686
3125
  __exportStar(__webpack_require__(/*! ./local/LocalRequest */ "./dist/modules/requests/local/LocalRequest.js"), exports);
2687
3126
  __exportStar(__webpack_require__(/*! ./local/LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js"), exports);
2688
3127
  __exportStar(__webpack_require__(/*! ./local/LocalRequestStatusLogEntry */ "./dist/modules/requests/local/LocalRequestStatusLogEntry.js"), exports);
2689
3128
  __exportStar(__webpack_require__(/*! ./local/LocalResponse */ "./dist/modules/requests/local/LocalResponse.js"), exports);
3129
+ __exportStar(__webpack_require__(/*! ./outgoing/OutgoingRequestsController */ "./dist/modules/requests/outgoing/OutgoingRequestsController.js"), exports);
2690
3130
  __exportStar(__webpack_require__(/*! ./outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters */ "./dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js"), exports);
2691
3131
  __exportStar(__webpack_require__(/*! ./outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters */ "./dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js"), exports);
2692
3132
  __exportStar(__webpack_require__(/*! ./outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js"), exports);
2693
3133
  __exportStar(__webpack_require__(/*! ./outgoing/createOutgoingRequest/CreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js"), exports);
2694
- __exportStar(__webpack_require__(/*! ./outgoing/OutgoingRequestsController */ "./dist/modules/requests/outgoing/OutgoingRequestsController.js"), exports);
2695
3134
  __exportStar(__webpack_require__(/*! ./outgoing/sentOutgoingRequest/SentOutgoingRequestParameters */ "./dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js"), exports);
2696
3135
  //# sourceMappingURL=index.js.map
2697
3136
 
@@ -2777,29 +3216,29 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2777
3216
 
2778
3217
  /***/ }),
2779
3218
 
2780
- /***/ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js":
2781
- /*!**********************************************************************!*\
2782
- !*** ./dist/modules/requests/itemProcessors/ProcessorConstructor.js ***!
2783
- \**********************************************************************/
3219
+ /***/ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js":
3220
+ /*!************************************************************************!*\
3221
+ !*** ./dist/modules/requests/itemProcessors/RequestItemConstructor.js ***!
3222
+ \************************************************************************/
2784
3223
  /***/ ((__unused_webpack_module, exports) => {
2785
3224
 
2786
3225
  "use strict";
2787
3226
 
2788
3227
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2789
- //# sourceMappingURL=ProcessorConstructor.js.map
3228
+ //# sourceMappingURL=RequestItemConstructor.js.map
2790
3229
 
2791
3230
  /***/ }),
2792
3231
 
2793
- /***/ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js":
2794
- /*!************************************************************************!*\
2795
- !*** ./dist/modules/requests/itemProcessors/RequestItemConstructor.js ***!
2796
- \************************************************************************/
3232
+ /***/ "./dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js":
3233
+ /*!*********************************************************************************!*\
3234
+ !*** ./dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js ***!
3235
+ \*********************************************************************************/
2797
3236
  /***/ ((__unused_webpack_module, exports) => {
2798
3237
 
2799
3238
  "use strict";
2800
3239
 
2801
3240
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2802
- //# sourceMappingURL=RequestItemConstructor.js.map
3241
+ //# sourceMappingURL=RequestItemProcessorConstructor.js.map
2803
3242
 
2804
3243
  /***/ }),
2805
3244
 
@@ -2813,7 +3252,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2813
3252
 
2814
3253
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2815
3254
  exports.RequestItemProcessorRegistry = void 0;
2816
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
3255
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2817
3256
  class RequestItemProcessorRegistry {
2818
3257
  constructor(consumptionController, processors = new Map()) {
2819
3258
  this.consumptionController = consumptionController;
@@ -2821,7 +3260,7 @@ class RequestItemProcessorRegistry {
2821
3260
  }
2822
3261
  registerProcessor(itemConstructor, processorConstructor) {
2823
3262
  if (this.processors.has(itemConstructor)) {
2824
- throw new consumption_1.ConsumptionError(`There is already a processor registered for '${itemConstructor.name}''. Use 'replaceProcessorForType' if you want to replace it.`);
3263
+ throw new ConsumptionError_1.ConsumptionError(`There is already a processor registered for '${itemConstructor.name}'. Use 'replaceProcessorForType' if you want to replace it.`);
2825
3264
  }
2826
3265
  this.processors.set(itemConstructor, processorConstructor);
2827
3266
  }
@@ -2831,7 +3270,7 @@ class RequestItemProcessorRegistry {
2831
3270
  getProcessorForItem(item) {
2832
3271
  const constructor = this.processors.get(item.constructor);
2833
3272
  if (!constructor) {
2834
- throw new consumption_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
3273
+ throw new ConsumptionError_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
2835
3274
  }
2836
3275
  return new constructor(this.consumptionController);
2837
3276
  }
@@ -2903,7 +3342,7 @@ exports.ErrorValidationResult = ErrorValidationResult;
2903
3342
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2904
3343
  exports.CreateAttributeRequestItemProcessor = void 0;
2905
3344
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2906
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3345
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
2907
3346
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
2908
3347
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
2909
3348
  class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
@@ -2913,17 +3352,17 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
2913
3352
  const ownerIsEmptyString = requestItem.attribute.owner.toString() === "";
2914
3353
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
2915
3354
  if (senderIsAttributeOwner) {
2916
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
3355
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
2917
3356
  }
2918
3357
  if (recipientIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2919
3358
  return ValidationResult_1.ValidationResult.success();
2920
3359
  }
2921
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be the recipient's address or an empty string. The latter will default to the recipient's address."));
3360
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be the recipient's address or an empty string. The latter will default to the recipient's address."));
2922
3361
  }
2923
3362
  if (recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2924
3363
  return ValidationResult_1.ValidationResult.success();
2925
3364
  }
2926
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The owner of the given 'attribute' can only be the sender's address, the recipient's address or an empty string. The latter will default to the recipient's address."));
3365
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given 'attribute' can only be the sender's address, the recipient's address or an empty string. The latter will default to the recipient's address."));
2927
3366
  }
2928
3367
  async accept(requestItem, _params, requestInfo) {
2929
3368
  if (requestItem.attribute.owner.toString() === "") {
@@ -2997,15 +3436,15 @@ let AcceptFreeTextRequestItemParameters = class AcceptFreeTextRequestItemParamet
2997
3436
  return this.fromAny(value);
2998
3437
  }
2999
3438
  };
3439
+ exports.AcceptFreeTextRequestItemParameters = AcceptFreeTextRequestItemParameters;
3000
3440
  __decorate([
3001
3441
  (0, ts_serval_1.serialize)(),
3002
3442
  (0, ts_serval_1.validate)(),
3003
3443
  __metadata("design:type", String)
3004
3444
  ], AcceptFreeTextRequestItemParameters.prototype, "freeText", void 0);
3005
- AcceptFreeTextRequestItemParameters = __decorate([
3445
+ exports.AcceptFreeTextRequestItemParameters = AcceptFreeTextRequestItemParameters = __decorate([
3006
3446
  (0, ts_serval_1.type)("FreeTextRequestItemParameters")
3007
3447
  ], AcceptFreeTextRequestItemParameters);
3008
- exports.AcceptFreeTextRequestItemParameters = AcceptFreeTextRequestItemParameters;
3009
3448
  //# sourceMappingURL=AcceptFreeTextRequestItemParameters.js.map
3010
3449
 
3011
3450
  /***/ }),
@@ -3024,7 +3463,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3024
3463
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3025
3464
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3026
3465
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3027
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3466
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3028
3467
  const AcceptFreeTextRequestItemParameters_1 = __webpack_require__(/*! ./AcceptFreeTextRequestItemParameters */ "./dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js");
3029
3468
  class FreeTextRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3030
3469
  canAccept(_requestItem, params) {
@@ -3034,7 +3473,7 @@ class FreeTextRequestItemProcessor extends GenericRequestItemProcessor_1.Generic
3034
3473
  catch (error) {
3035
3474
  if (!(error instanceof ts_serval_1.ParsingError))
3036
3475
  throw error;
3037
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidAcceptParameters());
3476
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters());
3038
3477
  }
3039
3478
  return ValidationResult_1.ValidationResult.success();
3040
3479
  }
@@ -3075,7 +3514,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3075
3514
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3076
3515
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3077
3516
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
3078
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3517
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
3079
3518
  let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = class AcceptProposeAttributeRequestItemParameters extends ts_serval_1.Serializable {
3080
3519
  isWithExistingAttribute() {
3081
3520
  return this.attributeId !== undefined;
@@ -3088,7 +3527,7 @@ let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestI
3088
3527
  }
3089
3528
  static postFrom(value) {
3090
3529
  if (!(value instanceof AcceptProposeAttributeRequestItemParameters_1)) {
3091
- throw new consumption_1.ConsumptionError("this should never happen");
3530
+ throw new ConsumptionError_1.ConsumptionError("this should never happen");
3092
3531
  }
3093
3532
  if (value.attributeId && value.attribute) {
3094
3533
  throw new ts_serval_1.ValidationError(AcceptProposeAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.attribute), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
@@ -3099,6 +3538,7 @@ let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestI
3099
3538
  return value;
3100
3539
  }
3101
3540
  };
3541
+ exports.AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters;
3102
3542
  __decorate([
3103
3543
  (0, ts_serval_1.serialize)(),
3104
3544
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -3109,10 +3549,9 @@ __decorate([
3109
3549
  (0, ts_serval_1.validate)({ nullable: true }),
3110
3550
  __metadata("design:type", Object)
3111
3551
  ], AcceptProposeAttributeRequestItemParameters.prototype, "attribute", void 0);
3112
- AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = __decorate([
3552
+ exports.AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = __decorate([
3113
3553
  (0, ts_serval_1.type)("AcceptProposeAttributeRequestItemParameters")
3114
3554
  ], AcceptProposeAttributeRequestItemParameters);
3115
- exports.AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters;
3116
3555
  //# sourceMappingURL=AcceptProposeAttributeRequestItemParameters.js.map
3117
3556
 
3118
3557
  /***/ }),
@@ -3132,11 +3571,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3132
3571
  exports.ProposeAttributeRequestItemProcessor = void 0;
3133
3572
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3134
3573
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3135
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3574
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3136
3575
  const LocalAttribute_1 = __webpack_require__(/*! ../../../attributes/local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js");
3137
3576
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3138
- const validateQuery_1 = __importDefault(__webpack_require__(/*! ../utility/validateQuery */ "./dist/modules/requests/itemProcessors/utility/validateQuery.js"));
3139
3577
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3578
+ const validateQuery_1 = __importDefault(__webpack_require__(/*! ../utility/validateQuery */ "./dist/modules/requests/itemProcessors/utility/validateQuery.js"));
3140
3579
  const AcceptProposeAttributeRequestItemParameters_1 = __webpack_require__(/*! ./AcceptProposeAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js");
3141
3580
  class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3142
3581
  canCreateOutgoingRequestItem(requestItem, _request, recipient) {
@@ -3152,7 +3591,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3152
3591
  }
3153
3592
  validateAttribute(attribute) {
3154
3593
  if (attribute.owner.toString() !== "") {
3155
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
3594
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
3156
3595
  }
3157
3596
  return ValidationResult_1.ValidationResult.success();
3158
3597
  }
@@ -3162,7 +3601,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3162
3601
  return commonQueryValidationResult;
3163
3602
  }
3164
3603
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
3165
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
3604
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
3166
3605
  }
3167
3606
  return ValidationResult_1.ValidationResult.success();
3168
3607
  }
@@ -3179,7 +3618,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3179
3618
  const ownerIsEmpty = attribute.owner.equals("");
3180
3619
  const ownerIsCurrentIdentity = attribute.owner.equals(this.currentIdentityAddress);
3181
3620
  if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
3182
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3621
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3183
3622
  }
3184
3623
  return ValidationResult_1.ValidationResult.success();
3185
3624
  }
@@ -3263,7 +3702,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3263
3702
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3264
3703
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3265
3704
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
3266
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3705
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
3267
3706
  let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
3268
3707
  isWithExistingAttribute() {
3269
3708
  return this.existingAttributeId !== undefined;
@@ -3276,7 +3715,7 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
3276
3715
  }
3277
3716
  static postFrom(value) {
3278
3717
  if (!(value instanceof AcceptReadAttributeRequestItemParameters_1)) {
3279
- throw new consumption_1.ConsumptionError("this should never happen");
3718
+ throw new ConsumptionError_1.ConsumptionError("this should never happen");
3280
3719
  }
3281
3720
  if (value.existingAttributeId && value.newAttribute) {
3282
3721
  throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.newAttribute), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.newAttribute)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.existingAttributeId)}.`);
@@ -3287,6 +3726,7 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
3287
3726
  return value;
3288
3727
  }
3289
3728
  };
3729
+ exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters;
3290
3730
  __decorate([
3291
3731
  (0, ts_serval_1.serialize)(),
3292
3732
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -3297,10 +3737,9 @@ __decorate([
3297
3737
  (0, ts_serval_1.validate)({ nullable: true }),
3298
3738
  __metadata("design:type", Object)
3299
3739
  ], AcceptReadAttributeRequestItemParameters.prototype, "newAttribute", void 0);
3300
- AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
3740
+ exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
3301
3741
  (0, ts_serval_1.type)("AcceptReadAttributeRequestItemParameters")
3302
3742
  ], AcceptReadAttributeRequestItemParameters);
3303
- exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters;
3304
3743
  //# sourceMappingURL=AcceptReadAttributeRequestItemParameters.js.map
3305
3744
 
3306
3745
  /***/ }),
@@ -3320,11 +3759,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3320
3759
  exports.ReadAttributeRequestItemProcessor = void 0;
3321
3760
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3322
3761
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3323
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3762
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3324
3763
  const LocalAttribute_1 = __webpack_require__(/*! ../../../attributes/local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js");
3325
3764
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3326
- const validateQuery_1 = __importDefault(__webpack_require__(/*! ../utility/validateQuery */ "./dist/modules/requests/itemProcessors/utility/validateQuery.js"));
3327
3765
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3766
+ const validateQuery_1 = __importDefault(__webpack_require__(/*! ../utility/validateQuery */ "./dist/modules/requests/itemProcessors/utility/validateQuery.js"));
3328
3767
  const AcceptReadAttributeRequestItemParameters_1 = __webpack_require__(/*! ./AcceptReadAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js");
3329
3768
  class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3330
3769
  canCreateOutgoingRequestItem(requestItem, _request, recipient) {
@@ -3343,7 +3782,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
3343
3782
  }
3344
3783
  const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
3345
3784
  if (!ownerIsCurrentIdentity && foundAttribute.content instanceof content_1.IdentityAttribute) {
3346
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3785
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3347
3786
  }
3348
3787
  }
3349
3788
  return ValidationResult_1.ValidationResult.success();
@@ -3448,21 +3887,21 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3448
3887
  exports.ShareAttributeRequestItemProcessor = void 0;
3449
3888
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3450
3889
  const lodash_1 = __importDefault(__webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"));
3451
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3890
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3452
3891
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3453
3892
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3454
3893
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3455
3894
  async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
3456
3895
  const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.sourceAttributeId);
3457
3896
  if (!attribute) {
3458
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' could not be found.`));
3897
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' could not be found.`));
3459
3898
  }
3460
3899
  const requestItemAttributeJSON = requestItem.attribute.toJSON();
3461
3900
  if (requestItemAttributeJSON.owner === "") {
3462
3901
  requestItemAttributeJSON.owner = this.currentIdentityAddress.toString();
3463
3902
  }
3464
3903
  if (!lodash_1.default.isEqual(attribute.content.toJSON(), requestItemAttributeJSON)) {
3465
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' does not match the given attribute.`));
3904
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' does not match the given attribute.`));
3466
3905
  }
3467
3906
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
3468
3907
  return this.canCreateWithIdentityAttribute(requestItem);
@@ -3473,16 +3912,16 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
3473
3912
  const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
3474
3913
  const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
3475
3914
  if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
3476
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only send Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
3915
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only send Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
3477
3916
  }
3478
3917
  return ValidationResult_1.ValidationResult.success();
3479
3918
  }
3480
3919
  canCreateWithRelationshipAttribute(attribute, recipient) {
3481
3920
  if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
3482
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it."));
3921
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it."));
3483
3922
  }
3484
3923
  if (attribute.owner.equals(recipient)) {
3485
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
3924
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
3486
3925
  }
3487
3926
  return ValidationResult_1.ValidationResult.success();
3488
3927
  }
@@ -3528,7 +3967,7 @@ exports.ShareAttributeRequestItemProcessor = ShareAttributeRequestItemProcessor;
3528
3967
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3529
3968
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3530
3969
  const iql_1 = __webpack_require__(/*! @nmshd/iql */ "./node_modules/@nmshd/iql/dist/src/index.js");
3531
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3970
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3532
3971
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3533
3972
  function validateQuery(query, sender, recipient) {
3534
3973
  if (query instanceof content_1.ThirdPartyRelationshipAttributeQuery) {
@@ -3538,13 +3977,13 @@ function validateQuery(query, sender, recipient) {
3538
3977
  return result;
3539
3978
  }
3540
3979
  if (query.owner.equals(sender)) {
3541
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
3980
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
3542
3981
  }
3543
3982
  }
3544
3983
  else if (query instanceof content_1.IQLQuery) {
3545
3984
  const validationResult = (0, iql_1.validate)(query.queryString);
3546
3985
  if (!validationResult.isValid) {
3547
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem(`IQL query syntax error at character ${validationResult.error.location.start.column}`));
3986
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`IQL query syntax error at character ${validationResult.error.location.start.column}`));
3548
3987
  }
3549
3988
  }
3550
3989
  return ValidationResult_1.ValidationResult.success();
@@ -3552,10 +3991,10 @@ function validateQuery(query, sender, recipient) {
3552
3991
  exports["default"] = validateQuery;
3553
3992
  function validateThirdParty(thirdParty, sender, recipient) {
3554
3993
  if (thirdParty.equals(sender)) {
3555
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
3994
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
3556
3995
  }
3557
3996
  if (thirdParty.equals(recipient)) {
3558
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
3997
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
3559
3998
  }
3560
3999
  return ValidationResult_1.ValidationResult.success();
3561
4000
  }
@@ -3586,7 +4025,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3586
4025
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3587
4026
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3588
4027
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
3589
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
4028
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
3590
4029
  const LocalRequestStatus_1 = __webpack_require__(/*! ./LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js");
3591
4030
  const LocalRequestStatusLogEntry_1 = __webpack_require__(/*! ./LocalRequestStatusLogEntry */ "./dist/modules/requests/local/LocalRequestStatusLogEntry.js");
3592
4031
  const LocalResponse_1 = __webpack_require__(/*! ./LocalResponse */ "./dist/modules/requests/local/LocalResponse.js");
@@ -3595,6 +4034,7 @@ let LocalRequestSource = class LocalRequestSource extends transport_1.CoreSerial
3595
4034
  return this.fromAny(value);
3596
4035
  }
3597
4036
  };
4037
+ exports.LocalRequestSource = LocalRequestSource;
3598
4038
  __decorate([
3599
4039
  (0, ts_serval_1.serialize)(),
3600
4040
  (0, ts_serval_1.validate)(),
@@ -3605,10 +4045,9 @@ __decorate([
3605
4045
  (0, ts_serval_1.validate)(),
3606
4046
  __metadata("design:type", transport_1.CoreId)
3607
4047
  ], LocalRequestSource.prototype, "reference", void 0);
3608
- LocalRequestSource = __decorate([
4048
+ exports.LocalRequestSource = LocalRequestSource = __decorate([
3609
4049
  (0, ts_serval_1.type)("LocalRequestSource")
3610
4050
  ], LocalRequestSource);
3611
- exports.LocalRequestSource = LocalRequestSource;
3612
4051
  let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3613
4052
  constructor() {
3614
4053
  super(...arguments);
@@ -3629,7 +4068,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3629
4068
  }
3630
4069
  changeStatus(newStatus) {
3631
4070
  if (this.status === newStatus)
3632
- throw new consumption_1.ConsumptionError("cannot change status to the same status");
4071
+ throw new ConsumptionError_1.ConsumptionError("cannot change status to the same status");
3633
4072
  const logEntry = LocalRequestStatusLogEntry_1.LocalRequestStatusLogEntry.from({
3634
4073
  createdAt: transport_1.CoreDate.utc(),
3635
4074
  oldStatus: this.status,
@@ -3640,7 +4079,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3640
4079
  }
3641
4080
  sent(source) {
3642
4081
  if (this.status !== LocalRequestStatus_1.LocalRequestStatus.Draft) {
3643
- throw new consumption_1.ConsumptionError("Local Request has to be in status 'Draft'.");
4082
+ throw new ConsumptionError_1.ConsumptionError("Local Request has to be in status 'Draft'.");
3644
4083
  }
3645
4084
  this.source = source;
3646
4085
  this.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Open);
@@ -3663,6 +4102,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3663
4102
  return false;
3664
4103
  }
3665
4104
  };
4105
+ exports.LocalRequest = LocalRequest;
3666
4106
  __decorate([
3667
4107
  (0, ts_serval_1.serialize)(),
3668
4108
  (0, ts_serval_1.validate)(),
@@ -3703,10 +4143,9 @@ __decorate([
3703
4143
  (0, ts_serval_1.validate)(),
3704
4144
  __metadata("design:type", Array)
3705
4145
  ], LocalRequest.prototype, "statusLog", void 0);
3706
- LocalRequest = __decorate([
4146
+ exports.LocalRequest = LocalRequest = __decorate([
3707
4147
  (0, ts_serval_1.type)("LocalRequest")
3708
4148
  ], LocalRequest);
3709
- exports.LocalRequest = LocalRequest;
3710
4149
  //# sourceMappingURL=LocalRequest.js.map
3711
4150
 
3712
4151
  /***/ }),
@@ -3730,7 +4169,7 @@ var LocalRequestStatus;
3730
4169
  LocalRequestStatus["Decided"] = "Decided";
3731
4170
  LocalRequestStatus["Completed"] = "Completed";
3732
4171
  LocalRequestStatus["Expired"] = "Expired";
3733
- })(LocalRequestStatus = exports.LocalRequestStatus || (exports.LocalRequestStatus = {}));
4172
+ })(LocalRequestStatus || (exports.LocalRequestStatus = LocalRequestStatus = {}));
3734
4173
  //# sourceMappingURL=LocalRequestStatus.js.map
3735
4174
 
3736
4175
  /***/ }),
@@ -3762,6 +4201,7 @@ let LocalRequestStatusLogEntry = class LocalRequestStatusLogEntry extends transp
3762
4201
  return this.fromAny(value);
3763
4202
  }
3764
4203
  };
4204
+ exports.LocalRequestStatusLogEntry = LocalRequestStatusLogEntry;
3765
4205
  __decorate([
3766
4206
  (0, ts_serval_1.serialize)(),
3767
4207
  (0, ts_serval_1.validate)(),
@@ -3787,10 +4227,9 @@ __decorate([
3787
4227
  (0, ts_serval_1.validate)({ nullable: true }),
3788
4228
  __metadata("design:type", String)
3789
4229
  ], LocalRequestStatusLogEntry.prototype, "code", void 0);
3790
- LocalRequestStatusLogEntry = __decorate([
4230
+ exports.LocalRequestStatusLogEntry = LocalRequestStatusLogEntry = __decorate([
3791
4231
  (0, ts_serval_1.type)("LocalRequestStatusLogEntry")
3792
4232
  ], LocalRequestStatusLogEntry);
3793
- exports.LocalRequestStatusLogEntry = LocalRequestStatusLogEntry;
3794
4233
  //# sourceMappingURL=LocalRequestStatusLogEntry.js.map
3795
4234
 
3796
4235
  /***/ }),
@@ -3822,6 +4261,7 @@ let LocalResponseSource = class LocalResponseSource extends transport_1.CoreSeri
3822
4261
  return this.fromAny(value);
3823
4262
  }
3824
4263
  };
4264
+ exports.LocalResponseSource = LocalResponseSource;
3825
4265
  __decorate([
3826
4266
  (0, ts_serval_1.serialize)(),
3827
4267
  (0, ts_serval_1.validate)(),
@@ -3832,15 +4272,15 @@ __decorate([
3832
4272
  (0, ts_serval_1.validate)(),
3833
4273
  __metadata("design:type", transport_1.CoreId)
3834
4274
  ], LocalResponseSource.prototype, "reference", void 0);
3835
- LocalResponseSource = __decorate([
4275
+ exports.LocalResponseSource = LocalResponseSource = __decorate([
3836
4276
  (0, ts_serval_1.type)("LocalResponseSource")
3837
4277
  ], LocalResponseSource);
3838
- exports.LocalResponseSource = LocalResponseSource;
3839
4278
  let LocalResponse = class LocalResponse extends transport_1.CoreSerializable {
3840
4279
  static from(value) {
3841
4280
  return this.fromAny(value);
3842
4281
  }
3843
4282
  };
4283
+ exports.LocalResponse = LocalResponse;
3844
4284
  __decorate([
3845
4285
  (0, ts_serval_1.serialize)(),
3846
4286
  (0, ts_serval_1.validate)(),
@@ -3856,10 +4296,9 @@ __decorate([
3856
4296
  (0, ts_serval_1.validate)({ nullable: true }),
3857
4297
  __metadata("design:type", LocalResponseSource)
3858
4298
  ], LocalResponse.prototype, "source", void 0);
3859
- LocalResponse = __decorate([
4299
+ exports.LocalResponse = LocalResponse = __decorate([
3860
4300
  (0, ts_serval_1.type)("LocalResponse")
3861
4301
  ], LocalResponse);
3862
- exports.LocalResponse = LocalResponse;
3863
4302
  //# sourceMappingURL=LocalResponse.js.map
3864
4303
 
3865
4304
  /***/ }),
@@ -3876,7 +4315,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3876
4315
  exports.OutgoingRequestsController = void 0;
3877
4316
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3878
4317
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3879
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
4318
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
4319
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
4320
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
4321
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
3880
4322
  const events_1 = __webpack_require__(/*! ../events */ "./dist/modules/requests/events/index.js");
3881
4323
  const ValidationResult_1 = __webpack_require__(/*! ../itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3882
4324
  const LocalRequest_1 = __webpack_require__(/*! ../local/LocalRequest */ "./dist/modules/requests/local/LocalRequest.js");
@@ -3887,9 +4329,9 @@ const CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters
3887
4329
  const CanCreateOutgoingRequestParameters_1 = __webpack_require__(/*! ./createOutgoingRequest/CanCreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js");
3888
4330
  const CreateOutgoingRequestParameters_1 = __webpack_require__(/*! ./createOutgoingRequest/CreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js");
3889
4331
  const SentOutgoingRequestParameters_1 = __webpack_require__(/*! ./sentOutgoingRequest/SentOutgoingRequestParameters */ "./dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js");
3890
- class OutgoingRequestsController extends consumption_1.ConsumptionBaseController {
4332
+ class OutgoingRequestsController extends ConsumptionBaseController_1.ConsumptionBaseController {
3891
4333
  constructor(localRequests, processorRegistry, parent, eventBus, identity, relationshipResolver) {
3892
- super(consumption_1.ConsumptionControllerName.RequestsController, parent);
4334
+ super(ConsumptionControllerName_1.ConsumptionControllerName.RequestsController, parent);
3893
4335
  this.localRequests = localRequests;
3894
4336
  this.processorRegistry = processorRegistry;
3895
4337
  this.eventBus = eventBus;
@@ -3931,7 +4373,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3931
4373
  }
3932
4374
  async create(params) {
3933
4375
  const parsedParams = CreateOutgoingRequestParameters_1.CreateOutgoingRequestParameters.from(params);
3934
- const id = await consumption_1.ConsumptionIds.request.generate();
4376
+ const id = await ConsumptionIds_1.ConsumptionIds.request.generate();
3935
4377
  parsedParams.content.id = id;
3936
4378
  const request = await this._create(id, parsedParams.content, parsedParams.peer);
3937
4379
  this.eventBus.publish(new events_1.OutgoingRequestCreatedEvent(this.identity.address.toString(), request));
@@ -3963,7 +4405,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3963
4405
  const requestId = response.requestId;
3964
4406
  const templateContent = parsedParams.template.cache.content;
3965
4407
  if (!(templateContent instanceof content_1.RelationshipTemplateContent)) {
3966
- throw new consumption_1.ConsumptionError("The content of the template is not supported as it is not type of RelationshipTemplateContent.");
4408
+ throw new ConsumptionError_1.ConsumptionError("The content of the template is not supported as it is not type of RelationshipTemplateContent.");
3967
4409
  }
3968
4410
  const existingRelationship = await this.relationshipResolver.getActiveRelationshipToIdentity(peer);
3969
4411
  const requestContent = existingRelationship
@@ -3999,17 +4441,17 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3999
4441
  getSourceType(sourceObject) {
4000
4442
  if (sourceObject instanceof transport_1.Message) {
4001
4443
  if (!sourceObject.isOwn) {
4002
- throw new consumption_1.ConsumptionError("Cannot create outgoing Request from a peer Message");
4444
+ throw new ConsumptionError_1.ConsumptionError("Cannot create outgoing Request from a peer Message");
4003
4445
  }
4004
4446
  return "Message";
4005
4447
  }
4006
4448
  else if (sourceObject instanceof transport_1.RelationshipTemplate) {
4007
4449
  if (!sourceObject.isOwn) {
4008
- throw new consumption_1.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");
4450
+ throw new ConsumptionError_1.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");
4009
4451
  }
4010
4452
  return "RelationshipTemplate";
4011
4453
  }
4012
- throw new consumption_1.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
4454
+ throw new ConsumptionError_1.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
4013
4455
  }
4014
4456
  async complete(params) {
4015
4457
  const parsedParams = CompleteOutgoingRequestParameters_1.CompleteOutgoingRequestParameters.from(params);
@@ -4028,7 +4470,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
4028
4470
  ? responseSourceObject.cache.createdAt
4029
4471
  : responseSourceObject.request.createdAt;
4030
4472
  if (request.status === LocalRequestStatus_1.LocalRequestStatus.Expired && request.isExpired(responseSourceObjectCreationDate)) {
4031
- throw new consumption_1.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");
4473
+ throw new ConsumptionError_1.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");
4032
4474
  }
4033
4475
  const canComplete = await this.canComplete(request, receivedResponse);
4034
4476
  if (canComplete.isError()) {
@@ -4043,7 +4485,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
4043
4485
  responseSource = "RelationshipChange";
4044
4486
  }
4045
4487
  else {
4046
- throw new consumption_1.ConsumptionError("Invalid responseSourceObject");
4488
+ throw new ConsumptionError_1.ConsumptionError("Invalid responseSourceObject");
4047
4489
  }
4048
4490
  const localResponse = LocalResponse_1.LocalResponse.from({
4049
4491
  content: receivedResponse,
@@ -4134,7 +4576,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
4134
4576
  }
4135
4577
  assertRequestStatus(request, ...status) {
4136
4578
  if (!status.includes(request.status)) {
4137
- throw new consumption_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
4579
+ throw new ConsumptionError_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
4138
4580
  }
4139
4581
  }
4140
4582
  async updateRequestExpiry(request) {
@@ -4176,6 +4618,7 @@ let CompleteOutgoingRequestParameters = class CompleteOutgoingRequestParameters
4176
4618
  return this.fromAny(value);
4177
4619
  }
4178
4620
  };
4621
+ exports.CompleteOutgoingRequestParameters = CompleteOutgoingRequestParameters;
4179
4622
  __decorate([
4180
4623
  (0, ts_serval_1.serialize)(),
4181
4624
  (0, ts_serval_1.validate)(),
@@ -4191,10 +4634,9 @@ __decorate([
4191
4634
  (0, ts_serval_1.validate)(),
4192
4635
  __metadata("design:type", content_1.Response)
4193
4636
  ], CompleteOutgoingRequestParameters.prototype, "receivedResponse", void 0);
4194
- CompleteOutgoingRequestParameters = __decorate([
4637
+ exports.CompleteOutgoingRequestParameters = CompleteOutgoingRequestParameters = __decorate([
4195
4638
  (0, ts_serval_1.type)("CompleteOutgoingRequestParameters")
4196
4639
  ], CompleteOutgoingRequestParameters);
4197
- exports.CompleteOutgoingRequestParameters = CompleteOutgoingRequestParameters;
4198
4640
  //# sourceMappingURL=CompleteOutgoingRequestParameters.js.map
4199
4641
 
4200
4642
  /***/ }),
@@ -4226,6 +4668,7 @@ let CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters =
4226
4668
  return this.fromAny(value);
4227
4669
  }
4228
4670
  };
4671
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters;
4229
4672
  __decorate([
4230
4673
  (0, ts_serval_1.serialize)(),
4231
4674
  (0, ts_serval_1.validate)(),
@@ -4241,10 +4684,9 @@ __decorate([
4241
4684
  (0, ts_serval_1.validate)(),
4242
4685
  __metadata("design:type", content_1.Response)
4243
4686
  ], CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.prototype, "response", void 0);
4244
- CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = __decorate([
4687
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = __decorate([
4245
4688
  (0, ts_serval_1.type)("CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeParameters")
4246
4689
  ], CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters);
4247
- exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters;
4248
4690
  //# sourceMappingURL=CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js.map
4249
4691
 
4250
4692
  /***/ }),
@@ -4276,6 +4718,7 @@ let CanCreateOutgoingRequestParameters = class CanCreateOutgoingRequestParameter
4276
4718
  return this.fromAny(value);
4277
4719
  }
4278
4720
  };
4721
+ exports.CanCreateOutgoingRequestParameters = CanCreateOutgoingRequestParameters;
4279
4722
  __decorate([
4280
4723
  (0, ts_serval_1.serialize)(),
4281
4724
  (0, ts_serval_1.validate)(),
@@ -4286,10 +4729,9 @@ __decorate([
4286
4729
  (0, ts_serval_1.validate)({ nullable: true }),
4287
4730
  __metadata("design:type", transport_1.CoreAddress)
4288
4731
  ], CanCreateOutgoingRequestParameters.prototype, "peer", void 0);
4289
- CanCreateOutgoingRequestParameters = __decorate([
4732
+ exports.CanCreateOutgoingRequestParameters = CanCreateOutgoingRequestParameters = __decorate([
4290
4733
  (0, ts_serval_1.type)("CanCreateOutgoingRequestParameters")
4291
4734
  ], CanCreateOutgoingRequestParameters);
4292
- exports.CanCreateOutgoingRequestParameters = CanCreateOutgoingRequestParameters;
4293
4735
  //# sourceMappingURL=CanCreateOutgoingRequestParameters.js.map
4294
4736
 
4295
4737
  /***/ }),
@@ -4321,6 +4763,7 @@ let CreateOutgoingRequestParameters = class CreateOutgoingRequestParameters exte
4321
4763
  return this.fromAny(value);
4322
4764
  }
4323
4765
  };
4766
+ exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters;
4324
4767
  __decorate([
4325
4768
  (0, ts_serval_1.serialize)(),
4326
4769
  (0, ts_serval_1.validate)(),
@@ -4331,10 +4774,9 @@ __decorate([
4331
4774
  (0, ts_serval_1.validate)(),
4332
4775
  __metadata("design:type", transport_1.CoreAddress)
4333
4776
  ], CreateOutgoingRequestParameters.prototype, "peer", void 0);
4334
- CreateOutgoingRequestParameters = __decorate([
4777
+ exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters = __decorate([
4335
4778
  (0, ts_serval_1.type)("CreateOutgoingRequestParameters")
4336
4779
  ], CreateOutgoingRequestParameters);
4337
- exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters;
4338
4780
  //# sourceMappingURL=CreateOutgoingRequestParameters.js.map
4339
4781
 
4340
4782
  /***/ }),
@@ -4365,6 +4807,7 @@ let SentOutgoingRequestParameters = class SentOutgoingRequestParameters extends
4365
4807
  return this.fromAny(value);
4366
4808
  }
4367
4809
  };
4810
+ exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
4368
4811
  __decorate([
4369
4812
  (0, ts_serval_1.serialize)(),
4370
4813
  (0, ts_serval_1.validate)(),
@@ -4375,10 +4818,9 @@ __decorate([
4375
4818
  (0, ts_serval_1.validate)(),
4376
4819
  __metadata("design:type", transport_1.Message)
4377
4820
  ], SentOutgoingRequestParameters.prototype, "requestSourceObject", void 0);
4378
- SentOutgoingRequestParameters = __decorate([
4821
+ exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters = __decorate([
4379
4822
  (0, ts_serval_1.type)("SentOutgoingRequestParameters")
4380
4823
  ], SentOutgoingRequestParameters);
4381
- exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
4382
4824
  //# sourceMappingURL=SentOutgoingRequestParameters.js.map
4383
4825
 
4384
4826
  /***/ }),
@@ -4404,11 +4846,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
4404
4846
  exports.SettingsController = void 0;
4405
4847
  const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
4406
4848
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
4407
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
4849
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
4850
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
4851
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
4408
4852
  const Setting_1 = __webpack_require__(/*! ./local/Setting */ "./dist/modules/settings/local/Setting.js");
4409
- class SettingsController extends consumption_1.ConsumptionBaseController {
4853
+ class SettingsController extends ConsumptionBaseController_1.ConsumptionBaseController {
4410
4854
  constructor(parent) {
4411
- super(consumption_1.ConsumptionControllerName.SettingsController, parent);
4855
+ super(ConsumptionControllerName_1.ConsumptionControllerName.SettingsController, parent);
4412
4856
  }
4413
4857
  async init() {
4414
4858
  await super.init();
@@ -4425,7 +4869,7 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
4425
4869
  }
4426
4870
  async createSetting(parameters) {
4427
4871
  const setting = Setting_1.Setting.from({
4428
- id: await consumption_1.ConsumptionIds.setting.generate(),
4872
+ id: await ConsumptionIds_1.ConsumptionIds.setting.generate(),
4429
4873
  createdAt: transport_1.CoreDate.utc(),
4430
4874
  key: parameters.key,
4431
4875
  scope: parameters.scope ?? Setting_1.SettingScope.Identity,
@@ -4447,13 +4891,13 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
4447
4891
  await this.settings.delete(setting);
4448
4892
  }
4449
4893
  }
4894
+ exports.SettingsController = SettingsController;
4450
4895
  __decorate([
4451
4896
  (0, ts_utils_1.log)(),
4452
4897
  __metadata("design:type", Function),
4453
4898
  __metadata("design:paramtypes", [Setting_1.Setting]),
4454
4899
  __metadata("design:returntype", Promise)
4455
4900
  ], SettingsController.prototype, "updateSetting", null);
4456
- exports.SettingsController = SettingsController;
4457
4901
  //# sourceMappingURL=SettingsController.js.map
4458
4902
 
4459
4903
  /***/ }),
@@ -4528,7 +4972,7 @@ var SettingScope;
4528
4972
  SettingScope["Identity"] = "Identity";
4529
4973
  SettingScope["Device"] = "Device";
4530
4974
  SettingScope["Relationship"] = "Relationship";
4531
- })(SettingScope = exports.SettingScope || (exports.SettingScope = {}));
4975
+ })(SettingScope || (exports.SettingScope = SettingScope = {}));
4532
4976
  let Setting = class Setting extends transport_1.CoreSynchronizable {
4533
4977
  constructor() {
4534
4978
  super(...arguments);
@@ -4552,6 +4996,7 @@ let Setting = class Setting extends transport_1.CoreSynchronizable {
4552
4996
  return this.fromAny(value);
4553
4997
  }
4554
4998
  };
4999
+ exports.Setting = Setting;
4555
5000
  __decorate([
4556
5001
  (0, ts_serval_1.validate)(),
4557
5002
  (0, ts_serval_1.serialize)(),
@@ -4597,10 +5042,9 @@ __decorate([
4597
5042
  (0, ts_serval_1.serialize)(),
4598
5043
  __metadata("design:type", transport_1.CoreDate)
4599
5044
  ], Setting.prototype, "metadataModifiedAt", void 0);
4600
- Setting = __decorate([
5045
+ exports.Setting = Setting = __decorate([
4601
5046
  (0, ts_serval_1.type)("Setting")
4602
5047
  ], Setting);
4603
- exports.Setting = Setting;
4604
5048
  //# sourceMappingURL=Setting.js.map
4605
5049
 
4606
5050
  /***/ }),
@@ -4616,9 +5060,9 @@ exports.Setting = Setting;
4616
5060
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4617
5061
  exports.QueryTranslator = void 0;
4618
5062
  class QueryTranslator {
4619
- static defaultKeyRegex = /^[A-z_@][A-z@0-9-_]*(\.[A-z_@][A-z@0-9-_]*)*$/;
5063
+ static defaultKeyRegex = /^[a-zA-Z_@][a-zA-Z@0-9-_]*(\.[a-zA-Z_@][a-zA-Z@0-9-_]*)*$/;
4620
5064
  static defaultValRegex = undefined;
4621
- static defaultArrRegex = /^[a-zæøå0-9-_.]+(\[])?$/i;
5065
+ static defaultArrRegex = /^[a-zA-Zæøå0-9-_.]+(\[])?$/i;
4622
5066
  ops;
4623
5067
  alias;
4624
5068
  blacklist;
@@ -4733,6 +5177,10 @@ class QueryTranslator {
4733
5177
  }
4734
5178
  const res = {};
4735
5179
  for (let key of Object.keys(query)) {
5180
+ // if the key is __proto__ it could cause a prototype-polluting assignment
5181
+ // see https://codeql.github.com/codeql-query-help/javascript/js-prototype-polluting-assignment/ for more information
5182
+ if (key === "__proto__")
5183
+ continue;
4736
5184
  const val = query[key];
4737
5185
  // Normalize array keys
4738
5186
  if (Array.isArray(val)) {
@@ -26522,7 +26970,7 @@ function intlConfigString(localeStr, numberingSystem, outputCalendar) {
26522
26970
  function mapMonths(f) {
26523
26971
  const ms = [];
26524
26972
  for (let i = 1; i <= 12; i++) {
26525
- const dt = DateTime.utc(2016, i, 1);
26973
+ const dt = DateTime.utc(2009, i, 1);
26526
26974
  ms.push(f(dt));
26527
26975
  }
26528
26976
  return ms;
@@ -26535,8 +26983,8 @@ function mapWeekdays(f) {
26535
26983
  }
26536
26984
  return ms;
26537
26985
  }
26538
- function listStuff(loc, length, defaultOK, englishFn, intlFn) {
26539
- const mode = loc.listingMode(defaultOK);
26986
+ function listStuff(loc, length, englishFn, intlFn) {
26987
+ const mode = loc.listingMode();
26540
26988
  if (mode === "error") {
26541
26989
  return null;
26542
26990
  } else if (mode === "en") {
@@ -26782,8 +27230,8 @@ class Locale {
26782
27230
  defaultToEN: false
26783
27231
  });
26784
27232
  }
26785
- months(length, format = false, defaultOK = true) {
26786
- return listStuff(this, length, defaultOK, months, () => {
27233
+ months(length, format = false) {
27234
+ return listStuff(this, length, months, () => {
26787
27235
  const intl = format ? {
26788
27236
  month: length,
26789
27237
  day: "numeric"
@@ -26797,8 +27245,8 @@ class Locale {
26797
27245
  return this.monthsCache[formatStr][length];
26798
27246
  });
26799
27247
  }
26800
- weekdays(length, format = false, defaultOK = true) {
26801
- return listStuff(this, length, defaultOK, weekdays, () => {
27248
+ weekdays(length, format = false) {
27249
+ return listStuff(this, length, weekdays, () => {
26802
27250
  const intl = format ? {
26803
27251
  weekday: length,
26804
27252
  year: "numeric",
@@ -26814,8 +27262,8 @@ class Locale {
26814
27262
  return this.weekdaysCache[formatStr][length];
26815
27263
  });
26816
27264
  }
26817
- meridiems(defaultOK = true) {
26818
- return listStuff(this, undefined, defaultOK, () => meridiems, () => {
27265
+ meridiems() {
27266
+ return listStuff(this, undefined, () => meridiems, () => {
26819
27267
  // In theory there could be aribitrary day periods. We're gonna assume there are exactly two
26820
27268
  // for AM and PM. This is probably wrong, but it's makes parsing way easier.
26821
27269
  if (!this.meridiemCache) {
@@ -26828,8 +27276,8 @@ class Locale {
26828
27276
  return this.meridiemCache;
26829
27277
  });
26830
27278
  }
26831
- eras(length, defaultOK = true) {
26832
- return listStuff(this, length, defaultOK, eras, () => {
27279
+ eras(length) {
27280
+ return listStuff(this, length, eras, () => {
26833
27281
  const intl = {
26834
27282
  era: length
26835
27283
  };
@@ -27033,7 +27481,7 @@ function normalizeZone(input, defaultZone) {
27033
27481
  if (lowered === "default") return defaultZone;else if (lowered === "local" || lowered === "system") return SystemZone.instance;else if (lowered === "utc" || lowered === "gmt") return FixedOffsetZone.utcInstance;else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);
27034
27482
  } else if (isNumber(input)) {
27035
27483
  return FixedOffsetZone.instance(input);
27036
- } else if (typeof input === "object" && input.offset && typeof input.offset === "number") {
27484
+ } else if (typeof input === "object" && "offset" in input && typeof input.offset === "function") {
27037
27485
  // This is dumb, but the instanceof check above doesn't seem to really work
27038
27486
  // so we're duck checking it
27039
27487
  return input;
@@ -27150,10 +27598,10 @@ class Settings {
27150
27598
  /**
27151
27599
  * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
27152
27600
  * @type {number}
27153
- * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpretted as current century
27601
+ * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century
27154
27602
  * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050
27155
- * @example Settings.twoDigitCutoffYear = 1950 // interpretted as 50
27156
- * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpretted as 50
27603
+ * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50
27604
+ * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50
27157
27605
  */
27158
27606
  static set twoDigitCutoffYear(cutoffYear) {
27159
27607
  twoDigitCutoffYear = cutoffYear % 100;
@@ -27320,7 +27768,7 @@ function daysInMonth(year, month) {
27320
27768
  }
27321
27769
  }
27322
27770
 
27323
- // covert a calendar object to a local timestamp (epoch, but with the offset baked in)
27771
+ // convert a calendar object to a local timestamp (epoch, but with the offset baked in)
27324
27772
  function objToLocalTS(obj) {
27325
27773
  let d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond);
27326
27774
 
@@ -27622,33 +28070,24 @@ class Formatter {
27622
28070
  });
27623
28071
  return df.format();
27624
28072
  }
27625
- formatDateTime(dt, opts = {}) {
27626
- const df = this.loc.dtFormatter(dt, {
28073
+ dtFormatter(dt, opts = {}) {
28074
+ return this.loc.dtFormatter(dt, {
27627
28075
  ...this.opts,
27628
28076
  ...opts
27629
28077
  });
27630
- return df.format();
27631
28078
  }
27632
- formatDateTimeParts(dt, opts = {}) {
27633
- const df = this.loc.dtFormatter(dt, {
27634
- ...this.opts,
27635
- ...opts
27636
- });
27637
- return df.formatToParts();
28079
+ formatDateTime(dt, opts) {
28080
+ return this.dtFormatter(dt, opts).format();
27638
28081
  }
27639
- formatInterval(interval, opts = {}) {
27640
- const df = this.loc.dtFormatter(interval.start, {
27641
- ...this.opts,
27642
- ...opts
27643
- });
28082
+ formatDateTimeParts(dt, opts) {
28083
+ return this.dtFormatter(dt, opts).formatToParts();
28084
+ }
28085
+ formatInterval(interval, opts) {
28086
+ const df = this.dtFormatter(interval.start, opts);
27644
28087
  return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());
27645
28088
  }
27646
- resolvedOptions(dt, opts = {}) {
27647
- const df = this.loc.dtFormatter(dt, {
27648
- ...this.opts,
27649
- ...opts
27650
- });
27651
- return df.resolvedOptions();
28089
+ resolvedOptions(dt, opts) {
28090
+ return this.dtFormatter(dt, opts).resolvedOptions();
27652
28091
  }
27653
28092
  num(n, p = 0) {
27654
28093
  // we get some perf out of doing this here, annoyingly
@@ -27702,7 +28141,7 @@ class Formatter {
27702
28141
  era: length
27703
28142
  }, "era"),
27704
28143
  tokenToString = token => {
27705
- // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles
28144
+ // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols
27706
28145
  switch (token) {
27707
28146
  // ms
27708
28147
  case "S":
@@ -28291,27 +28730,61 @@ function clone$1(dur, alts, clear = false) {
28291
28730
  };
28292
28731
  return new Duration(conf);
28293
28732
  }
28294
- function antiTrunc(n) {
28295
- return n < 0 ? Math.floor(n) : Math.ceil(n);
28296
- }
28297
-
28298
- // NB: mutates parameters
28299
- function convert(matrix, fromMap, fromUnit, toMap, toUnit) {
28300
- const conv = matrix[toUnit][fromUnit],
28301
- raw = fromMap[fromUnit] / conv,
28302
- sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]),
28303
- // ok, so this is wild, but see the matrix in the tests
28304
- added = !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw);
28305
- toMap[toUnit] += added;
28306
- fromMap[fromUnit] -= added * conv;
28733
+ function durationToMillis(matrix, vals) {
28734
+ var _vals$milliseconds;
28735
+ let sum = (_vals$milliseconds = vals.milliseconds) != null ? _vals$milliseconds : 0;
28736
+ for (const unit of reverseUnits.slice(1)) {
28737
+ if (vals[unit]) {
28738
+ sum += vals[unit] * matrix[unit]["milliseconds"];
28739
+ }
28740
+ }
28741
+ return sum;
28307
28742
  }
28308
28743
 
28309
28744
  // NB: mutates parameters
28310
28745
  function normalizeValues(matrix, vals) {
28311
- reverseUnits.reduce((previous, current) => {
28746
+ // the logic below assumes the overall value of the duration is positive
28747
+ // if this is not the case, factor is used to make it so
28748
+ const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;
28749
+ orderedUnits$1.reduceRight((previous, current) => {
28312
28750
  if (!isUndefined(vals[current])) {
28313
28751
  if (previous) {
28314
- convert(matrix, vals, previous, vals, current);
28752
+ const previousVal = vals[previous] * factor;
28753
+ const conv = matrix[current][previous];
28754
+
28755
+ // if (previousVal < 0):
28756
+ // lower order unit is negative (e.g. { years: 2, days: -2 })
28757
+ // normalize this by reducing the higher order unit by the appropriate amount
28758
+ // and increasing the lower order unit
28759
+ // this can never make the higher order unit negative, because this function only operates
28760
+ // on positive durations, so the amount of time represented by the lower order unit cannot
28761
+ // be larger than the higher order unit
28762
+ // else:
28763
+ // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })
28764
+ // in this case we attempt to convert as much as possible from the lower order unit into
28765
+ // the higher order one
28766
+ //
28767
+ // Math.floor takes care of both of these cases, rounding away from 0
28768
+ // if previousVal < 0 it makes the absolute value larger
28769
+ // if previousVal >= it makes the absolute value smaller
28770
+ const rollUp = Math.floor(previousVal / conv);
28771
+ vals[current] += rollUp * factor;
28772
+ vals[previous] -= rollUp * conv * factor;
28773
+ }
28774
+ return current;
28775
+ } else {
28776
+ return previous;
28777
+ }
28778
+ }, null);
28779
+
28780
+ // try to convert any decimals into smaller units if possible
28781
+ // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }
28782
+ orderedUnits$1.reduce((previous, current) => {
28783
+ if (!isUndefined(vals[current])) {
28784
+ if (previous) {
28785
+ const fraction = vals[previous] % 1;
28786
+ vals[previous] -= fraction;
28787
+ vals[current] += fraction * matrix[previous][current];
28315
28788
  }
28316
28789
  return current;
28317
28790
  } else {
@@ -28617,6 +29090,7 @@ class Duration {
28617
29090
  * ```
28618
29091
  */
28619
29092
  toHuman(opts = {}) {
29093
+ if (!this.isValid) return INVALID$2;
28620
29094
  const l = orderedUnits$1.map(unit => {
28621
29095
  const val = this.values[unit];
28622
29096
  if (isUndefined(val)) {
@@ -28702,21 +29176,13 @@ class Duration {
28702
29176
  suppressSeconds: false,
28703
29177
  includePrefix: false,
28704
29178
  format: "extended",
28705
- ...opts
29179
+ ...opts,
29180
+ includeOffset: false
28706
29181
  };
28707
- const value = this.shiftTo("hours", "minutes", "seconds", "milliseconds");
28708
- let fmt = opts.format === "basic" ? "hhmm" : "hh:mm";
28709
- if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) {
28710
- fmt += opts.format === "basic" ? "ss" : ":ss";
28711
- if (!opts.suppressMilliseconds || value.milliseconds !== 0) {
28712
- fmt += ".SSS";
28713
- }
28714
- }
28715
- let str = value.toFormat(fmt);
28716
- if (opts.includePrefix) {
28717
- str = "T" + str;
28718
- }
28719
- return str;
29182
+ const dateTime = DateTime.fromMillis(millis, {
29183
+ zone: "UTC"
29184
+ });
29185
+ return dateTime.toISOTime(opts);
28720
29186
  }
28721
29187
 
28722
29188
  /**
@@ -28740,7 +29206,8 @@ class Duration {
28740
29206
  * @return {number}
28741
29207
  */
28742
29208
  toMillis() {
28743
- return this.as("milliseconds");
29209
+ if (!this.isValid) return NaN;
29210
+ return durationToMillis(this.matrix, this.values);
28744
29211
  }
28745
29212
 
28746
29213
  /**
@@ -28866,8 +29333,17 @@ class Duration {
28866
29333
 
28867
29334
  /**
28868
29335
  * Reduce this Duration to its canonical representation in its current units.
29336
+ * Assuming the overall value of the Duration is positive, this means:
29337
+ * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)
29338
+ * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise
29339
+ * the overall value would be negative, see second example)
29340
+ * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)
29341
+ *
29342
+ * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.
28869
29343
  * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }
29344
+ * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }
28870
29345
  * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }
29346
+ * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }
28871
29347
  * @return {Duration}
28872
29348
  */
28873
29349
  normalize() {
@@ -28922,16 +29398,13 @@ class Duration {
28922
29398
  if (isNumber(vals[k])) {
28923
29399
  own += vals[k];
28924
29400
  }
29401
+
29402
+ // only keep the integer part for now in the hopes of putting any decimal part
29403
+ // into a smaller unit later
28925
29404
  const i = Math.trunc(own);
28926
29405
  built[k] = i;
28927
29406
  accumulated[k] = (own * 1000 - i * 1000) / 1000;
28928
29407
 
28929
- // plus anything further down the chain that should be rolled up in to this
28930
- for (const down in vals) {
28931
- if (orderedUnits$1.indexOf(down) > orderedUnits$1.indexOf(k)) {
28932
- convert(this.matrix, vals, down, built, k);
28933
- }
28934
- }
28935
29408
  // otherwise, keep it in the wings to boil it later
28936
29409
  } else if (isNumber(vals[k])) {
28937
29410
  accumulated[k] = vals[k];
@@ -28945,9 +29418,10 @@ class Duration {
28945
29418
  built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];
28946
29419
  }
28947
29420
  }
29421
+ normalizeValues(this.matrix, built);
28948
29422
  return clone$1(this, {
28949
29423
  values: built
28950
- }, true).normalize();
29424
+ }, true);
28951
29425
  }
28952
29426
 
28953
29427
  /**
@@ -29905,14 +30379,35 @@ function highOrderDiffs(cursor, later, units) {
29905
30379
  const results = {};
29906
30380
  const earlier = cursor;
29907
30381
  let lowestOrder, highWater;
30382
+
30383
+ /* This loop tries to diff using larger units first.
30384
+ If we overshoot, we backtrack and try the next smaller unit.
30385
+ "cursor" starts out at the earlier timestamp and moves closer and closer to "later"
30386
+ as we use smaller and smaller units.
30387
+ highWater keeps track of where we would be if we added one more of the smallest unit,
30388
+ this is used later to potentially convert any difference smaller than the smallest higher order unit
30389
+ into a fraction of that smallest higher order unit
30390
+ */
29908
30391
  for (const [unit, differ] of differs) {
29909
30392
  if (units.indexOf(unit) >= 0) {
29910
30393
  lowestOrder = unit;
29911
30394
  results[unit] = differ(cursor, later);
29912
30395
  highWater = earlier.plus(results);
29913
30396
  if (highWater > later) {
30397
+ // we overshot the end point, backtrack cursor by 1
29914
30398
  results[unit]--;
29915
30399
  cursor = earlier.plus(results);
30400
+
30401
+ // if we are still overshooting now, we need to backtrack again
30402
+ // this happens in certain situations when diffing times in different zones,
30403
+ // because this calculation ignores time zones
30404
+ if (cursor > later) {
30405
+ // keep the "overshot by 1" around as highWater
30406
+ highWater = cursor;
30407
+ // backtrack cursor by 1
30408
+ results[unit]--;
30409
+ cursor = earlier.plus(results);
30410
+ }
29916
30411
  } else {
29917
30412
  cursor = highWater;
29918
30413
  }
@@ -30061,6 +30556,11 @@ function simple(regex) {
30061
30556
  function escapeToken(value) {
30062
30557
  return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
30063
30558
  }
30559
+
30560
+ /**
30561
+ * @param token
30562
+ * @param {Locale} loc
30563
+ */
30064
30564
  function unitForToken(token, loc) {
30065
30565
  const one = digitRegex(loc),
30066
30566
  two = digitRegex(loc, "{2}"),
@@ -30085,9 +30585,9 @@ function unitForToken(token, loc) {
30085
30585
  switch (t.val) {
30086
30586
  // era
30087
30587
  case "G":
30088
- return oneOf(loc.eras("short", false), 0);
30588
+ return oneOf(loc.eras("short"), 0);
30089
30589
  case "GG":
30090
- return oneOf(loc.eras("long", false), 0);
30590
+ return oneOf(loc.eras("long"), 0);
30091
30591
  // years
30092
30592
  case "y":
30093
30593
  return intUnit(oneToSix);
@@ -30105,17 +30605,17 @@ function unitForToken(token, loc) {
30105
30605
  case "MM":
30106
30606
  return intUnit(two);
30107
30607
  case "MMM":
30108
- return oneOf(loc.months("short", true, false), 1);
30608
+ return oneOf(loc.months("short", true), 1);
30109
30609
  case "MMMM":
30110
- return oneOf(loc.months("long", true, false), 1);
30610
+ return oneOf(loc.months("long", true), 1);
30111
30611
  case "L":
30112
30612
  return intUnit(oneOrTwo);
30113
30613
  case "LL":
30114
30614
  return intUnit(two);
30115
30615
  case "LLL":
30116
- return oneOf(loc.months("short", false, false), 1);
30616
+ return oneOf(loc.months("short", false), 1);
30117
30617
  case "LLLL":
30118
- return oneOf(loc.months("long", false, false), 1);
30618
+ return oneOf(loc.months("long", false), 1);
30119
30619
  // dates
30120
30620
  case "d":
30121
30621
  return intUnit(oneOrTwo);
@@ -30175,13 +30675,13 @@ function unitForToken(token, loc) {
30175
30675
  case "c":
30176
30676
  return intUnit(one);
30177
30677
  case "EEE":
30178
- return oneOf(loc.weekdays("short", false, false), 1);
30678
+ return oneOf(loc.weekdays("short", false), 1);
30179
30679
  case "EEEE":
30180
- return oneOf(loc.weekdays("long", false, false), 1);
30680
+ return oneOf(loc.weekdays("long", false), 1);
30181
30681
  case "ccc":
30182
- return oneOf(loc.weekdays("short", true, false), 1);
30682
+ return oneOf(loc.weekdays("short", true), 1);
30183
30683
  case "cccc":
30184
- return oneOf(loc.weekdays("long", true, false), 1);
30684
+ return oneOf(loc.weekdays("long", true), 1);
30185
30685
  // offset/zone
30186
30686
  case "Z":
30187
30687
  case "ZZ":
@@ -30227,10 +30727,14 @@ const partTypeStyleToTokenVal = {
30227
30727
  },
30228
30728
  dayperiod: "a",
30229
30729
  dayPeriod: "a",
30230
- hour: {
30730
+ hour12: {
30231
30731
  numeric: "h",
30232
30732
  "2-digit": "hh"
30233
30733
  },
30734
+ hour24: {
30735
+ numeric: "H",
30736
+ "2-digit": "HH"
30737
+ },
30234
30738
  minute: {
30235
30739
  numeric: "m",
30236
30740
  "2-digit": "mm"
@@ -30244,7 +30748,7 @@ const partTypeStyleToTokenVal = {
30244
30748
  short: "ZZZ"
30245
30749
  }
30246
30750
  };
30247
- function tokenForPart(part, formatOpts) {
30751
+ function tokenForPart(part, formatOpts, resolvedOpts) {
30248
30752
  const {
30249
30753
  type,
30250
30754
  value
@@ -30257,7 +30761,27 @@ function tokenForPart(part, formatOpts) {
30257
30761
  };
30258
30762
  }
30259
30763
  const style = formatOpts[type];
30260
- let val = partTypeStyleToTokenVal[type];
30764
+
30765
+ // The user might have explicitly specified hour12 or hourCycle
30766
+ // if so, respect their decision
30767
+ // if not, refer back to the resolvedOpts, which are based on the locale
30768
+ let actualType = type;
30769
+ if (type === "hour") {
30770
+ if (formatOpts.hour12 != null) {
30771
+ actualType = formatOpts.hour12 ? "hour12" : "hour24";
30772
+ } else if (formatOpts.hourCycle != null) {
30773
+ if (formatOpts.hourCycle === "h11" || formatOpts.hourCycle === "h12") {
30774
+ actualType = "hour12";
30775
+ } else {
30776
+ actualType = "hour24";
30777
+ }
30778
+ } else {
30779
+ // tokens only differentiate between 24 hours or not,
30780
+ // so we do not need to check hourCycle here, which is less supported anyways
30781
+ actualType = resolvedOpts.hour12 ? "hour12" : "hour24";
30782
+ }
30783
+ }
30784
+ let val = partTypeStyleToTokenVal[actualType];
30261
30785
  if (typeof val === "object") {
30262
30786
  val = val[style];
30263
30787
  }
@@ -30433,8 +30957,10 @@ function formatOptsToTokens(formatOpts, locale) {
30433
30957
  return null;
30434
30958
  }
30435
30959
  const formatter = Formatter.create(locale, formatOpts);
30436
- const parts = formatter.formatDateTimeParts(getDummyDateTime());
30437
- return parts.map(p => tokenForPart(p, formatOpts));
30960
+ const df = formatter.dtFormatter(getDummyDateTime());
30961
+ const parts = df.formatToParts();
30962
+ const resolvedOpts = df.resolvedOptions();
30963
+ return parts.map(p => tokenForPart(p, formatOpts, resolvedOpts));
30438
30964
  }
30439
30965
 
30440
30966
  const nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
@@ -30770,13 +31296,13 @@ function toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOf
30770
31296
  if (extended) {
30771
31297
  c += ":";
30772
31298
  c += padStart(o.c.minute);
30773
- if (o.c.second !== 0 || !suppressSeconds) {
31299
+ if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {
30774
31300
  c += ":";
30775
31301
  }
30776
31302
  } else {
30777
31303
  c += padStart(o.c.minute);
30778
31304
  }
30779
- if (o.c.second !== 0 || !suppressSeconds) {
31305
+ if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {
30780
31306
  c += padStart(o.c.second);
30781
31307
  if (o.c.millisecond !== 0 || !suppressMilliseconds) {
30782
31308
  c += ".";
@@ -31410,7 +31936,7 @@ class DateTime {
31410
31936
 
31411
31937
  /**
31412
31938
  * Create an invalid DateTime.
31413
- * @param {DateTime} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent
31939
+ * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.
31414
31940
  * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
31415
31941
  * @return {DateTime}
31416
31942
  */
@@ -31769,6 +32295,41 @@ class DateTime {
31769
32295
  }
31770
32296
  }
31771
32297
 
32298
+ /**
32299
+ * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC
32300
+ * in this DateTime's zone. During DST changes local time can be ambiguous, for example
32301
+ * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.
32302
+ * This method will return both possible DateTimes if this DateTime's local time is ambiguous.
32303
+ * @returns {DateTime[]}
32304
+ */
32305
+ getPossibleOffsets() {
32306
+ if (!this.isValid || this.isOffsetFixed) {
32307
+ return [this];
32308
+ }
32309
+ const dayMs = 86400000;
32310
+ const minuteMs = 60000;
32311
+ const localTS = objToLocalTS(this.c);
32312
+ const oEarlier = this.zone.offset(localTS - dayMs);
32313
+ const oLater = this.zone.offset(localTS + dayMs);
32314
+ const o1 = this.zone.offset(localTS - oEarlier * minuteMs);
32315
+ const o2 = this.zone.offset(localTS - oLater * minuteMs);
32316
+ if (o1 === o2) {
32317
+ return [this];
32318
+ }
32319
+ const ts1 = localTS - o1 * minuteMs;
32320
+ const ts2 = localTS - o2 * minuteMs;
32321
+ const c1 = tsToObj(ts1, o1);
32322
+ const c2 = tsToObj(ts2, o2);
32323
+ if (c1.hour === c2.hour && c1.minute === c2.minute && c1.second === c2.second && c1.millisecond === c2.millisecond) {
32324
+ return [clone(this, {
32325
+ ts: ts1
32326
+ }), clone(this, {
32327
+ ts: ts2
32328
+ })];
32329
+ }
32330
+ return [this];
32331
+ }
32332
+
31772
32333
  /**
31773
32334
  * Returns true if this DateTime is in a leap year, false otherwise
31774
32335
  * @example DateTime.local(2016).isInLeapYear //=> true
@@ -32775,7 +33336,7 @@ function friendlyDateTime(dateTimeish) {
32775
33336
  }
32776
33337
  }
32777
33338
 
32778
- const VERSION = "3.3.0";
33339
+ const VERSION = "3.4.3";
32779
33340
 
32780
33341
  exports.DateTime = DateTime;
32781
33342
  exports.Duration = Duration;