@nmshd/consumption 3.3.1 → 3.4.0

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 +20 -0
  53. package/dist/modules/notifications/NotificationsController.js +115 -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 +878 -315
  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 +23 -22
  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.1",
21
- build: "106",
22
- date: "2023-08-23T12:56:13+00:00",
23
- commit: "cd00590e56a67d556b5c4f0d50d7e21b015c262d",
24
- dependencies: {"@js-soft/docdb-querytranslator":"^1.1.0","@nmshd/iql":"^0.0.1","ts-simple-nameof":"^1.3.1"},
20
+ version: "3.4.0",
21
+ build: "108",
22
+ date: "2023-10-12T08:52:05+00:00",
23
+ commit: "1e0773419339aba523c2dd14c4bda254a880e4b7",
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,445 @@ 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 ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
1808
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
1809
+ const LocalNotification_1 = __webpack_require__(/*! ./local/LocalNotification */ "./dist/modules/notifications/local/LocalNotification.js");
1810
+ const LocalNotificationSource_1 = __webpack_require__(/*! ./local/LocalNotificationSource */ "./dist/modules/notifications/local/LocalNotificationSource.js");
1811
+ class NotificationsController extends ConsumptionBaseController_1.ConsumptionBaseController {
1812
+ constructor(localNotifications, processorRegistry, parent, eventBus, device) {
1813
+ super(ConsumptionControllerName_1.ConsumptionControllerName.NotificationsController, parent);
1814
+ this.localNotifications = localNotifications;
1815
+ this.processorRegistry = processorRegistry;
1816
+ this.eventBus = eventBus;
1817
+ this.device = device;
1818
+ }
1819
+ async sent(message) {
1820
+ if (!message.isOwn)
1821
+ throw new Error("Cannot send a Notification from a foreign message.");
1822
+ const content = this.extractNotificationFromMessage(message);
1823
+ const recipients = message.cache.recipients;
1824
+ if (recipients.length > 1)
1825
+ throw new Error("Message contains more than one recipient.");
1826
+ const notification = LocalNotification_1.LocalNotification.from({
1827
+ id: content.id,
1828
+ content,
1829
+ status: LocalNotification_1.LocalNotificationStatus.Sent,
1830
+ isOwn: true,
1831
+ createdAt: message.cache.createdAt,
1832
+ peer: recipients[0].address,
1833
+ source: LocalNotificationSource_1.LocalNotificationSource.message(message.id)
1834
+ });
1835
+ await this.localNotifications.create(notification);
1836
+ return notification;
1837
+ }
1838
+ async received(message) {
1839
+ if (message.isOwn)
1840
+ throw new Error("Cannot receive a Notification from an own message.");
1841
+ const content = this.extractNotificationFromMessage(message);
1842
+ const notification = LocalNotification_1.LocalNotification.from({
1843
+ id: content.id,
1844
+ content,
1845
+ status: LocalNotification_1.LocalNotificationStatus.Open,
1846
+ isOwn: false,
1847
+ createdAt: message.cache.createdAt,
1848
+ peer: message.cache.createdBy,
1849
+ source: LocalNotificationSource_1.LocalNotificationSource.message(message.id),
1850
+ receivedByDevice: this.device.id
1851
+ });
1852
+ await this.localNotifications.create(notification);
1853
+ return notification;
1854
+ }
1855
+ extractNotificationFromMessage(message) {
1856
+ if (!(message.cache.content instanceof content_1.Notification)) {
1857
+ throw new Error("Message does not contain a Notification.");
1858
+ }
1859
+ return message.cache.content;
1860
+ }
1861
+ async processOpenNotifactionsReceivedByCurrentDevice() {
1862
+ const notifications = await this.localNotifications.find({
1863
+ receivedByDevice: this.device.id.toString(),
1864
+ isOwn: false,
1865
+ status: LocalNotification_1.LocalNotificationStatus.Open
1866
+ });
1867
+ const parsed = this.parseArray(notifications, LocalNotification_1.LocalNotification);
1868
+ for (const notification of parsed) {
1869
+ await this.process(notification);
1870
+ }
1871
+ }
1872
+ async process(notification) {
1873
+ if (notification.isOwn)
1874
+ throw new Error("Cannot process own notification.");
1875
+ if (!notification.receivedByDevice?.equals(this.device.id)) {
1876
+ throw new Error("Notification is not received by current device.");
1877
+ }
1878
+ if (![LocalNotification_1.LocalNotificationStatus.Open, LocalNotification_1.LocalNotificationStatus.Error].includes(notification.status)) {
1879
+ throw new Error(`Cannot process notification with status ${notification.status}.`);
1880
+ }
1881
+ const oldDoc = await this.localNotifications.findOne({ id: notification.id.toString() });
1882
+ const processedItems = [];
1883
+ const events = [];
1884
+ try {
1885
+ for (const item of notification.content.items) {
1886
+ const processor = this.processorRegistry.getProcessorForItem(item);
1887
+ const prerequisitesMatched = await processor.checkPrerequisitesOfIncomingNotificationItem(item);
1888
+ if (!prerequisitesMatched) {
1889
+ const index = notification.content.items.indexOf(item);
1890
+ throw new Error(`Prerequisites of notificationItem with index '${index}' of Notification ${notification.id} not met.`);
1891
+ }
1892
+ // we should also rollback the item that failed, therefore we need to push before processing
1893
+ processedItems.push(item);
1894
+ const event = await processor.process(item);
1895
+ if (event)
1896
+ events.push(event);
1897
+ }
1898
+ }
1899
+ catch (e) {
1900
+ this._log.error(`Error while processing notification ${notification.id}: ${e}`);
1901
+ for (const item of processedItems.reverse()) {
1902
+ const processor = this.processorRegistry.getProcessorForItem(item);
1903
+ await processor.rollback(item);
1904
+ }
1905
+ notification.status = LocalNotification_1.LocalNotificationStatus.Error;
1906
+ await this.localNotifications.update(oldDoc, notification);
1907
+ return notification;
1908
+ }
1909
+ notification.status = LocalNotification_1.LocalNotificationStatus.Completed;
1910
+ await this.localNotifications.update(oldDoc, notification);
1911
+ for (const event of events)
1912
+ this.eventBus.publish(event);
1913
+ return notification;
1914
+ }
1915
+ }
1916
+ exports.NotificationsController = NotificationsController;
1917
+ //# sourceMappingURL=NotificationsController.js.map
1918
+
1919
+ /***/ }),
1920
+
1921
+ /***/ "./dist/modules/notifications/index.js":
1922
+ /*!*********************************************!*\
1923
+ !*** ./dist/modules/notifications/index.js ***!
1924
+ \*********************************************/
1925
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1926
+
1927
+ "use strict";
1928
+
1929
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1930
+ if (k2 === undefined) k2 = k;
1931
+ var desc = Object.getOwnPropertyDescriptor(m, k);
1932
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
1933
+ desc = { enumerable: true, get: function() { return m[k]; } };
1934
+ }
1935
+ Object.defineProperty(o, k2, desc);
1936
+ }) : (function(o, m, k, k2) {
1937
+ if (k2 === undefined) k2 = k;
1938
+ o[k2] = m[k];
1939
+ }));
1940
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1941
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
1942
+ };
1943
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1944
+ __exportStar(__webpack_require__(/*! ./NotificationsController */ "./dist/modules/notifications/NotificationsController.js"), exports);
1945
+ __exportStar(__webpack_require__(/*! ./itemProcessors/AbstractNotificationItemProcessor */ "./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js"), exports);
1946
+ __exportStar(__webpack_require__(/*! ./itemProcessors/NotificationItemConstructor */ "./dist/modules/notifications/itemProcessors/NotificationItemConstructor.js"), exports);
1947
+ __exportStar(__webpack_require__(/*! ./itemProcessors/NotificationItemProcessorConstructor */ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js"), exports);
1948
+ __exportStar(__webpack_require__(/*! ./itemProcessors/NotificationItemProcessorRegistry */ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js"), exports);
1949
+ __exportStar(__webpack_require__(/*! ./itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor */ "./dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js"), exports);
1950
+ __exportStar(__webpack_require__(/*! ./local/LocalNotification */ "./dist/modules/notifications/local/LocalNotification.js"), exports);
1951
+ __exportStar(__webpack_require__(/*! ./local/LocalNotificationSource */ "./dist/modules/notifications/local/LocalNotificationSource.js"), exports);
1952
+ //# sourceMappingURL=index.js.map
1953
+
1954
+ /***/ }),
1955
+
1956
+ /***/ "./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js":
1957
+ /*!****************************************************************************************!*\
1958
+ !*** ./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js ***!
1959
+ \****************************************************************************************/
1960
+ /***/ ((__unused_webpack_module, exports) => {
1961
+
1962
+ "use strict";
1963
+
1964
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1965
+ exports.AbstractNotificationItemProcessor = void 0;
1966
+ class AbstractNotificationItemProcessor {
1967
+ constructor(consumptionController) {
1968
+ this.consumptionController = consumptionController;
1969
+ this.accountController = this.consumptionController.accountController;
1970
+ this.currentIdentityAddress = this.accountController.identity.address;
1971
+ }
1972
+ }
1973
+ exports.AbstractNotificationItemProcessor = AbstractNotificationItemProcessor;
1974
+ //# sourceMappingURL=AbstractNotificationItemProcessor.js.map
1975
+
1976
+ /***/ }),
1977
+
1978
+ /***/ "./dist/modules/notifications/itemProcessors/NotificationItemConstructor.js":
1979
+ /*!**********************************************************************************!*\
1980
+ !*** ./dist/modules/notifications/itemProcessors/NotificationItemConstructor.js ***!
1981
+ \**********************************************************************************/
1982
+ /***/ ((__unused_webpack_module, exports) => {
1983
+
1984
+ "use strict";
1985
+
1986
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1987
+ //# sourceMappingURL=NotificationItemConstructor.js.map
1988
+
1989
+ /***/ }),
1990
+
1991
+ /***/ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js":
1992
+ /*!*******************************************************************************************!*\
1993
+ !*** ./dist/modules/notifications/itemProcessors/NotificationItemProcessorConstructor.js ***!
1994
+ \*******************************************************************************************/
1995
+ /***/ ((__unused_webpack_module, exports) => {
1996
+
1997
+ "use strict";
1998
+
1999
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2000
+ //# sourceMappingURL=NotificationItemProcessorConstructor.js.map
2001
+
2002
+ /***/ }),
2003
+
2004
+ /***/ "./dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js":
2005
+ /*!****************************************************************************************!*\
2006
+ !*** ./dist/modules/notifications/itemProcessors/NotificationItemProcessorRegistry.js ***!
2007
+ \****************************************************************************************/
2008
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2009
+
2010
+ "use strict";
2011
+
2012
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2013
+ exports.NotificationItemProcessorRegistry = void 0;
2014
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2015
+ class NotificationItemProcessorRegistry {
2016
+ constructor(consumptionController, processors = new Map()) {
2017
+ this.consumptionController = consumptionController;
2018
+ this.processors = processors;
2019
+ }
2020
+ registerProcessor(itemConstructor, processorConstructor) {
2021
+ if (this.processors.has(itemConstructor)) {
2022
+ throw new ConsumptionError_1.ConsumptionError(`There is already a processor registered for '${itemConstructor.name}'. Use 'replaceProcessorForType' if you want to replace it.`);
2023
+ }
2024
+ this.processors.set(itemConstructor, processorConstructor);
2025
+ }
2026
+ registerOrReplaceProcessor(itemConstructor, processorConstructor) {
2027
+ this.processors.set(itemConstructor, processorConstructor);
2028
+ }
2029
+ getProcessorForItem(item) {
2030
+ const constructor = this.processors.get(item.constructor);
2031
+ if (!constructor) {
2032
+ throw new ConsumptionError_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
2033
+ }
2034
+ return new constructor(this.consumptionController);
2035
+ }
2036
+ }
2037
+ exports.NotificationItemProcessorRegistry = NotificationItemProcessorRegistry;
2038
+ //# sourceMappingURL=NotificationItemProcessorRegistry.js.map
2039
+
2040
+ /***/ }),
2041
+
2042
+ /***/ "./dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js":
2043
+ /*!*********************************************************************************************************************!*\
2044
+ !*** ./dist/modules/notifications/itemProcessors/attributeSucceeded/AttributeSucceededNotificationItemProcessor.js ***!
2045
+ \*********************************************************************************************************************/
2046
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2047
+
2048
+ "use strict";
2049
+
2050
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2051
+ exports.AttributeSucceededNotificationItemProcessor = void 0;
2052
+ const AbstractNotificationItemProcessor_1 = __webpack_require__(/*! ../AbstractNotificationItemProcessor */ "./dist/modules/notifications/itemProcessors/AbstractNotificationItemProcessor.js");
2053
+ class AttributeSucceededNotificationItemProcessor extends AbstractNotificationItemProcessor_1.AbstractNotificationItemProcessor {
2054
+ checkPrerequisitesOfIncomingNotificationItem(_notificationItem) {
2055
+ throw new Error("Method not implemented.");
2056
+ }
2057
+ // eslint-disable-next-line @typescript-eslint/require-await
2058
+ async process(_notificationItem) {
2059
+ throw new Error("Method not implemented.");
2060
+ }
2061
+ rollback() {
2062
+ throw new Error("Method not implemented.");
2063
+ }
2064
+ }
2065
+ exports.AttributeSucceededNotificationItemProcessor = AttributeSucceededNotificationItemProcessor;
2066
+ //# sourceMappingURL=AttributeSucceededNotificationItemProcessor.js.map
2067
+
2068
+ /***/ }),
2069
+
2070
+ /***/ "./dist/modules/notifications/local/LocalNotification.js":
2071
+ /*!***************************************************************!*\
2072
+ !*** ./dist/modules/notifications/local/LocalNotification.js ***!
2073
+ \***************************************************************/
2074
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2075
+
2076
+ "use strict";
2077
+
2078
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2079
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2080
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2081
+ 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;
2082
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2083
+ };
2084
+ var __metadata = (this && this.__metadata) || function (k, v) {
2085
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2086
+ };
2087
+ var LocalNotification_1;
2088
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2089
+ exports.LocalNotification = exports.LocalNotificationStatus = void 0;
2090
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2091
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2092
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2093
+ const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
2094
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2095
+ const LocalNotificationSource_1 = __webpack_require__(/*! ./LocalNotificationSource */ "./dist/modules/notifications/local/LocalNotificationSource.js");
2096
+ var LocalNotificationStatus;
2097
+ (function (LocalNotificationStatus) {
2098
+ LocalNotificationStatus["Open"] = "Open";
2099
+ LocalNotificationStatus["Sent"] = "Sent";
2100
+ LocalNotificationStatus["Completed"] = "Completed";
2101
+ LocalNotificationStatus["Error"] = "Error";
2102
+ })(LocalNotificationStatus || (exports.LocalNotificationStatus = LocalNotificationStatus = {}));
2103
+ let LocalNotification = LocalNotification_1 = class LocalNotification extends transport_1.CoreSynchronizable {
2104
+ constructor() {
2105
+ super(...arguments);
2106
+ this.technicalProperties = [
2107
+ "@type",
2108
+ "@context",
2109
+ (0, ts_simple_nameof_1.nameof)((r) => r.isOwn),
2110
+ (0, ts_simple_nameof_1.nameof)((r) => r.peer),
2111
+ (0, ts_simple_nameof_1.nameof)((r) => r.createdAt),
2112
+ (0, ts_simple_nameof_1.nameof)((r) => r.receivedByDevice),
2113
+ (0, ts_simple_nameof_1.nameof)((r) => r.status),
2114
+ (0, ts_simple_nameof_1.nameof)((r) => r.source)
2115
+ ];
2116
+ this.userdataProperties = [(0, ts_simple_nameof_1.nameof)((r) => r.content)];
2117
+ }
2118
+ static postFrom(value) {
2119
+ if (!(value instanceof LocalNotification_1)) {
2120
+ throw new ConsumptionError_1.ConsumptionError("this should never happen");
2121
+ }
2122
+ if (value.isOwn && typeof value.receivedByDevice !== "undefined") {
2123
+ 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.`);
2124
+ }
2125
+ if (!value.isOwn && typeof value.receivedByDevice === "undefined") {
2126
+ 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.`);
2127
+ }
2128
+ return value;
2129
+ }
2130
+ static from(value) {
2131
+ return this.fromAny(value);
2132
+ }
2133
+ };
2134
+ exports.LocalNotification = LocalNotification;
2135
+ __decorate([
2136
+ (0, ts_serval_1.serialize)(),
2137
+ (0, ts_serval_1.validate)(),
2138
+ __metadata("design:type", Boolean)
2139
+ ], LocalNotification.prototype, "isOwn", void 0);
2140
+ __decorate([
2141
+ (0, ts_serval_1.serialize)(),
2142
+ (0, ts_serval_1.validate)(),
2143
+ __metadata("design:type", transport_1.CoreAddress)
2144
+ ], LocalNotification.prototype, "peer", void 0);
2145
+ __decorate([
2146
+ (0, ts_serval_1.serialize)(),
2147
+ (0, ts_serval_1.validate)(),
2148
+ __metadata("design:type", transport_1.CoreDate)
2149
+ ], LocalNotification.prototype, "createdAt", void 0);
2150
+ __decorate([
2151
+ (0, ts_serval_1.serialize)(),
2152
+ (0, ts_serval_1.validate)({ nullable: true }),
2153
+ __metadata("design:type", transport_1.CoreId)
2154
+ ], LocalNotification.prototype, "receivedByDevice", void 0);
2155
+ __decorate([
2156
+ (0, ts_serval_1.serialize)(),
2157
+ (0, ts_serval_1.validate)(),
2158
+ __metadata("design:type", content_1.Notification)
2159
+ ], LocalNotification.prototype, "content", void 0);
2160
+ __decorate([
2161
+ (0, ts_serval_1.serialize)(),
2162
+ (0, ts_serval_1.validate)(),
2163
+ __metadata("design:type", String)
2164
+ ], LocalNotification.prototype, "status", void 0);
2165
+ __decorate([
2166
+ (0, ts_serval_1.serialize)(),
2167
+ (0, ts_serval_1.validate)(),
2168
+ __metadata("design:type", LocalNotificationSource_1.LocalNotificationSource)
2169
+ ], LocalNotification.prototype, "source", void 0);
2170
+ exports.LocalNotification = LocalNotification = LocalNotification_1 = __decorate([
2171
+ (0, ts_serval_1.type)("LocalNotification")
2172
+ ], LocalNotification);
2173
+ //# sourceMappingURL=LocalNotification.js.map
2174
+
2175
+ /***/ }),
2176
+
2177
+ /***/ "./dist/modules/notifications/local/LocalNotificationSource.js":
2178
+ /*!*********************************************************************!*\
2179
+ !*** ./dist/modules/notifications/local/LocalNotificationSource.js ***!
2180
+ \*********************************************************************/
2181
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2182
+
2183
+ "use strict";
2184
+
2185
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2186
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2187
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2188
+ 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;
2189
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2190
+ };
2191
+ var __metadata = (this && this.__metadata) || function (k, v) {
2192
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2193
+ };
2194
+ var LocalNotificationSource_1;
2195
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
2196
+ exports.LocalNotificationSource = void 0;
2197
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2198
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2199
+ let LocalNotificationSource = LocalNotificationSource_1 = class LocalNotificationSource extends transport_1.CoreSerializable {
2200
+ static from(value) {
2201
+ return this.fromAny(value);
2202
+ }
2203
+ static message(reference) {
2204
+ return LocalNotificationSource_1.from({
2205
+ type: "Message",
2206
+ reference
2207
+ });
2208
+ }
2209
+ };
2210
+ exports.LocalNotificationSource = LocalNotificationSource;
2211
+ __decorate([
2212
+ (0, ts_serval_1.serialize)(),
2213
+ (0, ts_serval_1.validate)(),
2214
+ __metadata("design:type", String)
2215
+ ], LocalNotificationSource.prototype, "type", void 0);
2216
+ __decorate([
2217
+ (0, ts_serval_1.serialize)(),
2218
+ (0, ts_serval_1.validate)(),
2219
+ __metadata("design:type", transport_1.CoreId)
2220
+ ], LocalNotificationSource.prototype, "reference", void 0);
2221
+ exports.LocalNotificationSource = LocalNotificationSource = LocalNotificationSource_1 = __decorate([
2222
+ (0, ts_serval_1.type)("LocalNotificationSource")
2223
+ ], LocalNotificationSource);
2224
+ //# sourceMappingURL=LocalNotificationSource.js.map
2225
+
2226
+ /***/ }),
2227
+
1801
2228
  /***/ "./dist/modules/requests/events/IncomingRequestReceivedEvent.js":
1802
2229
  /*!**********************************************************************!*\
1803
2230
  !*** ./dist/modules/requests/events/IncomingRequestReceivedEvent.js ***!
@@ -1809,12 +2236,12 @@ __exportStar(__webpack_require__(/*! ./settings */ "./dist/modules/settings/inde
1809
2236
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1810
2237
  exports.IncomingRequestReceivedEvent = void 0;
1811
2238
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1812
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2239
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1813
2240
  class IncomingRequestReceivedEvent extends transport_1.TransportDataEvent {
1814
2241
  constructor(eventTargetAddress, data) {
1815
2242
  super(IncomingRequestReceivedEvent.namespace, eventTargetAddress, data);
1816
2243
  if (data.isOwn)
1817
- throw new consumption_1.ConsumptionError("Cannot create this event for an outgoing Request");
2244
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an outgoing Request");
1818
2245
  }
1819
2246
  }
1820
2247
  exports.IncomingRequestReceivedEvent = IncomingRequestReceivedEvent;
@@ -1834,12 +2261,12 @@ IncomingRequestReceivedEvent.namespace = "consumption.incomingRequestReceived";
1834
2261
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1835
2262
  exports.IncomingRequestStatusChangedEvent = void 0;
1836
2263
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1837
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2264
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1838
2265
  class IncomingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1839
2266
  constructor(eventTargetAddress, data) {
1840
2267
  super(IncomingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1841
2268
  if (data.request.isOwn)
1842
- throw new consumption_1.ConsumptionError("Cannot create this event for an outgoing Request");
2269
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an outgoing Request");
1843
2270
  }
1844
2271
  }
1845
2272
  exports.IncomingRequestStatusChangedEvent = IncomingRequestStatusChangedEvent;
@@ -1859,12 +2286,12 @@ IncomingRequestStatusChangedEvent.namespace = "consumption.incomingRequestStatus
1859
2286
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1860
2287
  exports.OutgoingRequestCreatedAndCompletedEvent = void 0;
1861
2288
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1862
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2289
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1863
2290
  class OutgoingRequestCreatedAndCompletedEvent extends transport_1.TransportDataEvent {
1864
2291
  constructor(eventTargetAddress, data) {
1865
2292
  super(OutgoingRequestCreatedAndCompletedEvent.namespace, eventTargetAddress, data);
1866
2293
  if (!data.isOwn)
1867
- throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
2294
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an incoming Request");
1868
2295
  }
1869
2296
  }
1870
2297
  exports.OutgoingRequestCreatedAndCompletedEvent = OutgoingRequestCreatedAndCompletedEvent;
@@ -1884,12 +2311,12 @@ OutgoingRequestCreatedAndCompletedEvent.namespace = "consumption.outgoingRequest
1884
2311
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1885
2312
  exports.OutgoingRequestCreatedEvent = void 0;
1886
2313
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1887
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2314
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1888
2315
  class OutgoingRequestCreatedEvent extends transport_1.TransportDataEvent {
1889
2316
  constructor(eventTargetAddress, data) {
1890
2317
  super(OutgoingRequestCreatedEvent.namespace, eventTargetAddress, data);
1891
2318
  if (!data.isOwn)
1892
- throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
2319
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an incoming Request");
1893
2320
  }
1894
2321
  }
1895
2322
  exports.OutgoingRequestCreatedEvent = OutgoingRequestCreatedEvent;
@@ -1909,12 +2336,12 @@ OutgoingRequestCreatedEvent.namespace = "consumption.outgoingRequestCreated";
1909
2336
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1910
2337
  exports.OutgoingRequestStatusChangedEvent = void 0;
1911
2338
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1912
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2339
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
1913
2340
  class OutgoingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1914
2341
  constructor(eventTargetAddress, data) {
1915
2342
  super(OutgoingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1916
2343
  if (!data.request.isOwn)
1917
- throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
2344
+ throw new ConsumptionError_1.ConsumptionError("Cannot create this event for an incoming Request");
1918
2345
  }
1919
2346
  }
1920
2347
  exports.OutgoingRequestStatusChangedEvent = OutgoingRequestStatusChangedEvent;
@@ -1967,7 +2394,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1967
2394
  exports.DecideRequestParametersValidator = void 0;
1968
2395
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1969
2396
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1970
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2397
+ const CoreErrors_1 = __webpack_require__(/*! ../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
1971
2398
  const ValidationResult_1 = __webpack_require__(/*! ../itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
1972
2399
  const DecideRequestItemGroupParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemGroupParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js");
1973
2400
  const DecideRequestItemParameters_1 = __webpack_require__(/*! ./decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js");
@@ -1977,7 +2404,7 @@ class DecideRequestParametersValidator {
1977
2404
  throw new Error("The response is invalid because the id of the Request does not match the id of the Response.");
1978
2405
  }
1979
2406
  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"));
2407
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));
1981
2408
  }
1982
2409
  const validationResults = request.content.items.map((requestItem, index) => this.checkItemOrGroup(requestItem, params.items[index], params.accept));
1983
2410
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -1990,29 +2417,29 @@ class DecideRequestParametersValidator {
1990
2417
  }
1991
2418
  checkItem(requestItem, response, isParentAccepted) {
1992
2419
  if ((0, DecideRequestItemGroupParameters_1.isDecideRequestItemGroupParametersJSON)(response)) {
1993
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
2420
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
1994
2421
  }
1995
2422
  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."));
2423
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted."));
1997
2424
  }
1998
2425
  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."));
2426
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted."));
2000
2427
  }
2001
2428
  return ValidationResult_1.ValidationResult.success();
2002
2429
  }
2003
2430
  checkItemGroup(requestItemGroup, responseItemGroup, isParentAccepted) {
2004
2431
  if ((0, DecideRequestItemParameters_1.isDecideRequestItemParametersJSON)(responseItemGroup)) {
2005
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
2432
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
2006
2433
  }
2007
2434
  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"));
2435
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));
2009
2436
  }
2010
2437
  const isGroupAccepted = responseItemGroup.items.some((value) => value.accept);
2011
2438
  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."));
2439
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));
2013
2440
  }
2014
2441
  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."));
2442
+ 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
2443
  }
2017
2444
  const validationResults = requestItemGroup.items.map((requestItem, index) => this.checkItem(requestItem, responseItemGroup.items[index], isGroupAccepted));
2018
2445
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -2036,21 +2463,25 @@ exports.IncomingRequestsController = void 0;
2036
2463
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
2037
2464
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2038
2465
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
2039
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2466
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
2467
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
2468
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2469
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
2470
+ const CoreErrors_1 = __webpack_require__(/*! ../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
2040
2471
  const events_1 = __webpack_require__(/*! ../events */ "./dist/modules/requests/events/index.js");
2041
2472
  const ValidationResult_1 = __webpack_require__(/*! ../itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
2042
2473
  const LocalRequest_1 = __webpack_require__(/*! ../local/LocalRequest */ "./dist/modules/requests/local/LocalRequest.js");
2043
2474
  const LocalRequestStatus_1 = __webpack_require__(/*! ../local/LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js");
2044
2475
  const LocalResponse_1 = __webpack_require__(/*! ../local/LocalResponse */ "./dist/modules/requests/local/LocalResponse.js");
2476
+ const DecideRequestParametersValidator_1 = __webpack_require__(/*! ./DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js");
2045
2477
  const CheckPrerequisitesOfIncomingRequestParameters_1 = __webpack_require__(/*! ./checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters */ "./dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js");
2046
2478
  const CompleteIncomingRequestParameters_1 = __webpack_require__(/*! ./complete/CompleteIncomingRequestParameters */ "./dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js");
2047
2479
  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
2480
  const ReceivedIncomingRequestParameters_1 = __webpack_require__(/*! ./received/ReceivedIncomingRequestParameters */ "./dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js");
2050
2481
  const RequireManualDecisionOfIncomingRequestParameters_1 = __webpack_require__(/*! ./requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js");
2051
- class IncomingRequestsController extends consumption_1.ConsumptionBaseController {
2482
+ class IncomingRequestsController extends ConsumptionBaseController_1.ConsumptionBaseController {
2052
2483
  constructor(localRequests, processorRegistry, parent, eventBus, identity) {
2053
- super(consumption_1.ConsumptionControllerName.RequestsController, parent);
2484
+ super(ConsumptionControllerName_1.ConsumptionControllerName.RequestsController, parent);
2054
2485
  this.localRequests = localRequests;
2055
2486
  this.processorRegistry = processorRegistry;
2056
2487
  this.eventBus = eventBus;
@@ -2061,7 +2492,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2061
2492
  const parsedParams = ReceivedIncomingRequestParameters_1.ReceivedIncomingRequestParameters.from(params);
2062
2493
  const infoFromSource = this.extractInfoFromSource(parsedParams.requestSourceObject);
2063
2494
  const request = LocalRequest_1.LocalRequest.from({
2064
- id: parsedParams.receivedRequest.id ?? (await consumption_1.ConsumptionIds.request.generate()),
2495
+ id: parsedParams.receivedRequest.id ?? (await ConsumptionIds_1.ConsumptionIds.request.generate()),
2065
2496
  createdAt: transport_1.CoreDate.utc(),
2066
2497
  status: LocalRequestStatus_1.LocalRequestStatus.Open,
2067
2498
  content: parsedParams.receivedRequest,
@@ -2082,7 +2513,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2082
2513
  }
2083
2514
  extractInfoFromMessage(message) {
2084
2515
  if (message.isOwn)
2085
- throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Message");
2516
+ throw new ConsumptionError_1.ConsumptionError("Cannot create incoming Request from own Message");
2086
2517
  return {
2087
2518
  peer: message.cache.createdBy,
2088
2519
  source: {
@@ -2093,7 +2524,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2093
2524
  }
2094
2525
  extractInfoFromRelationshipTemplate(template) {
2095
2526
  if (template.isOwn)
2096
- throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Relationship Template");
2527
+ throw new ConsumptionError_1.ConsumptionError("Cannot create incoming Request from own Relationship Template");
2097
2528
  return {
2098
2529
  peer: template.cache.createdBy,
2099
2530
  source: {
@@ -2192,22 +2623,22 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2192
2623
  }
2193
2624
  catch (e) {
2194
2625
  if (e instanceof ts_serval_1.ServalError) {
2195
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e));
2626
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e));
2196
2627
  }
2197
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2628
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2198
2629
  }
2199
2630
  }
2200
2631
  async accept(params) {
2201
2632
  const canAccept = await this.canAccept(params);
2202
2633
  if (!canAccept.isSuccess()) {
2203
- throw new consumption_1.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
2634
+ throw new ConsumptionError_1.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
2204
2635
  }
2205
2636
  return await this.decide({ ...params, accept: true });
2206
2637
  }
2207
2638
  async reject(params) {
2208
2639
  const canReject = await this.canReject(params);
2209
2640
  if (!canReject.isSuccess()) {
2210
- throw new consumption_1.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
2641
+ throw new ConsumptionError_1.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
2211
2642
  }
2212
2643
  return await this.decide({ ...params, accept: false });
2213
2644
  }
@@ -2272,14 +2703,14 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2272
2703
  if (e instanceof Error) {
2273
2704
  details = ` Details: ${e.message}`;
2274
2705
  }
2275
- throw new consumption_1.ConsumptionError(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
2706
+ throw new ConsumptionError_1.ConsumptionError(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
2276
2707
  }
2277
2708
  }
2278
2709
  async complete(params) {
2279
2710
  const parsedParams = CompleteIncomingRequestParameters_1.CompleteIncomingRequestParameters.from(params);
2280
2711
  const request = await this.getOrThrow(parsedParams.requestId);
2281
2712
  if (request.isOwn) {
2282
- throw new consumption_1.ConsumptionError("Cannot decide own Request");
2713
+ throw new ConsumptionError_1.ConsumptionError("Cannot decide own Request");
2283
2714
  }
2284
2715
  this.assertRequestStatus(request, LocalRequestStatus_1.LocalRequestStatus.Decided);
2285
2716
  const requestIsRejected = request.response.content.result === content_1.ResponseResult.Rejected;
@@ -2291,7 +2722,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2291
2722
  });
2292
2723
  }
2293
2724
  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");
2725
+ 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
2726
  }
2296
2727
  request.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Completed);
2297
2728
  await this.update(request);
@@ -2333,7 +2764,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2333
2764
  }
2334
2765
  assertRequestStatus(request, ...status) {
2335
2766
  if (!status.includes(request.status)) {
2336
- throw new consumption_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
2767
+ throw new ConsumptionError_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
2337
2768
  }
2338
2769
  }
2339
2770
  async updateRequestExpiry(request) {
@@ -2374,15 +2805,15 @@ let CheckPrerequisitesOfIncomingRequestParameters = class CheckPrerequisitesOfIn
2374
2805
  return this.fromAny(value);
2375
2806
  }
2376
2807
  };
2808
+ exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters;
2377
2809
  __decorate([
2378
2810
  (0, ts_serval_1.serialize)(),
2379
2811
  (0, ts_serval_1.validate)(),
2380
2812
  __metadata("design:type", transport_1.CoreId)
2381
2813
  ], CheckPrerequisitesOfIncomingRequestParameters.prototype, "requestId", void 0);
2382
- CheckPrerequisitesOfIncomingRequestParameters = __decorate([
2814
+ exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters = __decorate([
2383
2815
  (0, ts_serval_1.type)("CheckPrerequisitesOfIncomingRequestParameters")
2384
2816
  ], CheckPrerequisitesOfIncomingRequestParameters);
2385
- exports.CheckPrerequisitesOfIncomingRequestParameters = CheckPrerequisitesOfIncomingRequestParameters;
2386
2817
  //# sourceMappingURL=CheckPrerequisitesOfIncomingRequestParameters.js.map
2387
2818
 
2388
2819
  /***/ }),
@@ -2413,6 +2844,7 @@ class CompleteIncomingRequestParameters extends ts_serval_1.Serializable {
2413
2844
  return this.fromAny(value);
2414
2845
  }
2415
2846
  }
2847
+ exports.CompleteIncomingRequestParameters = CompleteIncomingRequestParameters;
2416
2848
  __decorate([
2417
2849
  (0, ts_serval_1.serialize)(),
2418
2850
  (0, ts_serval_1.validate)(),
@@ -2423,7 +2855,6 @@ __decorate([
2423
2855
  (0, ts_serval_1.validate)({ nullable: true }),
2424
2856
  __metadata("design:type", Object)
2425
2857
  ], CompleteIncomingRequestParameters.prototype, "responseSourceObject", void 0);
2426
- exports.CompleteIncomingRequestParameters = CompleteIncomingRequestParameters;
2427
2858
  //# sourceMappingURL=CompleteIncomingRequestParameters.js.map
2428
2859
 
2429
2860
  /***/ }),
@@ -2516,6 +2947,7 @@ let InternalDecideRequestParameters = class InternalDecideRequestParameters exte
2516
2947
  return this.fromAny(value);
2517
2948
  }
2518
2949
  };
2950
+ exports.InternalDecideRequestParameters = InternalDecideRequestParameters;
2519
2951
  __decorate([
2520
2952
  (0, ts_serval_1.serialize)(),
2521
2953
  (0, ts_serval_1.validate)(),
@@ -2531,10 +2963,9 @@ __decorate([
2531
2963
  (0, ts_serval_1.validate)(),
2532
2964
  __metadata("design:type", Boolean)
2533
2965
  ], InternalDecideRequestParameters.prototype, "accept", void 0);
2534
- InternalDecideRequestParameters = __decorate([
2966
+ exports.InternalDecideRequestParameters = InternalDecideRequestParameters = __decorate([
2535
2967
  (0, ts_serval_1.type)("InternalDecideRequestParameters")
2536
2968
  ], InternalDecideRequestParameters);
2537
- exports.InternalDecideRequestParameters = InternalDecideRequestParameters;
2538
2969
  //# sourceMappingURL=InternalDecideRequestParameters.js.map
2539
2970
 
2540
2971
  /***/ }),
@@ -2579,6 +3010,7 @@ let ReceivedIncomingRequestParameters = class ReceivedIncomingRequestParameters
2579
3010
  return this.fromAny(value);
2580
3011
  }
2581
3012
  };
3013
+ exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters;
2582
3014
  __decorate([
2583
3015
  (0, ts_serval_1.serialize)(),
2584
3016
  (0, ts_serval_1.validate)(),
@@ -2589,10 +3021,9 @@ __decorate([
2589
3021
  (0, ts_serval_1.validate)(),
2590
3022
  __metadata("design:type", Object)
2591
3023
  ], ReceivedIncomingRequestParameters.prototype, "requestSourceObject", void 0);
2592
- ReceivedIncomingRequestParameters = __decorate([
3024
+ exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters = __decorate([
2593
3025
  (0, ts_serval_1.type)("ReceivedIncomingRequestParameters")
2594
3026
  ], ReceivedIncomingRequestParameters);
2595
- exports.ReceivedIncomingRequestParameters = ReceivedIncomingRequestParameters;
2596
3027
  //# sourceMappingURL=ReceivedIncomingRequestParameters.js.map
2597
3028
 
2598
3029
  /***/ }),
@@ -2623,12 +3054,12 @@ class RequireManualDecisionOfIncomingRequestParameters extends ts_serval_1.Seria
2623
3054
  return this.fromAny(value);
2624
3055
  }
2625
3056
  }
3057
+ exports.RequireManualDecisionOfIncomingRequestParameters = RequireManualDecisionOfIncomingRequestParameters;
2626
3058
  __decorate([
2627
3059
  (0, ts_serval_1.serialize)(),
2628
3060
  (0, ts_serval_1.validate)(),
2629
3061
  __metadata("design:type", transport_1.CoreId)
2630
3062
  ], RequireManualDecisionOfIncomingRequestParameters.prototype, "requestId", void 0);
2631
- exports.RequireManualDecisionOfIncomingRequestParameters = RequireManualDecisionOfIncomingRequestParameters;
2632
3063
  //# sourceMappingURL=RequireManualDecisionOfIncomingRequestParameters.js.map
2633
3064
 
2634
3065
  /***/ }),
@@ -2657,6 +3088,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
2657
3088
  };
2658
3089
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2659
3090
  __exportStar(__webpack_require__(/*! ./events */ "./dist/modules/requests/events/index.js"), exports);
3091
+ __exportStar(__webpack_require__(/*! ./incoming/DecideRequestParametersValidator */ "./dist/modules/requests/incoming/DecideRequestParametersValidator.js"), exports);
3092
+ __exportStar(__webpack_require__(/*! ./incoming/IncomingRequestsController */ "./dist/modules/requests/incoming/IncomingRequestsController.js"), exports);
2660
3093
  __exportStar(__webpack_require__(/*! ./incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters */ "./dist/modules/requests/incoming/checkPrerequisites/CheckPrerequisitesOfIncomingRequestParameters.js"), exports);
2661
3094
  __exportStar(__webpack_require__(/*! ./incoming/complete/CompleteIncomingRequestParameters */ "./dist/modules/requests/incoming/complete/CompleteIncomingRequestParameters.js"), exports);
2662
3095
  __exportStar(__webpack_require__(/*! ./incoming/decide/AcceptRequestItemParameters */ "./dist/modules/requests/incoming/decide/AcceptRequestItemParameters.js"), exports);
@@ -2664,34 +3097,32 @@ __exportStar(__webpack_require__(/*! ./incoming/decide/DecideRequestItemGroupPar
2664
3097
  __exportStar(__webpack_require__(/*! ./incoming/decide/DecideRequestItemParameters */ "./dist/modules/requests/incoming/decide/DecideRequestItemParameters.js"), exports);
2665
3098
  __exportStar(__webpack_require__(/*! ./incoming/decide/DecideRequestParameters */ "./dist/modules/requests/incoming/decide/DecideRequestParameters.js"), exports);
2666
3099
  __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
3100
  __exportStar(__webpack_require__(/*! ./incoming/received/ReceivedIncomingRequestParameters */ "./dist/modules/requests/incoming/received/ReceivedIncomingRequestParameters.js"), exports);
2670
3101
  __exportStar(__webpack_require__(/*! ./incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js"), exports);
2671
3102
  __exportStar(__webpack_require__(/*! ./itemProcessors/AbstractRequestItemProcessor */ "./dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js"), exports);
3103
+ __exportStar(__webpack_require__(/*! ./itemProcessors/GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js"), exports);
3104
+ __exportStar(__webpack_require__(/*! ./itemProcessors/IRequestItemProcessor */ "./dist/modules/requests/itemProcessors/IRequestItemProcessor.js"), exports);
3105
+ __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemConstructor */ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js"), exports);
3106
+ __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemProcessorConstructor */ "./dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js"), exports);
3107
+ __exportStar(__webpack_require__(/*! ./itemProcessors/RequestItemProcessorRegistry */ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js"), exports);
3108
+ __exportStar(__webpack_require__(/*! ./itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js"), exports);
2672
3109
  __exportStar(__webpack_require__(/*! ./itemProcessors/createAttribute/CreateAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js"), exports);
2673
3110
  __exportStar(__webpack_require__(/*! ./itemProcessors/freeText/AcceptFreeTextRequestItemParameters */ "./dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js"), exports);
2674
3111
  __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
3112
  __exportStar(__webpack_require__(/*! ./itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js"), exports);
2679
3113
  __exportStar(__webpack_require__(/*! ./itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js"), exports);
2680
3114
  __exportStar(__webpack_require__(/*! ./itemProcessors/readAttribute/ReadAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js"), exports);
2681
3115
  __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
3116
  __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
3117
  __exportStar(__webpack_require__(/*! ./local/LocalRequest */ "./dist/modules/requests/local/LocalRequest.js"), exports);
2687
3118
  __exportStar(__webpack_require__(/*! ./local/LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js"), exports);
2688
3119
  __exportStar(__webpack_require__(/*! ./local/LocalRequestStatusLogEntry */ "./dist/modules/requests/local/LocalRequestStatusLogEntry.js"), exports);
2689
3120
  __exportStar(__webpack_require__(/*! ./local/LocalResponse */ "./dist/modules/requests/local/LocalResponse.js"), exports);
3121
+ __exportStar(__webpack_require__(/*! ./outgoing/OutgoingRequestsController */ "./dist/modules/requests/outgoing/OutgoingRequestsController.js"), exports);
2690
3122
  __exportStar(__webpack_require__(/*! ./outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters */ "./dist/modules/requests/outgoing/completeOutgoingRequest/CompleteOutgoingRequestParameters.js"), exports);
2691
3123
  __exportStar(__webpack_require__(/*! ./outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters */ "./dist/modules/requests/outgoing/createAndCompleteFromRelationshipTemplateResponse/CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js"), exports);
2692
3124
  __exportStar(__webpack_require__(/*! ./outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js"), exports);
2693
3125
  __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
3126
  __exportStar(__webpack_require__(/*! ./outgoing/sentOutgoingRequest/SentOutgoingRequestParameters */ "./dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js"), exports);
2696
3127
  //# sourceMappingURL=index.js.map
2697
3128
 
@@ -2777,29 +3208,29 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2777
3208
 
2778
3209
  /***/ }),
2779
3210
 
2780
- /***/ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js":
2781
- /*!**********************************************************************!*\
2782
- !*** ./dist/modules/requests/itemProcessors/ProcessorConstructor.js ***!
2783
- \**********************************************************************/
3211
+ /***/ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js":
3212
+ /*!************************************************************************!*\
3213
+ !*** ./dist/modules/requests/itemProcessors/RequestItemConstructor.js ***!
3214
+ \************************************************************************/
2784
3215
  /***/ ((__unused_webpack_module, exports) => {
2785
3216
 
2786
3217
  "use strict";
2787
3218
 
2788
3219
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2789
- //# sourceMappingURL=ProcessorConstructor.js.map
3220
+ //# sourceMappingURL=RequestItemConstructor.js.map
2790
3221
 
2791
3222
  /***/ }),
2792
3223
 
2793
- /***/ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js":
2794
- /*!************************************************************************!*\
2795
- !*** ./dist/modules/requests/itemProcessors/RequestItemConstructor.js ***!
2796
- \************************************************************************/
3224
+ /***/ "./dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js":
3225
+ /*!*********************************************************************************!*\
3226
+ !*** ./dist/modules/requests/itemProcessors/RequestItemProcessorConstructor.js ***!
3227
+ \*********************************************************************************/
2797
3228
  /***/ ((__unused_webpack_module, exports) => {
2798
3229
 
2799
3230
  "use strict";
2800
3231
 
2801
3232
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2802
- //# sourceMappingURL=RequestItemConstructor.js.map
3233
+ //# sourceMappingURL=RequestItemProcessorConstructor.js.map
2803
3234
 
2804
3235
  /***/ }),
2805
3236
 
@@ -2813,7 +3244,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2813
3244
 
2814
3245
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2815
3246
  exports.RequestItemProcessorRegistry = void 0;
2816
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
3247
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
2817
3248
  class RequestItemProcessorRegistry {
2818
3249
  constructor(consumptionController, processors = new Map()) {
2819
3250
  this.consumptionController = consumptionController;
@@ -2821,7 +3252,7 @@ class RequestItemProcessorRegistry {
2821
3252
  }
2822
3253
  registerProcessor(itemConstructor, processorConstructor) {
2823
3254
  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.`);
3255
+ throw new ConsumptionError_1.ConsumptionError(`There is already a processor registered for '${itemConstructor.name}'. Use 'replaceProcessorForType' if you want to replace it.`);
2825
3256
  }
2826
3257
  this.processors.set(itemConstructor, processorConstructor);
2827
3258
  }
@@ -2831,7 +3262,7 @@ class RequestItemProcessorRegistry {
2831
3262
  getProcessorForItem(item) {
2832
3263
  const constructor = this.processors.get(item.constructor);
2833
3264
  if (!constructor) {
2834
- throw new consumption_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
3265
+ throw new ConsumptionError_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
2835
3266
  }
2836
3267
  return new constructor(this.consumptionController);
2837
3268
  }
@@ -2903,7 +3334,7 @@ exports.ErrorValidationResult = ErrorValidationResult;
2903
3334
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2904
3335
  exports.CreateAttributeRequestItemProcessor = void 0;
2905
3336
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
2906
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3337
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
2907
3338
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
2908
3339
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
2909
3340
  class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
@@ -2913,17 +3344,17 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
2913
3344
  const ownerIsEmptyString = requestItem.attribute.owner.toString() === "";
2914
3345
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
2915
3346
  if (senderIsAttributeOwner) {
2916
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
3347
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
2917
3348
  }
2918
3349
  if (recipientIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2919
3350
  return ValidationResult_1.ValidationResult.success();
2920
3351
  }
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."));
3352
+ 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
3353
  }
2923
3354
  if (recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2924
3355
  return ValidationResult_1.ValidationResult.success();
2925
3356
  }
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."));
3357
+ 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
3358
  }
2928
3359
  async accept(requestItem, _params, requestInfo) {
2929
3360
  if (requestItem.attribute.owner.toString() === "") {
@@ -2997,15 +3428,15 @@ let AcceptFreeTextRequestItemParameters = class AcceptFreeTextRequestItemParamet
2997
3428
  return this.fromAny(value);
2998
3429
  }
2999
3430
  };
3431
+ exports.AcceptFreeTextRequestItemParameters = AcceptFreeTextRequestItemParameters;
3000
3432
  __decorate([
3001
3433
  (0, ts_serval_1.serialize)(),
3002
3434
  (0, ts_serval_1.validate)(),
3003
3435
  __metadata("design:type", String)
3004
3436
  ], AcceptFreeTextRequestItemParameters.prototype, "freeText", void 0);
3005
- AcceptFreeTextRequestItemParameters = __decorate([
3437
+ exports.AcceptFreeTextRequestItemParameters = AcceptFreeTextRequestItemParameters = __decorate([
3006
3438
  (0, ts_serval_1.type)("FreeTextRequestItemParameters")
3007
3439
  ], AcceptFreeTextRequestItemParameters);
3008
- exports.AcceptFreeTextRequestItemParameters = AcceptFreeTextRequestItemParameters;
3009
3440
  //# sourceMappingURL=AcceptFreeTextRequestItemParameters.js.map
3010
3441
 
3011
3442
  /***/ }),
@@ -3024,7 +3455,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3024
3455
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3025
3456
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3026
3457
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3027
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3458
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3028
3459
  const AcceptFreeTextRequestItemParameters_1 = __webpack_require__(/*! ./AcceptFreeTextRequestItemParameters */ "./dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js");
3029
3460
  class FreeTextRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3030
3461
  canAccept(_requestItem, params) {
@@ -3034,7 +3465,7 @@ class FreeTextRequestItemProcessor extends GenericRequestItemProcessor_1.Generic
3034
3465
  catch (error) {
3035
3466
  if (!(error instanceof ts_serval_1.ParsingError))
3036
3467
  throw error;
3037
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidAcceptParameters());
3468
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters());
3038
3469
  }
3039
3470
  return ValidationResult_1.ValidationResult.success();
3040
3471
  }
@@ -3075,7 +3506,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3075
3506
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3076
3507
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3077
3508
  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");
3509
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
3079
3510
  let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = class AcceptProposeAttributeRequestItemParameters extends ts_serval_1.Serializable {
3080
3511
  isWithExistingAttribute() {
3081
3512
  return this.attributeId !== undefined;
@@ -3088,7 +3519,7 @@ let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestI
3088
3519
  }
3089
3520
  static postFrom(value) {
3090
3521
  if (!(value instanceof AcceptProposeAttributeRequestItemParameters_1)) {
3091
- throw new consumption_1.ConsumptionError("this should never happen");
3522
+ throw new ConsumptionError_1.ConsumptionError("this should never happen");
3092
3523
  }
3093
3524
  if (value.attributeId && value.attribute) {
3094
3525
  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 +3530,7 @@ let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestI
3099
3530
  return value;
3100
3531
  }
3101
3532
  };
3533
+ exports.AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters;
3102
3534
  __decorate([
3103
3535
  (0, ts_serval_1.serialize)(),
3104
3536
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -3109,10 +3541,9 @@ __decorate([
3109
3541
  (0, ts_serval_1.validate)({ nullable: true }),
3110
3542
  __metadata("design:type", Object)
3111
3543
  ], AcceptProposeAttributeRequestItemParameters.prototype, "attribute", void 0);
3112
- AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = __decorate([
3544
+ exports.AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters_1 = __decorate([
3113
3545
  (0, ts_serval_1.type)("AcceptProposeAttributeRequestItemParameters")
3114
3546
  ], AcceptProposeAttributeRequestItemParameters);
3115
- exports.AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestItemParameters;
3116
3547
  //# sourceMappingURL=AcceptProposeAttributeRequestItemParameters.js.map
3117
3548
 
3118
3549
  /***/ }),
@@ -3132,11 +3563,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3132
3563
  exports.ProposeAttributeRequestItemProcessor = void 0;
3133
3564
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3134
3565
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3135
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3566
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3136
3567
  const LocalAttribute_1 = __webpack_require__(/*! ../../../attributes/local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js");
3137
3568
  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
3569
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3570
+ const validateQuery_1 = __importDefault(__webpack_require__(/*! ../utility/validateQuery */ "./dist/modules/requests/itemProcessors/utility/validateQuery.js"));
3140
3571
  const AcceptProposeAttributeRequestItemParameters_1 = __webpack_require__(/*! ./AcceptProposeAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js");
3141
3572
  class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3142
3573
  canCreateOutgoingRequestItem(requestItem, _request, recipient) {
@@ -3152,7 +3583,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3152
3583
  }
3153
3584
  validateAttribute(attribute) {
3154
3585
  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."));
3586
+ 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
3587
  }
3157
3588
  return ValidationResult_1.ValidationResult.success();
3158
3589
  }
@@ -3162,7 +3593,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3162
3593
  return commonQueryValidationResult;
3163
3594
  }
3164
3595
  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."));
3596
+ 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
3597
  }
3167
3598
  return ValidationResult_1.ValidationResult.success();
3168
3599
  }
@@ -3179,7 +3610,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3179
3610
  const ownerIsEmpty = attribute.owner.equals("");
3180
3611
  const ownerIsCurrentIdentity = attribute.owner.equals(this.currentIdentityAddress);
3181
3612
  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."));
3613
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3183
3614
  }
3184
3615
  return ValidationResult_1.ValidationResult.success();
3185
3616
  }
@@ -3263,7 +3694,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3263
3694
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3264
3695
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3265
3696
  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");
3697
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
3267
3698
  let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
3268
3699
  isWithExistingAttribute() {
3269
3700
  return this.existingAttributeId !== undefined;
@@ -3276,7 +3707,7 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
3276
3707
  }
3277
3708
  static postFrom(value) {
3278
3709
  if (!(value instanceof AcceptReadAttributeRequestItemParameters_1)) {
3279
- throw new consumption_1.ConsumptionError("this should never happen");
3710
+ throw new ConsumptionError_1.ConsumptionError("this should never happen");
3280
3711
  }
3281
3712
  if (value.existingAttributeId && value.newAttribute) {
3282
3713
  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 +3718,7 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
3287
3718
  return value;
3288
3719
  }
3289
3720
  };
3721
+ exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters;
3290
3722
  __decorate([
3291
3723
  (0, ts_serval_1.serialize)(),
3292
3724
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -3297,10 +3729,9 @@ __decorate([
3297
3729
  (0, ts_serval_1.validate)({ nullable: true }),
3298
3730
  __metadata("design:type", Object)
3299
3731
  ], AcceptReadAttributeRequestItemParameters.prototype, "newAttribute", void 0);
3300
- AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
3732
+ exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
3301
3733
  (0, ts_serval_1.type)("AcceptReadAttributeRequestItemParameters")
3302
3734
  ], AcceptReadAttributeRequestItemParameters);
3303
- exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters;
3304
3735
  //# sourceMappingURL=AcceptReadAttributeRequestItemParameters.js.map
3305
3736
 
3306
3737
  /***/ }),
@@ -3320,11 +3751,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3320
3751
  exports.ReadAttributeRequestItemProcessor = void 0;
3321
3752
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3322
3753
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3323
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3754
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3324
3755
  const LocalAttribute_1 = __webpack_require__(/*! ../../../attributes/local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js");
3325
3756
  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
3757
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3758
+ const validateQuery_1 = __importDefault(__webpack_require__(/*! ../utility/validateQuery */ "./dist/modules/requests/itemProcessors/utility/validateQuery.js"));
3328
3759
  const AcceptReadAttributeRequestItemParameters_1 = __webpack_require__(/*! ./AcceptReadAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js");
3329
3760
  class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3330
3761
  canCreateOutgoingRequestItem(requestItem, _request, recipient) {
@@ -3343,7 +3774,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
3343
3774
  }
3344
3775
  const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
3345
3776
  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."));
3777
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3347
3778
  }
3348
3779
  }
3349
3780
  return ValidationResult_1.ValidationResult.success();
@@ -3448,21 +3879,21 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3448
3879
  exports.ShareAttributeRequestItemProcessor = void 0;
3449
3880
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3450
3881
  const lodash_1 = __importDefault(__webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"));
3451
- const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3882
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3452
3883
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3453
3884
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3454
3885
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3455
3886
  async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
3456
3887
  const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.sourceAttributeId);
3457
3888
  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.`));
3889
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' could not be found.`));
3459
3890
  }
3460
3891
  const requestItemAttributeJSON = requestItem.attribute.toJSON();
3461
3892
  if (requestItemAttributeJSON.owner === "") {
3462
3893
  requestItemAttributeJSON.owner = this.currentIdentityAddress.toString();
3463
3894
  }
3464
3895
  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.`));
3896
+ 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
3897
  }
3467
3898
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
3468
3899
  return this.canCreateWithIdentityAttribute(requestItem);
@@ -3473,16 +3904,16 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
3473
3904
  const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
3474
3905
  const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
3475
3906
  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."));
3907
+ 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
3908
  }
3478
3909
  return ValidationResult_1.ValidationResult.success();
3479
3910
  }
3480
3911
  canCreateWithRelationshipAttribute(attribute, recipient) {
3481
3912
  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."));
3913
+ 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
3914
  }
3484
3915
  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."));
3916
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
3486
3917
  }
3487
3918
  return ValidationResult_1.ValidationResult.success();
3488
3919
  }
@@ -3528,7 +3959,7 @@ exports.ShareAttributeRequestItemProcessor = ShareAttributeRequestItemProcessor;
3528
3959
  Object.defineProperty(exports, "__esModule", ({ value: true }));
3529
3960
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3530
3961
  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");
3962
+ const CoreErrors_1 = __webpack_require__(/*! ../../../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
3532
3963
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3533
3964
  function validateQuery(query, sender, recipient) {
3534
3965
  if (query instanceof content_1.ThirdPartyRelationshipAttributeQuery) {
@@ -3538,13 +3969,13 @@ function validateQuery(query, sender, recipient) {
3538
3969
  return result;
3539
3970
  }
3540
3971
  if (query.owner.equals(sender)) {
3541
- return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
3972
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
3542
3973
  }
3543
3974
  }
3544
3975
  else if (query instanceof content_1.IQLQuery) {
3545
3976
  const validationResult = (0, iql_1.validate)(query.queryString);
3546
3977
  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}`));
3978
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem(`IQL query syntax error at character ${validationResult.error.location.start.column}`));
3548
3979
  }
3549
3980
  }
3550
3981
  return ValidationResult_1.ValidationResult.success();
@@ -3552,10 +3983,10 @@ function validateQuery(query, sender, recipient) {
3552
3983
  exports["default"] = validateQuery;
3553
3984
  function validateThirdParty(thirdParty, sender, recipient) {
3554
3985
  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."));
3986
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
3556
3987
  }
3557
3988
  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."));
3989
+ return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
3559
3990
  }
3560
3991
  return ValidationResult_1.ValidationResult.success();
3561
3992
  }
@@ -3586,7 +4017,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3586
4017
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3587
4018
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3588
4019
  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");
4020
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
3590
4021
  const LocalRequestStatus_1 = __webpack_require__(/*! ./LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js");
3591
4022
  const LocalRequestStatusLogEntry_1 = __webpack_require__(/*! ./LocalRequestStatusLogEntry */ "./dist/modules/requests/local/LocalRequestStatusLogEntry.js");
3592
4023
  const LocalResponse_1 = __webpack_require__(/*! ./LocalResponse */ "./dist/modules/requests/local/LocalResponse.js");
@@ -3595,6 +4026,7 @@ let LocalRequestSource = class LocalRequestSource extends transport_1.CoreSerial
3595
4026
  return this.fromAny(value);
3596
4027
  }
3597
4028
  };
4029
+ exports.LocalRequestSource = LocalRequestSource;
3598
4030
  __decorate([
3599
4031
  (0, ts_serval_1.serialize)(),
3600
4032
  (0, ts_serval_1.validate)(),
@@ -3605,10 +4037,9 @@ __decorate([
3605
4037
  (0, ts_serval_1.validate)(),
3606
4038
  __metadata("design:type", transport_1.CoreId)
3607
4039
  ], LocalRequestSource.prototype, "reference", void 0);
3608
- LocalRequestSource = __decorate([
4040
+ exports.LocalRequestSource = LocalRequestSource = __decorate([
3609
4041
  (0, ts_serval_1.type)("LocalRequestSource")
3610
4042
  ], LocalRequestSource);
3611
- exports.LocalRequestSource = LocalRequestSource;
3612
4043
  let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3613
4044
  constructor() {
3614
4045
  super(...arguments);
@@ -3629,7 +4060,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3629
4060
  }
3630
4061
  changeStatus(newStatus) {
3631
4062
  if (this.status === newStatus)
3632
- throw new consumption_1.ConsumptionError("cannot change status to the same status");
4063
+ throw new ConsumptionError_1.ConsumptionError("cannot change status to the same status");
3633
4064
  const logEntry = LocalRequestStatusLogEntry_1.LocalRequestStatusLogEntry.from({
3634
4065
  createdAt: transport_1.CoreDate.utc(),
3635
4066
  oldStatus: this.status,
@@ -3640,7 +4071,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3640
4071
  }
3641
4072
  sent(source) {
3642
4073
  if (this.status !== LocalRequestStatus_1.LocalRequestStatus.Draft) {
3643
- throw new consumption_1.ConsumptionError("Local Request has to be in status 'Draft'.");
4074
+ throw new ConsumptionError_1.ConsumptionError("Local Request has to be in status 'Draft'.");
3644
4075
  }
3645
4076
  this.source = source;
3646
4077
  this.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Open);
@@ -3663,6 +4094,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3663
4094
  return false;
3664
4095
  }
3665
4096
  };
4097
+ exports.LocalRequest = LocalRequest;
3666
4098
  __decorate([
3667
4099
  (0, ts_serval_1.serialize)(),
3668
4100
  (0, ts_serval_1.validate)(),
@@ -3703,10 +4135,9 @@ __decorate([
3703
4135
  (0, ts_serval_1.validate)(),
3704
4136
  __metadata("design:type", Array)
3705
4137
  ], LocalRequest.prototype, "statusLog", void 0);
3706
- LocalRequest = __decorate([
4138
+ exports.LocalRequest = LocalRequest = __decorate([
3707
4139
  (0, ts_serval_1.type)("LocalRequest")
3708
4140
  ], LocalRequest);
3709
- exports.LocalRequest = LocalRequest;
3710
4141
  //# sourceMappingURL=LocalRequest.js.map
3711
4142
 
3712
4143
  /***/ }),
@@ -3730,7 +4161,7 @@ var LocalRequestStatus;
3730
4161
  LocalRequestStatus["Decided"] = "Decided";
3731
4162
  LocalRequestStatus["Completed"] = "Completed";
3732
4163
  LocalRequestStatus["Expired"] = "Expired";
3733
- })(LocalRequestStatus = exports.LocalRequestStatus || (exports.LocalRequestStatus = {}));
4164
+ })(LocalRequestStatus || (exports.LocalRequestStatus = LocalRequestStatus = {}));
3734
4165
  //# sourceMappingURL=LocalRequestStatus.js.map
3735
4166
 
3736
4167
  /***/ }),
@@ -3762,6 +4193,7 @@ let LocalRequestStatusLogEntry = class LocalRequestStatusLogEntry extends transp
3762
4193
  return this.fromAny(value);
3763
4194
  }
3764
4195
  };
4196
+ exports.LocalRequestStatusLogEntry = LocalRequestStatusLogEntry;
3765
4197
  __decorate([
3766
4198
  (0, ts_serval_1.serialize)(),
3767
4199
  (0, ts_serval_1.validate)(),
@@ -3787,10 +4219,9 @@ __decorate([
3787
4219
  (0, ts_serval_1.validate)({ nullable: true }),
3788
4220
  __metadata("design:type", String)
3789
4221
  ], LocalRequestStatusLogEntry.prototype, "code", void 0);
3790
- LocalRequestStatusLogEntry = __decorate([
4222
+ exports.LocalRequestStatusLogEntry = LocalRequestStatusLogEntry = __decorate([
3791
4223
  (0, ts_serval_1.type)("LocalRequestStatusLogEntry")
3792
4224
  ], LocalRequestStatusLogEntry);
3793
- exports.LocalRequestStatusLogEntry = LocalRequestStatusLogEntry;
3794
4225
  //# sourceMappingURL=LocalRequestStatusLogEntry.js.map
3795
4226
 
3796
4227
  /***/ }),
@@ -3822,6 +4253,7 @@ let LocalResponseSource = class LocalResponseSource extends transport_1.CoreSeri
3822
4253
  return this.fromAny(value);
3823
4254
  }
3824
4255
  };
4256
+ exports.LocalResponseSource = LocalResponseSource;
3825
4257
  __decorate([
3826
4258
  (0, ts_serval_1.serialize)(),
3827
4259
  (0, ts_serval_1.validate)(),
@@ -3832,15 +4264,15 @@ __decorate([
3832
4264
  (0, ts_serval_1.validate)(),
3833
4265
  __metadata("design:type", transport_1.CoreId)
3834
4266
  ], LocalResponseSource.prototype, "reference", void 0);
3835
- LocalResponseSource = __decorate([
4267
+ exports.LocalResponseSource = LocalResponseSource = __decorate([
3836
4268
  (0, ts_serval_1.type)("LocalResponseSource")
3837
4269
  ], LocalResponseSource);
3838
- exports.LocalResponseSource = LocalResponseSource;
3839
4270
  let LocalResponse = class LocalResponse extends transport_1.CoreSerializable {
3840
4271
  static from(value) {
3841
4272
  return this.fromAny(value);
3842
4273
  }
3843
4274
  };
4275
+ exports.LocalResponse = LocalResponse;
3844
4276
  __decorate([
3845
4277
  (0, ts_serval_1.serialize)(),
3846
4278
  (0, ts_serval_1.validate)(),
@@ -3856,10 +4288,9 @@ __decorate([
3856
4288
  (0, ts_serval_1.validate)({ nullable: true }),
3857
4289
  __metadata("design:type", LocalResponseSource)
3858
4290
  ], LocalResponse.prototype, "source", void 0);
3859
- LocalResponse = __decorate([
4291
+ exports.LocalResponse = LocalResponse = __decorate([
3860
4292
  (0, ts_serval_1.type)("LocalResponse")
3861
4293
  ], LocalResponse);
3862
- exports.LocalResponse = LocalResponse;
3863
4294
  //# sourceMappingURL=LocalResponse.js.map
3864
4295
 
3865
4296
  /***/ }),
@@ -3876,7 +4307,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
3876
4307
  exports.OutgoingRequestsController = void 0;
3877
4308
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3878
4309
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3879
- const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
4310
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
4311
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
4312
+ const ConsumptionError_1 = __webpack_require__(/*! ../../../consumption/ConsumptionError */ "./dist/consumption/ConsumptionError.js");
4313
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
3880
4314
  const events_1 = __webpack_require__(/*! ../events */ "./dist/modules/requests/events/index.js");
3881
4315
  const ValidationResult_1 = __webpack_require__(/*! ../itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3882
4316
  const LocalRequest_1 = __webpack_require__(/*! ../local/LocalRequest */ "./dist/modules/requests/local/LocalRequest.js");
@@ -3887,9 +4321,9 @@ const CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters
3887
4321
  const CanCreateOutgoingRequestParameters_1 = __webpack_require__(/*! ./createOutgoingRequest/CanCreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CanCreateOutgoingRequestParameters.js");
3888
4322
  const CreateOutgoingRequestParameters_1 = __webpack_require__(/*! ./createOutgoingRequest/CreateOutgoingRequestParameters */ "./dist/modules/requests/outgoing/createOutgoingRequest/CreateOutgoingRequestParameters.js");
3889
4323
  const SentOutgoingRequestParameters_1 = __webpack_require__(/*! ./sentOutgoingRequest/SentOutgoingRequestParameters */ "./dist/modules/requests/outgoing/sentOutgoingRequest/SentOutgoingRequestParameters.js");
3890
- class OutgoingRequestsController extends consumption_1.ConsumptionBaseController {
4324
+ class OutgoingRequestsController extends ConsumptionBaseController_1.ConsumptionBaseController {
3891
4325
  constructor(localRequests, processorRegistry, parent, eventBus, identity, relationshipResolver) {
3892
- super(consumption_1.ConsumptionControllerName.RequestsController, parent);
4326
+ super(ConsumptionControllerName_1.ConsumptionControllerName.RequestsController, parent);
3893
4327
  this.localRequests = localRequests;
3894
4328
  this.processorRegistry = processorRegistry;
3895
4329
  this.eventBus = eventBus;
@@ -3931,7 +4365,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3931
4365
  }
3932
4366
  async create(params) {
3933
4367
  const parsedParams = CreateOutgoingRequestParameters_1.CreateOutgoingRequestParameters.from(params);
3934
- const id = await consumption_1.ConsumptionIds.request.generate();
4368
+ const id = await ConsumptionIds_1.ConsumptionIds.request.generate();
3935
4369
  parsedParams.content.id = id;
3936
4370
  const request = await this._create(id, parsedParams.content, parsedParams.peer);
3937
4371
  this.eventBus.publish(new events_1.OutgoingRequestCreatedEvent(this.identity.address.toString(), request));
@@ -3963,7 +4397,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3963
4397
  const requestId = response.requestId;
3964
4398
  const templateContent = parsedParams.template.cache.content;
3965
4399
  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.");
4400
+ throw new ConsumptionError_1.ConsumptionError("The content of the template is not supported as it is not type of RelationshipTemplateContent.");
3967
4401
  }
3968
4402
  const existingRelationship = await this.relationshipResolver.getActiveRelationshipToIdentity(peer);
3969
4403
  const requestContent = existingRelationship
@@ -3999,17 +4433,17 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3999
4433
  getSourceType(sourceObject) {
4000
4434
  if (sourceObject instanceof transport_1.Message) {
4001
4435
  if (!sourceObject.isOwn) {
4002
- throw new consumption_1.ConsumptionError("Cannot create outgoing Request from a peer Message");
4436
+ throw new ConsumptionError_1.ConsumptionError("Cannot create outgoing Request from a peer Message");
4003
4437
  }
4004
4438
  return "Message";
4005
4439
  }
4006
4440
  else if (sourceObject instanceof transport_1.RelationshipTemplate) {
4007
4441
  if (!sourceObject.isOwn) {
4008
- throw new consumption_1.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");
4442
+ throw new ConsumptionError_1.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");
4009
4443
  }
4010
4444
  return "RelationshipTemplate";
4011
4445
  }
4012
- throw new consumption_1.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
4446
+ throw new ConsumptionError_1.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
4013
4447
  }
4014
4448
  async complete(params) {
4015
4449
  const parsedParams = CompleteOutgoingRequestParameters_1.CompleteOutgoingRequestParameters.from(params);
@@ -4028,7 +4462,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
4028
4462
  ? responseSourceObject.cache.createdAt
4029
4463
  : responseSourceObject.request.createdAt;
4030
4464
  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");
4465
+ throw new ConsumptionError_1.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");
4032
4466
  }
4033
4467
  const canComplete = await this.canComplete(request, receivedResponse);
4034
4468
  if (canComplete.isError()) {
@@ -4043,7 +4477,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
4043
4477
  responseSource = "RelationshipChange";
4044
4478
  }
4045
4479
  else {
4046
- throw new consumption_1.ConsumptionError("Invalid responseSourceObject");
4480
+ throw new ConsumptionError_1.ConsumptionError("Invalid responseSourceObject");
4047
4481
  }
4048
4482
  const localResponse = LocalResponse_1.LocalResponse.from({
4049
4483
  content: receivedResponse,
@@ -4134,7 +4568,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
4134
4568
  }
4135
4569
  assertRequestStatus(request, ...status) {
4136
4570
  if (!status.includes(request.status)) {
4137
- throw new consumption_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
4571
+ throw new ConsumptionError_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
4138
4572
  }
4139
4573
  }
4140
4574
  async updateRequestExpiry(request) {
@@ -4176,6 +4610,7 @@ let CompleteOutgoingRequestParameters = class CompleteOutgoingRequestParameters
4176
4610
  return this.fromAny(value);
4177
4611
  }
4178
4612
  };
4613
+ exports.CompleteOutgoingRequestParameters = CompleteOutgoingRequestParameters;
4179
4614
  __decorate([
4180
4615
  (0, ts_serval_1.serialize)(),
4181
4616
  (0, ts_serval_1.validate)(),
@@ -4191,10 +4626,9 @@ __decorate([
4191
4626
  (0, ts_serval_1.validate)(),
4192
4627
  __metadata("design:type", content_1.Response)
4193
4628
  ], CompleteOutgoingRequestParameters.prototype, "receivedResponse", void 0);
4194
- CompleteOutgoingRequestParameters = __decorate([
4629
+ exports.CompleteOutgoingRequestParameters = CompleteOutgoingRequestParameters = __decorate([
4195
4630
  (0, ts_serval_1.type)("CompleteOutgoingRequestParameters")
4196
4631
  ], CompleteOutgoingRequestParameters);
4197
- exports.CompleteOutgoingRequestParameters = CompleteOutgoingRequestParameters;
4198
4632
  //# sourceMappingURL=CompleteOutgoingRequestParameters.js.map
4199
4633
 
4200
4634
  /***/ }),
@@ -4226,6 +4660,7 @@ let CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters =
4226
4660
  return this.fromAny(value);
4227
4661
  }
4228
4662
  };
4663
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters;
4229
4664
  __decorate([
4230
4665
  (0, ts_serval_1.serialize)(),
4231
4666
  (0, ts_serval_1.validate)(),
@@ -4241,10 +4676,9 @@ __decorate([
4241
4676
  (0, ts_serval_1.validate)(),
4242
4677
  __metadata("design:type", content_1.Response)
4243
4678
  ], CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.prototype, "response", void 0);
4244
- CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = __decorate([
4679
+ exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = __decorate([
4245
4680
  (0, ts_serval_1.type)("CreateAndCompleteOutgoingRequestFromRelationshipCreationChangeParameters")
4246
4681
  ], CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters);
4247
- exports.CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters = CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters;
4248
4682
  //# sourceMappingURL=CreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters.js.map
4249
4683
 
4250
4684
  /***/ }),
@@ -4276,6 +4710,7 @@ let CanCreateOutgoingRequestParameters = class CanCreateOutgoingRequestParameter
4276
4710
  return this.fromAny(value);
4277
4711
  }
4278
4712
  };
4713
+ exports.CanCreateOutgoingRequestParameters = CanCreateOutgoingRequestParameters;
4279
4714
  __decorate([
4280
4715
  (0, ts_serval_1.serialize)(),
4281
4716
  (0, ts_serval_1.validate)(),
@@ -4286,10 +4721,9 @@ __decorate([
4286
4721
  (0, ts_serval_1.validate)({ nullable: true }),
4287
4722
  __metadata("design:type", transport_1.CoreAddress)
4288
4723
  ], CanCreateOutgoingRequestParameters.prototype, "peer", void 0);
4289
- CanCreateOutgoingRequestParameters = __decorate([
4724
+ exports.CanCreateOutgoingRequestParameters = CanCreateOutgoingRequestParameters = __decorate([
4290
4725
  (0, ts_serval_1.type)("CanCreateOutgoingRequestParameters")
4291
4726
  ], CanCreateOutgoingRequestParameters);
4292
- exports.CanCreateOutgoingRequestParameters = CanCreateOutgoingRequestParameters;
4293
4727
  //# sourceMappingURL=CanCreateOutgoingRequestParameters.js.map
4294
4728
 
4295
4729
  /***/ }),
@@ -4321,6 +4755,7 @@ let CreateOutgoingRequestParameters = class CreateOutgoingRequestParameters exte
4321
4755
  return this.fromAny(value);
4322
4756
  }
4323
4757
  };
4758
+ exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters;
4324
4759
  __decorate([
4325
4760
  (0, ts_serval_1.serialize)(),
4326
4761
  (0, ts_serval_1.validate)(),
@@ -4331,10 +4766,9 @@ __decorate([
4331
4766
  (0, ts_serval_1.validate)(),
4332
4767
  __metadata("design:type", transport_1.CoreAddress)
4333
4768
  ], CreateOutgoingRequestParameters.prototype, "peer", void 0);
4334
- CreateOutgoingRequestParameters = __decorate([
4769
+ exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters = __decorate([
4335
4770
  (0, ts_serval_1.type)("CreateOutgoingRequestParameters")
4336
4771
  ], CreateOutgoingRequestParameters);
4337
- exports.CreateOutgoingRequestParameters = CreateOutgoingRequestParameters;
4338
4772
  //# sourceMappingURL=CreateOutgoingRequestParameters.js.map
4339
4773
 
4340
4774
  /***/ }),
@@ -4365,6 +4799,7 @@ let SentOutgoingRequestParameters = class SentOutgoingRequestParameters extends
4365
4799
  return this.fromAny(value);
4366
4800
  }
4367
4801
  };
4802
+ exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
4368
4803
  __decorate([
4369
4804
  (0, ts_serval_1.serialize)(),
4370
4805
  (0, ts_serval_1.validate)(),
@@ -4375,10 +4810,9 @@ __decorate([
4375
4810
  (0, ts_serval_1.validate)(),
4376
4811
  __metadata("design:type", transport_1.Message)
4377
4812
  ], SentOutgoingRequestParameters.prototype, "requestSourceObject", void 0);
4378
- SentOutgoingRequestParameters = __decorate([
4813
+ exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters = __decorate([
4379
4814
  (0, ts_serval_1.type)("SentOutgoingRequestParameters")
4380
4815
  ], SentOutgoingRequestParameters);
4381
- exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
4382
4816
  //# sourceMappingURL=SentOutgoingRequestParameters.js.map
4383
4817
 
4384
4818
  /***/ }),
@@ -4404,11 +4838,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
4404
4838
  exports.SettingsController = void 0;
4405
4839
  const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
4406
4840
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
4407
- const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
4841
+ const ConsumptionBaseController_1 = __webpack_require__(/*! ../../consumption/ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js");
4842
+ const ConsumptionControllerName_1 = __webpack_require__(/*! ../../consumption/ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js");
4843
+ const ConsumptionIds_1 = __webpack_require__(/*! ../../consumption/ConsumptionIds */ "./dist/consumption/ConsumptionIds.js");
4408
4844
  const Setting_1 = __webpack_require__(/*! ./local/Setting */ "./dist/modules/settings/local/Setting.js");
4409
- class SettingsController extends consumption_1.ConsumptionBaseController {
4845
+ class SettingsController extends ConsumptionBaseController_1.ConsumptionBaseController {
4410
4846
  constructor(parent) {
4411
- super(consumption_1.ConsumptionControllerName.SettingsController, parent);
4847
+ super(ConsumptionControllerName_1.ConsumptionControllerName.SettingsController, parent);
4412
4848
  }
4413
4849
  async init() {
4414
4850
  await super.init();
@@ -4425,7 +4861,7 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
4425
4861
  }
4426
4862
  async createSetting(parameters) {
4427
4863
  const setting = Setting_1.Setting.from({
4428
- id: await consumption_1.ConsumptionIds.setting.generate(),
4864
+ id: await ConsumptionIds_1.ConsumptionIds.setting.generate(),
4429
4865
  createdAt: transport_1.CoreDate.utc(),
4430
4866
  key: parameters.key,
4431
4867
  scope: parameters.scope ?? Setting_1.SettingScope.Identity,
@@ -4447,13 +4883,13 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
4447
4883
  await this.settings.delete(setting);
4448
4884
  }
4449
4885
  }
4886
+ exports.SettingsController = SettingsController;
4450
4887
  __decorate([
4451
4888
  (0, ts_utils_1.log)(),
4452
4889
  __metadata("design:type", Function),
4453
4890
  __metadata("design:paramtypes", [Setting_1.Setting]),
4454
4891
  __metadata("design:returntype", Promise)
4455
4892
  ], SettingsController.prototype, "updateSetting", null);
4456
- exports.SettingsController = SettingsController;
4457
4893
  //# sourceMappingURL=SettingsController.js.map
4458
4894
 
4459
4895
  /***/ }),
@@ -4528,7 +4964,7 @@ var SettingScope;
4528
4964
  SettingScope["Identity"] = "Identity";
4529
4965
  SettingScope["Device"] = "Device";
4530
4966
  SettingScope["Relationship"] = "Relationship";
4531
- })(SettingScope = exports.SettingScope || (exports.SettingScope = {}));
4967
+ })(SettingScope || (exports.SettingScope = SettingScope = {}));
4532
4968
  let Setting = class Setting extends transport_1.CoreSynchronizable {
4533
4969
  constructor() {
4534
4970
  super(...arguments);
@@ -4552,6 +4988,7 @@ let Setting = class Setting extends transport_1.CoreSynchronizable {
4552
4988
  return this.fromAny(value);
4553
4989
  }
4554
4990
  };
4991
+ exports.Setting = Setting;
4555
4992
  __decorate([
4556
4993
  (0, ts_serval_1.validate)(),
4557
4994
  (0, ts_serval_1.serialize)(),
@@ -4597,10 +5034,9 @@ __decorate([
4597
5034
  (0, ts_serval_1.serialize)(),
4598
5035
  __metadata("design:type", transport_1.CoreDate)
4599
5036
  ], Setting.prototype, "metadataModifiedAt", void 0);
4600
- Setting = __decorate([
5037
+ exports.Setting = Setting = __decorate([
4601
5038
  (0, ts_serval_1.type)("Setting")
4602
5039
  ], Setting);
4603
- exports.Setting = Setting;
4604
5040
  //# sourceMappingURL=Setting.js.map
4605
5041
 
4606
5042
  /***/ }),
@@ -4616,9 +5052,9 @@ exports.Setting = Setting;
4616
5052
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4617
5053
  exports.QueryTranslator = void 0;
4618
5054
  class QueryTranslator {
4619
- static defaultKeyRegex = /^[A-z_@][A-z@0-9-_]*(\.[A-z_@][A-z@0-9-_]*)*$/;
5055
+ static defaultKeyRegex = /^[a-zA-Z_@][a-zA-Z@0-9-_]*(\.[a-zA-Z_@][a-zA-Z@0-9-_]*)*$/;
4620
5056
  static defaultValRegex = undefined;
4621
- static defaultArrRegex = /^[a-zæøå0-9-_.]+(\[])?$/i;
5057
+ static defaultArrRegex = /^[a-zA-Zæøå0-9-_.]+(\[])?$/i;
4622
5058
  ops;
4623
5059
  alias;
4624
5060
  blacklist;
@@ -4733,6 +5169,10 @@ class QueryTranslator {
4733
5169
  }
4734
5170
  const res = {};
4735
5171
  for (let key of Object.keys(query)) {
5172
+ // if the key is __proto__ it could cause a prototype-polluting assignment
5173
+ // see https://codeql.github.com/codeql-query-help/javascript/js-prototype-polluting-assignment/ for more information
5174
+ if (key === "__proto__")
5175
+ continue;
4736
5176
  const val = query[key];
4737
5177
  // Normalize array keys
4738
5178
  if (Array.isArray(val)) {
@@ -5710,8 +6150,18 @@ function peg$parse(input, options) {
5710
6150
  };
5711
6151
  var peg$f9 = function (op) {
5712
6152
  switch (op) {
6153
+ /* The ?-op checks whether a particular field is defined or not. Empty
6154
+ * arrays and dicts are treated as undefined. */
5713
6155
  case "?":
5714
- return (fieldVal) => { return fieldVal != undefined; };
6156
+ return (fieldVal) => {
6157
+ if (Array.isArray(fieldVal)) {
6158
+ return fieldVal.length > 0;
6159
+ }
6160
+ if (fieldVal.constructor.name === "Object") {
6161
+ return Object.keys(fieldVal).length > 0;
6162
+ }
6163
+ return (fieldVal !== undefined && fieldVal !== null);
6164
+ };
5715
6165
  }
5716
6166
  };
5717
6167
  var peg$f10 = function (val) {
@@ -26512,7 +26962,7 @@ function intlConfigString(localeStr, numberingSystem, outputCalendar) {
26512
26962
  function mapMonths(f) {
26513
26963
  const ms = [];
26514
26964
  for (let i = 1; i <= 12; i++) {
26515
- const dt = DateTime.utc(2016, i, 1);
26965
+ const dt = DateTime.utc(2009, i, 1);
26516
26966
  ms.push(f(dt));
26517
26967
  }
26518
26968
  return ms;
@@ -26525,8 +26975,8 @@ function mapWeekdays(f) {
26525
26975
  }
26526
26976
  return ms;
26527
26977
  }
26528
- function listStuff(loc, length, defaultOK, englishFn, intlFn) {
26529
- const mode = loc.listingMode(defaultOK);
26978
+ function listStuff(loc, length, englishFn, intlFn) {
26979
+ const mode = loc.listingMode();
26530
26980
  if (mode === "error") {
26531
26981
  return null;
26532
26982
  } else if (mode === "en") {
@@ -26772,8 +27222,8 @@ class Locale {
26772
27222
  defaultToEN: false
26773
27223
  });
26774
27224
  }
26775
- months(length, format = false, defaultOK = true) {
26776
- return listStuff(this, length, defaultOK, months, () => {
27225
+ months(length, format = false) {
27226
+ return listStuff(this, length, months, () => {
26777
27227
  const intl = format ? {
26778
27228
  month: length,
26779
27229
  day: "numeric"
@@ -26787,8 +27237,8 @@ class Locale {
26787
27237
  return this.monthsCache[formatStr][length];
26788
27238
  });
26789
27239
  }
26790
- weekdays(length, format = false, defaultOK = true) {
26791
- return listStuff(this, length, defaultOK, weekdays, () => {
27240
+ weekdays(length, format = false) {
27241
+ return listStuff(this, length, weekdays, () => {
26792
27242
  const intl = format ? {
26793
27243
  weekday: length,
26794
27244
  year: "numeric",
@@ -26804,8 +27254,8 @@ class Locale {
26804
27254
  return this.weekdaysCache[formatStr][length];
26805
27255
  });
26806
27256
  }
26807
- meridiems(defaultOK = true) {
26808
- return listStuff(this, undefined, defaultOK, () => meridiems, () => {
27257
+ meridiems() {
27258
+ return listStuff(this, undefined, () => meridiems, () => {
26809
27259
  // In theory there could be aribitrary day periods. We're gonna assume there are exactly two
26810
27260
  // for AM and PM. This is probably wrong, but it's makes parsing way easier.
26811
27261
  if (!this.meridiemCache) {
@@ -26818,8 +27268,8 @@ class Locale {
26818
27268
  return this.meridiemCache;
26819
27269
  });
26820
27270
  }
26821
- eras(length, defaultOK = true) {
26822
- return listStuff(this, length, defaultOK, eras, () => {
27271
+ eras(length) {
27272
+ return listStuff(this, length, eras, () => {
26823
27273
  const intl = {
26824
27274
  era: length
26825
27275
  };
@@ -27023,7 +27473,7 @@ function normalizeZone(input, defaultZone) {
27023
27473
  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);
27024
27474
  } else if (isNumber(input)) {
27025
27475
  return FixedOffsetZone.instance(input);
27026
- } else if (typeof input === "object" && input.offset && typeof input.offset === "number") {
27476
+ } else if (typeof input === "object" && "offset" in input && typeof input.offset === "function") {
27027
27477
  // This is dumb, but the instanceof check above doesn't seem to really work
27028
27478
  // so we're duck checking it
27029
27479
  return input;
@@ -27140,10 +27590,10 @@ class Settings {
27140
27590
  /**
27141
27591
  * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
27142
27592
  * @type {number}
27143
- * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpretted as current century
27593
+ * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century
27144
27594
  * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050
27145
- * @example Settings.twoDigitCutoffYear = 1950 // interpretted as 50
27146
- * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpretted as 50
27595
+ * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50
27596
+ * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50
27147
27597
  */
27148
27598
  static set twoDigitCutoffYear(cutoffYear) {
27149
27599
  twoDigitCutoffYear = cutoffYear % 100;
@@ -27310,7 +27760,7 @@ function daysInMonth(year, month) {
27310
27760
  }
27311
27761
  }
27312
27762
 
27313
- // covert a calendar object to a local timestamp (epoch, but with the offset baked in)
27763
+ // convert a calendar object to a local timestamp (epoch, but with the offset baked in)
27314
27764
  function objToLocalTS(obj) {
27315
27765
  let d = Date.UTC(obj.year, obj.month - 1, obj.day, obj.hour, obj.minute, obj.second, obj.millisecond);
27316
27766
 
@@ -27612,33 +28062,24 @@ class Formatter {
27612
28062
  });
27613
28063
  return df.format();
27614
28064
  }
27615
- formatDateTime(dt, opts = {}) {
27616
- const df = this.loc.dtFormatter(dt, {
28065
+ dtFormatter(dt, opts = {}) {
28066
+ return this.loc.dtFormatter(dt, {
27617
28067
  ...this.opts,
27618
28068
  ...opts
27619
28069
  });
27620
- return df.format();
27621
28070
  }
27622
- formatDateTimeParts(dt, opts = {}) {
27623
- const df = this.loc.dtFormatter(dt, {
27624
- ...this.opts,
27625
- ...opts
27626
- });
27627
- return df.formatToParts();
28071
+ formatDateTime(dt, opts) {
28072
+ return this.dtFormatter(dt, opts).format();
27628
28073
  }
27629
- formatInterval(interval, opts = {}) {
27630
- const df = this.loc.dtFormatter(interval.start, {
27631
- ...this.opts,
27632
- ...opts
27633
- });
28074
+ formatDateTimeParts(dt, opts) {
28075
+ return this.dtFormatter(dt, opts).formatToParts();
28076
+ }
28077
+ formatInterval(interval, opts) {
28078
+ const df = this.dtFormatter(interval.start, opts);
27634
28079
  return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());
27635
28080
  }
27636
- resolvedOptions(dt, opts = {}) {
27637
- const df = this.loc.dtFormatter(dt, {
27638
- ...this.opts,
27639
- ...opts
27640
- });
27641
- return df.resolvedOptions();
28081
+ resolvedOptions(dt, opts) {
28082
+ return this.dtFormatter(dt, opts).resolvedOptions();
27642
28083
  }
27643
28084
  num(n, p = 0) {
27644
28085
  // we get some perf out of doing this here, annoyingly
@@ -27692,7 +28133,7 @@ class Formatter {
27692
28133
  era: length
27693
28134
  }, "era"),
27694
28135
  tokenToString = token => {
27695
- // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles
28136
+ // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols
27696
28137
  switch (token) {
27697
28138
  // ms
27698
28139
  case "S":
@@ -28281,27 +28722,61 @@ function clone$1(dur, alts, clear = false) {
28281
28722
  };
28282
28723
  return new Duration(conf);
28283
28724
  }
28284
- function antiTrunc(n) {
28285
- return n < 0 ? Math.floor(n) : Math.ceil(n);
28286
- }
28287
-
28288
- // NB: mutates parameters
28289
- function convert(matrix, fromMap, fromUnit, toMap, toUnit) {
28290
- const conv = matrix[toUnit][fromUnit],
28291
- raw = fromMap[fromUnit] / conv,
28292
- sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]),
28293
- // ok, so this is wild, but see the matrix in the tests
28294
- added = !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw);
28295
- toMap[toUnit] += added;
28296
- fromMap[fromUnit] -= added * conv;
28725
+ function durationToMillis(matrix, vals) {
28726
+ var _vals$milliseconds;
28727
+ let sum = (_vals$milliseconds = vals.milliseconds) != null ? _vals$milliseconds : 0;
28728
+ for (const unit of reverseUnits.slice(1)) {
28729
+ if (vals[unit]) {
28730
+ sum += vals[unit] * matrix[unit]["milliseconds"];
28731
+ }
28732
+ }
28733
+ return sum;
28297
28734
  }
28298
28735
 
28299
28736
  // NB: mutates parameters
28300
28737
  function normalizeValues(matrix, vals) {
28301
- reverseUnits.reduce((previous, current) => {
28738
+ // the logic below assumes the overall value of the duration is positive
28739
+ // if this is not the case, factor is used to make it so
28740
+ const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;
28741
+ orderedUnits$1.reduceRight((previous, current) => {
28302
28742
  if (!isUndefined(vals[current])) {
28303
28743
  if (previous) {
28304
- convert(matrix, vals, previous, vals, current);
28744
+ const previousVal = vals[previous] * factor;
28745
+ const conv = matrix[current][previous];
28746
+
28747
+ // if (previousVal < 0):
28748
+ // lower order unit is negative (e.g. { years: 2, days: -2 })
28749
+ // normalize this by reducing the higher order unit by the appropriate amount
28750
+ // and increasing the lower order unit
28751
+ // this can never make the higher order unit negative, because this function only operates
28752
+ // on positive durations, so the amount of time represented by the lower order unit cannot
28753
+ // be larger than the higher order unit
28754
+ // else:
28755
+ // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })
28756
+ // in this case we attempt to convert as much as possible from the lower order unit into
28757
+ // the higher order one
28758
+ //
28759
+ // Math.floor takes care of both of these cases, rounding away from 0
28760
+ // if previousVal < 0 it makes the absolute value larger
28761
+ // if previousVal >= it makes the absolute value smaller
28762
+ const rollUp = Math.floor(previousVal / conv);
28763
+ vals[current] += rollUp * factor;
28764
+ vals[previous] -= rollUp * conv * factor;
28765
+ }
28766
+ return current;
28767
+ } else {
28768
+ return previous;
28769
+ }
28770
+ }, null);
28771
+
28772
+ // try to convert any decimals into smaller units if possible
28773
+ // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }
28774
+ orderedUnits$1.reduce((previous, current) => {
28775
+ if (!isUndefined(vals[current])) {
28776
+ if (previous) {
28777
+ const fraction = vals[previous] % 1;
28778
+ vals[previous] -= fraction;
28779
+ vals[current] += fraction * matrix[previous][current];
28305
28780
  }
28306
28781
  return current;
28307
28782
  } else {
@@ -28607,6 +29082,7 @@ class Duration {
28607
29082
  * ```
28608
29083
  */
28609
29084
  toHuman(opts = {}) {
29085
+ if (!this.isValid) return INVALID$2;
28610
29086
  const l = orderedUnits$1.map(unit => {
28611
29087
  const val = this.values[unit];
28612
29088
  if (isUndefined(val)) {
@@ -28692,21 +29168,13 @@ class Duration {
28692
29168
  suppressSeconds: false,
28693
29169
  includePrefix: false,
28694
29170
  format: "extended",
28695
- ...opts
29171
+ ...opts,
29172
+ includeOffset: false
28696
29173
  };
28697
- const value = this.shiftTo("hours", "minutes", "seconds", "milliseconds");
28698
- let fmt = opts.format === "basic" ? "hhmm" : "hh:mm";
28699
- if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) {
28700
- fmt += opts.format === "basic" ? "ss" : ":ss";
28701
- if (!opts.suppressMilliseconds || value.milliseconds !== 0) {
28702
- fmt += ".SSS";
28703
- }
28704
- }
28705
- let str = value.toFormat(fmt);
28706
- if (opts.includePrefix) {
28707
- str = "T" + str;
28708
- }
28709
- return str;
29174
+ const dateTime = DateTime.fromMillis(millis, {
29175
+ zone: "UTC"
29176
+ });
29177
+ return dateTime.toISOTime(opts);
28710
29178
  }
28711
29179
 
28712
29180
  /**
@@ -28730,7 +29198,8 @@ class Duration {
28730
29198
  * @return {number}
28731
29199
  */
28732
29200
  toMillis() {
28733
- return this.as("milliseconds");
29201
+ if (!this.isValid) return NaN;
29202
+ return durationToMillis(this.matrix, this.values);
28734
29203
  }
28735
29204
 
28736
29205
  /**
@@ -28856,8 +29325,17 @@ class Duration {
28856
29325
 
28857
29326
  /**
28858
29327
  * Reduce this Duration to its canonical representation in its current units.
29328
+ * Assuming the overall value of the Duration is positive, this means:
29329
+ * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)
29330
+ * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise
29331
+ * the overall value would be negative, see second example)
29332
+ * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)
29333
+ *
29334
+ * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.
28859
29335
  * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }
29336
+ * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }
28860
29337
  * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }
29338
+ * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }
28861
29339
  * @return {Duration}
28862
29340
  */
28863
29341
  normalize() {
@@ -28912,16 +29390,13 @@ class Duration {
28912
29390
  if (isNumber(vals[k])) {
28913
29391
  own += vals[k];
28914
29392
  }
29393
+
29394
+ // only keep the integer part for now in the hopes of putting any decimal part
29395
+ // into a smaller unit later
28915
29396
  const i = Math.trunc(own);
28916
29397
  built[k] = i;
28917
29398
  accumulated[k] = (own * 1000 - i * 1000) / 1000;
28918
29399
 
28919
- // plus anything further down the chain that should be rolled up in to this
28920
- for (const down in vals) {
28921
- if (orderedUnits$1.indexOf(down) > orderedUnits$1.indexOf(k)) {
28922
- convert(this.matrix, vals, down, built, k);
28923
- }
28924
- }
28925
29400
  // otherwise, keep it in the wings to boil it later
28926
29401
  } else if (isNumber(vals[k])) {
28927
29402
  accumulated[k] = vals[k];
@@ -28935,9 +29410,10 @@ class Duration {
28935
29410
  built[lastUnit] += key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];
28936
29411
  }
28937
29412
  }
29413
+ normalizeValues(this.matrix, built);
28938
29414
  return clone$1(this, {
28939
29415
  values: built
28940
- }, true).normalize();
29416
+ }, true);
28941
29417
  }
28942
29418
 
28943
29419
  /**
@@ -29895,14 +30371,35 @@ function highOrderDiffs(cursor, later, units) {
29895
30371
  const results = {};
29896
30372
  const earlier = cursor;
29897
30373
  let lowestOrder, highWater;
30374
+
30375
+ /* This loop tries to diff using larger units first.
30376
+ If we overshoot, we backtrack and try the next smaller unit.
30377
+ "cursor" starts out at the earlier timestamp and moves closer and closer to "later"
30378
+ as we use smaller and smaller units.
30379
+ highWater keeps track of where we would be if we added one more of the smallest unit,
30380
+ this is used later to potentially convert any difference smaller than the smallest higher order unit
30381
+ into a fraction of that smallest higher order unit
30382
+ */
29898
30383
  for (const [unit, differ] of differs) {
29899
30384
  if (units.indexOf(unit) >= 0) {
29900
30385
  lowestOrder = unit;
29901
30386
  results[unit] = differ(cursor, later);
29902
30387
  highWater = earlier.plus(results);
29903
30388
  if (highWater > later) {
30389
+ // we overshot the end point, backtrack cursor by 1
29904
30390
  results[unit]--;
29905
30391
  cursor = earlier.plus(results);
30392
+
30393
+ // if we are still overshooting now, we need to backtrack again
30394
+ // this happens in certain situations when diffing times in different zones,
30395
+ // because this calculation ignores time zones
30396
+ if (cursor > later) {
30397
+ // keep the "overshot by 1" around as highWater
30398
+ highWater = cursor;
30399
+ // backtrack cursor by 1
30400
+ results[unit]--;
30401
+ cursor = earlier.plus(results);
30402
+ }
29906
30403
  } else {
29907
30404
  cursor = highWater;
29908
30405
  }
@@ -30051,6 +30548,11 @@ function simple(regex) {
30051
30548
  function escapeToken(value) {
30052
30549
  return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
30053
30550
  }
30551
+
30552
+ /**
30553
+ * @param token
30554
+ * @param {Locale} loc
30555
+ */
30054
30556
  function unitForToken(token, loc) {
30055
30557
  const one = digitRegex(loc),
30056
30558
  two = digitRegex(loc, "{2}"),
@@ -30075,9 +30577,9 @@ function unitForToken(token, loc) {
30075
30577
  switch (t.val) {
30076
30578
  // era
30077
30579
  case "G":
30078
- return oneOf(loc.eras("short", false), 0);
30580
+ return oneOf(loc.eras("short"), 0);
30079
30581
  case "GG":
30080
- return oneOf(loc.eras("long", false), 0);
30582
+ return oneOf(loc.eras("long"), 0);
30081
30583
  // years
30082
30584
  case "y":
30083
30585
  return intUnit(oneToSix);
@@ -30095,17 +30597,17 @@ function unitForToken(token, loc) {
30095
30597
  case "MM":
30096
30598
  return intUnit(two);
30097
30599
  case "MMM":
30098
- return oneOf(loc.months("short", true, false), 1);
30600
+ return oneOf(loc.months("short", true), 1);
30099
30601
  case "MMMM":
30100
- return oneOf(loc.months("long", true, false), 1);
30602
+ return oneOf(loc.months("long", true), 1);
30101
30603
  case "L":
30102
30604
  return intUnit(oneOrTwo);
30103
30605
  case "LL":
30104
30606
  return intUnit(two);
30105
30607
  case "LLL":
30106
- return oneOf(loc.months("short", false, false), 1);
30608
+ return oneOf(loc.months("short", false), 1);
30107
30609
  case "LLLL":
30108
- return oneOf(loc.months("long", false, false), 1);
30610
+ return oneOf(loc.months("long", false), 1);
30109
30611
  // dates
30110
30612
  case "d":
30111
30613
  return intUnit(oneOrTwo);
@@ -30165,13 +30667,13 @@ function unitForToken(token, loc) {
30165
30667
  case "c":
30166
30668
  return intUnit(one);
30167
30669
  case "EEE":
30168
- return oneOf(loc.weekdays("short", false, false), 1);
30670
+ return oneOf(loc.weekdays("short", false), 1);
30169
30671
  case "EEEE":
30170
- return oneOf(loc.weekdays("long", false, false), 1);
30672
+ return oneOf(loc.weekdays("long", false), 1);
30171
30673
  case "ccc":
30172
- return oneOf(loc.weekdays("short", true, false), 1);
30674
+ return oneOf(loc.weekdays("short", true), 1);
30173
30675
  case "cccc":
30174
- return oneOf(loc.weekdays("long", true, false), 1);
30676
+ return oneOf(loc.weekdays("long", true), 1);
30175
30677
  // offset/zone
30176
30678
  case "Z":
30177
30679
  case "ZZ":
@@ -30217,10 +30719,14 @@ const partTypeStyleToTokenVal = {
30217
30719
  },
30218
30720
  dayperiod: "a",
30219
30721
  dayPeriod: "a",
30220
- hour: {
30722
+ hour12: {
30221
30723
  numeric: "h",
30222
30724
  "2-digit": "hh"
30223
30725
  },
30726
+ hour24: {
30727
+ numeric: "H",
30728
+ "2-digit": "HH"
30729
+ },
30224
30730
  minute: {
30225
30731
  numeric: "m",
30226
30732
  "2-digit": "mm"
@@ -30234,7 +30740,7 @@ const partTypeStyleToTokenVal = {
30234
30740
  short: "ZZZ"
30235
30741
  }
30236
30742
  };
30237
- function tokenForPart(part, formatOpts) {
30743
+ function tokenForPart(part, formatOpts, resolvedOpts) {
30238
30744
  const {
30239
30745
  type,
30240
30746
  value
@@ -30247,7 +30753,27 @@ function tokenForPart(part, formatOpts) {
30247
30753
  };
30248
30754
  }
30249
30755
  const style = formatOpts[type];
30250
- let val = partTypeStyleToTokenVal[type];
30756
+
30757
+ // The user might have explicitly specified hour12 or hourCycle
30758
+ // if so, respect their decision
30759
+ // if not, refer back to the resolvedOpts, which are based on the locale
30760
+ let actualType = type;
30761
+ if (type === "hour") {
30762
+ if (formatOpts.hour12 != null) {
30763
+ actualType = formatOpts.hour12 ? "hour12" : "hour24";
30764
+ } else if (formatOpts.hourCycle != null) {
30765
+ if (formatOpts.hourCycle === "h11" || formatOpts.hourCycle === "h12") {
30766
+ actualType = "hour12";
30767
+ } else {
30768
+ actualType = "hour24";
30769
+ }
30770
+ } else {
30771
+ // tokens only differentiate between 24 hours or not,
30772
+ // so we do not need to check hourCycle here, which is less supported anyways
30773
+ actualType = resolvedOpts.hour12 ? "hour12" : "hour24";
30774
+ }
30775
+ }
30776
+ let val = partTypeStyleToTokenVal[actualType];
30251
30777
  if (typeof val === "object") {
30252
30778
  val = val[style];
30253
30779
  }
@@ -30423,8 +30949,10 @@ function formatOptsToTokens(formatOpts, locale) {
30423
30949
  return null;
30424
30950
  }
30425
30951
  const formatter = Formatter.create(locale, formatOpts);
30426
- const parts = formatter.formatDateTimeParts(getDummyDateTime());
30427
- return parts.map(p => tokenForPart(p, formatOpts));
30952
+ const df = formatter.dtFormatter(getDummyDateTime());
30953
+ const parts = df.formatToParts();
30954
+ const resolvedOpts = df.resolvedOptions();
30955
+ return parts.map(p => tokenForPart(p, formatOpts, resolvedOpts));
30428
30956
  }
30429
30957
 
30430
30958
  const nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
@@ -30760,13 +31288,13 @@ function toISOTime(o, extended, suppressSeconds, suppressMilliseconds, includeOf
30760
31288
  if (extended) {
30761
31289
  c += ":";
30762
31290
  c += padStart(o.c.minute);
30763
- if (o.c.second !== 0 || !suppressSeconds) {
31291
+ if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {
30764
31292
  c += ":";
30765
31293
  }
30766
31294
  } else {
30767
31295
  c += padStart(o.c.minute);
30768
31296
  }
30769
- if (o.c.second !== 0 || !suppressSeconds) {
31297
+ if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {
30770
31298
  c += padStart(o.c.second);
30771
31299
  if (o.c.millisecond !== 0 || !suppressMilliseconds) {
30772
31300
  c += ".";
@@ -31400,7 +31928,7 @@ class DateTime {
31400
31928
 
31401
31929
  /**
31402
31930
  * Create an invalid DateTime.
31403
- * @param {DateTime} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent
31931
+ * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.
31404
31932
  * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
31405
31933
  * @return {DateTime}
31406
31934
  */
@@ -31759,6 +32287,41 @@ class DateTime {
31759
32287
  }
31760
32288
  }
31761
32289
 
32290
+ /**
32291
+ * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC
32292
+ * in this DateTime's zone. During DST changes local time can be ambiguous, for example
32293
+ * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.
32294
+ * This method will return both possible DateTimes if this DateTime's local time is ambiguous.
32295
+ * @returns {DateTime[]}
32296
+ */
32297
+ getPossibleOffsets() {
32298
+ if (!this.isValid || this.isOffsetFixed) {
32299
+ return [this];
32300
+ }
32301
+ const dayMs = 86400000;
32302
+ const minuteMs = 60000;
32303
+ const localTS = objToLocalTS(this.c);
32304
+ const oEarlier = this.zone.offset(localTS - dayMs);
32305
+ const oLater = this.zone.offset(localTS + dayMs);
32306
+ const o1 = this.zone.offset(localTS - oEarlier * minuteMs);
32307
+ const o2 = this.zone.offset(localTS - oLater * minuteMs);
32308
+ if (o1 === o2) {
32309
+ return [this];
32310
+ }
32311
+ const ts1 = localTS - o1 * minuteMs;
32312
+ const ts2 = localTS - o2 * minuteMs;
32313
+ const c1 = tsToObj(ts1, o1);
32314
+ const c2 = tsToObj(ts2, o2);
32315
+ if (c1.hour === c2.hour && c1.minute === c2.minute && c1.second === c2.second && c1.millisecond === c2.millisecond) {
32316
+ return [clone(this, {
32317
+ ts: ts1
32318
+ }), clone(this, {
32319
+ ts: ts2
32320
+ })];
32321
+ }
32322
+ return [this];
32323
+ }
32324
+
31762
32325
  /**
31763
32326
  * Returns true if this DateTime is in a leap year, false otherwise
31764
32327
  * @example DateTime.local(2016).isInLeapYear //=> true
@@ -32765,7 +33328,7 @@ function friendlyDateTime(dateTimeish) {
32765
33328
  }
32766
33329
  }
32767
33330
 
32768
- const VERSION = "3.3.0";
33331
+ const VERSION = "3.4.3";
32769
33332
 
32770
33333
  exports.DateTime = DateTime;
32771
33334
  exports.Duration = Duration;