@nmshd/consumption 2.0.0-beta.24 → 2.0.0-beta.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionError.d.ts +2 -0
  3. package/dist/consumption/ConsumptionError.js +7 -0
  4. package/dist/consumption/ConsumptionError.js.map +1 -0
  5. package/dist/consumption/{ConsumptionErrors.d.ts → CoreErrors.d.ts} +1 -12
  6. package/dist/consumption/{ConsumptionErrors.js → CoreErrors.js} +8 -29
  7. package/dist/consumption/CoreErrors.js.map +1 -0
  8. package/dist/consumption/index.d.ts +2 -1
  9. package/dist/consumption/index.js +2 -1
  10. package/dist/consumption/index.js.map +1 -1
  11. package/dist/modules/attributes/AttributesController.js +4 -4
  12. package/dist/modules/attributes/AttributesController.js.map +1 -1
  13. package/dist/modules/attributes/local/QueryTranslator.js +2 -1
  14. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  15. package/dist/modules/drafts/DraftsController.js +1 -1
  16. package/dist/modules/drafts/DraftsController.js.map +1 -1
  17. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js +2 -1
  18. package/dist/modules/requests/events/IncomingRequestReceivedEvent.js.map +1 -1
  19. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js +2 -1
  20. package/dist/modules/requests/events/IncomingRequestStatusChangedEvent.js.map +1 -1
  21. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.d.ts +1 -1
  22. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js +2 -1
  23. package/dist/modules/requests/events/OutgoingRequestCreatedEvent.js.map +1 -1
  24. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.d.ts +1 -1
  25. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js +2 -1
  26. package/dist/modules/requests/events/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js.map +1 -1
  27. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js +2 -1
  28. package/dist/modules/requests/events/OutgoingRequestStatusChangedEvent.js.map +1 -1
  29. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js +9 -9
  30. package/dist/modules/requests/incoming/DecideRequestParametersValidator.js.map +1 -1
  31. package/dist/modules/requests/incoming/IncomingRequestsController.js +10 -10
  32. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  33. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +3 -2
  34. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  35. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +3 -3
  36. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  37. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +3 -3
  38. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  39. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +4 -2
  40. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
  41. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +1 -1
  42. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  43. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +2 -2
  44. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  45. package/dist/modules/requests/itemProcessors/utility/validateQuery.js +3 -3
  46. package/dist/modules/requests/itemProcessors/utility/validateQuery.js.map +1 -1
  47. package/dist/modules/requests/local/LocalRequest.js +3 -2
  48. package/dist/modules/requests/local/LocalRequest.js.map +1 -1
  49. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +8 -8
  50. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  51. package/dist/modules/settings/SettingsController.js +18 -3
  52. package/dist/modules/settings/SettingsController.js.map +1 -1
  53. package/lib-web/nmshd.consumption.js +221 -141
  54. package/lib-web/nmshd.consumption.js.map +1 -1
  55. package/lib-web/nmshd.consumption.min.js +1 -1
  56. package/lib-web/nmshd.consumption.min.js.map +1 -1
  57. package/package.json +9 -9
  58. package/dist/consumption/ConsumptionErrors.js.map +0 -1
@@ -17,10 +17,10 @@ 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: "2.0.0-beta.24",
21
- build: "76",
22
- date: "2022-09-28T13:31:27+00:00",
23
- commit: "05585bc59a25c9af22d0c1ce4d8eed1a0cdd9620",
20
+ version: "2.0.0-beta.25",
21
+ build: "77",
22
+ date: "2022-09-28T14:12:31+00:00",
23
+ commit: "e8e386a6e1fd88031567c4cacd35a1f6905fe686",
24
24
  dependencies: {"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},
25
25
  libraries: {
26
26
  transport: transport_1.buildInformation,
@@ -159,22 +159,59 @@ var ConsumptionControllerName;
159
159
 
160
160
  /***/ }),
161
161
 
162
- /***/ "./dist/consumption/ConsumptionErrors.js":
163
- /*!***********************************************!*\
164
- !*** ./dist/consumption/ConsumptionErrors.js ***!
165
- \***********************************************/
162
+ /***/ "./dist/consumption/ConsumptionError.js":
163
+ /*!**********************************************!*\
164
+ !*** ./dist/consumption/ConsumptionError.js ***!
165
+ \**********************************************/
166
+ /***/ ((__unused_webpack_module, exports) => {
167
+
168
+ "use strict";
169
+
170
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
171
+ exports.ConsumptionError = void 0;
172
+ class ConsumptionError extends Error {
173
+ }
174
+ exports.ConsumptionError = ConsumptionError;
175
+ //# sourceMappingURL=ConsumptionError.js.map
176
+
177
+ /***/ }),
178
+
179
+ /***/ "./dist/consumption/ConsumptionIds.js":
180
+ /*!********************************************!*\
181
+ !*** ./dist/consumption/ConsumptionIds.js ***!
182
+ \********************************************/
166
183
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
167
184
 
168
185
  "use strict";
169
186
 
170
187
  Object.defineProperty(exports, "__esModule", ({ value: true }));
171
- exports.ConsumptionErrors = void 0;
188
+ exports.ConsumptionIds = void 0;
189
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
190
+ class ConsumptionIds {
191
+ }
192
+ exports.ConsumptionIds = ConsumptionIds;
193
+ ConsumptionIds.draft = new transport_1.CoreIdHelper("LCLDRF");
194
+ ConsumptionIds.setting = new transport_1.CoreIdHelper("LCLSET");
195
+ ConsumptionIds.attribute = new transport_1.CoreIdHelper("ATT");
196
+ ConsumptionIds.request = new transport_1.CoreIdHelper("REQ");
197
+ ConsumptionIds.attributeListener = new transport_1.CoreIdHelper("ATL");
198
+ //# sourceMappingURL=ConsumptionIds.js.map
199
+
200
+ /***/ }),
201
+
202
+ /***/ "./dist/consumption/CoreErrors.js":
203
+ /*!****************************************!*\
204
+ !*** ./dist/consumption/CoreErrors.js ***!
205
+ \****************************************/
206
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
207
+
208
+ "use strict";
209
+
210
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
211
+ exports.CoreErrors = void 0;
172
212
  const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
173
213
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
174
214
  class Attributes {
175
- attributeExists(id) {
176
- return new transport_1.CoreError("error.consumption.attributes.attributeExists", `Attribute with id '${id}' already exists. Please use succeed instead.`);
177
- }
178
215
  predecessorNotFound(id) {
179
216
  return new transport_1.CoreError("error.consumption.attributes.predecessorNotFound", `Attribute with id '${id}' does not exist. Please use create instead.`);
180
217
  }
@@ -186,14 +223,11 @@ class Requests {
186
223
  constructor() {
187
224
  this.decideValidation = new Requests._decideValidation();
188
225
  }
189
- requestExists(id) {
190
- return new transport_1.CoreError("error.consumption.requests.requestExists", `Request with id ${id} already exists and can't be created.`);
191
- }
192
226
  unexpectedErrorDuringRequestItemProcessing(error) {
193
- return new transport_1.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing", error instanceof Error ? error.message : "Unknown error: '${JSON.stringify(e)'", undefined, undefined, error);
227
+ return new transport_1.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing", error instanceof Error ? error.message : `Unknown error: '${JSON.stringify(error)}'`, undefined, undefined, error);
194
228
  }
195
229
  servalErrorDuringRequestItemProcessing(error) {
196
- return new transport_1.CoreError("error.consumption.requests.servalErrorDuringRequestItemProcessing", error instanceof Error ? error.message : "Serval error: '${JSON.stringify(e)'", undefined, undefined, error);
230
+ return new transport_1.CoreError("error.consumption.requests.servalErrorDuringRequestItemProcessing", error instanceof Error ? error.message : `Serval error: '${JSON.stringify(error)}'`, undefined, undefined, error);
197
231
  }
198
232
  invalidRequestItem(message) {
199
233
  return new transport_1.CoreError("error.consumption.requests.invalidRequestItem", message);
@@ -219,50 +253,12 @@ Requests._decideValidation = class {
219
253
  return new ts_utils_1.ApplicationError("error.requests.decide.validation.requestItemGroupAnsweredAsRequestItem", "The RequestItemGroup was answered as a RequestItem.");
220
254
  }
221
255
  };
222
- class RelationshipInfo {
223
- relationshipInfoExists(relationshipId) {
224
- return new transport_1.CoreError("error.consumption.relationshipInfos.relationshipInfoExists", `RelationshipInfo for Relationship ${relationshipId} already exists.`);
225
- }
226
- }
227
- class Onboarding {
228
- attributeNotSet(attributeName) {
229
- return new transport_1.CoreError("error.consumption.onboarding.attributeNotSet", `No attribute with name ${attributeName} set but was required to be shared.`);
230
- }
231
- wrongTemplate() {
232
- return new transport_1.CoreError("error.consumption.onboarding.wrongTemplate", "The given template is in the wrong format.");
233
- }
234
- }
235
- class ConsumptionErrors {
236
- }
237
- exports.ConsumptionErrors = ConsumptionErrors;
238
- ConsumptionErrors.attributes = new Attributes();
239
- ConsumptionErrors.requests = new Requests();
240
- ConsumptionErrors.relationshipInfo = new RelationshipInfo();
241
- ConsumptionErrors.onboarding = new Onboarding();
242
- //# sourceMappingURL=ConsumptionErrors.js.map
243
-
244
- /***/ }),
245
-
246
- /***/ "./dist/consumption/ConsumptionIds.js":
247
- /*!********************************************!*\
248
- !*** ./dist/consumption/ConsumptionIds.js ***!
249
- \********************************************/
250
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
251
-
252
- "use strict";
253
-
254
- Object.defineProperty(exports, "__esModule", ({ value: true }));
255
- exports.ConsumptionIds = void 0;
256
- const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
257
- class ConsumptionIds {
256
+ class CoreErrors {
258
257
  }
259
- exports.ConsumptionIds = ConsumptionIds;
260
- ConsumptionIds.draft = new transport_1.CoreIdHelper("LCLDRF");
261
- ConsumptionIds.setting = new transport_1.CoreIdHelper("LCLSET");
262
- ConsumptionIds.attribute = new transport_1.CoreIdHelper("ATT");
263
- ConsumptionIds.request = new transport_1.CoreIdHelper("REQ");
264
- ConsumptionIds.attributeListener = new transport_1.CoreIdHelper("ATL");
265
- //# sourceMappingURL=ConsumptionIds.js.map
258
+ exports.CoreErrors = CoreErrors;
259
+ CoreErrors.attributes = new Attributes();
260
+ CoreErrors.requests = new Requests();
261
+ //# sourceMappingURL=CoreErrors.js.map
266
262
 
267
263
  /***/ }),
268
264
 
@@ -291,8 +287,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
291
287
  Object.defineProperty(exports, "__esModule", ({ value: true }));
292
288
  __exportStar(__webpack_require__(/*! ./ConsumptionBaseController */ "./dist/consumption/ConsumptionBaseController.js"), exports);
293
289
  __exportStar(__webpack_require__(/*! ./ConsumptionControllerName */ "./dist/consumption/ConsumptionControllerName.js"), exports);
294
- __exportStar(__webpack_require__(/*! ./ConsumptionErrors */ "./dist/consumption/ConsumptionErrors.js"), exports);
290
+ __exportStar(__webpack_require__(/*! ./ConsumptionError */ "./dist/consumption/ConsumptionError.js"), exports);
295
291
  __exportStar(__webpack_require__(/*! ./ConsumptionIds */ "./dist/consumption/ConsumptionIds.js"), exports);
292
+ __exportStar(__webpack_require__(/*! ./CoreErrors */ "./dist/consumption/CoreErrors.js"), exports);
296
293
  //# sourceMappingURL=index.js.map
297
294
 
298
295
  /***/ }),
@@ -700,7 +697,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
700
697
  }
701
698
  async createLocalAttributesForNestedAttributeValues(localAttribute) {
702
699
  if (!(localAttribute.content instanceof content_1.IdentityAttribute)) {
703
- throw new Error("Only Identity Attributes are allowed here");
700
+ throw new consumption_1.ConsumptionError("Only Identity Attributes are allowed here");
704
701
  }
705
702
  const nestedAttributeValues = Object.values(localAttribute.content.value).filter((p) => p instanceof content_1.AbstractAttributeValue);
706
703
  for (const propertyValue of nestedAttributeValues) {
@@ -718,10 +715,10 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
718
715
  });
719
716
  const currentAttribute = LocalAttribute_1.LocalAttribute.from(currentAttributeDoc);
720
717
  if (currentAttribute.parentId) {
721
- throw consumption_1.ConsumptionErrors.attributes.cannotSucceedAttributesWithAParent(parsedParams.succeeds.toString());
718
+ throw consumption_1.CoreErrors.attributes.cannotSucceedAttributesWithAParent(parsedParams.succeeds.toString());
722
719
  }
723
720
  if (!currentAttributeDoc) {
724
- throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.succeeds.toString());
721
+ throw consumption_1.CoreErrors.attributes.predecessorNotFound(parsedParams.succeeds.toString());
725
722
  }
726
723
  if (!parsedParams.successorContent.validFrom) {
727
724
  parsedParams.successorContent.validFrom = transport_1.CoreDate.utc();
@@ -738,7 +735,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
738
735
  const parsedParams = CreateSharedLocalAttributeCopyParams_1.CreateSharedLocalAttributeCopyParams.from(params);
739
736
  const sourceAttribute = await this.getLocalAttribute(parsedParams.sourceAttributeId);
740
737
  if (!sourceAttribute) {
741
- throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.sourceAttributeId.toString());
738
+ throw consumption_1.CoreErrors.attributes.predecessorNotFound(parsedParams.sourceAttributeId.toString());
742
739
  }
743
740
  const shareInfo = LocalAttributeShareInfo_1.LocalAttributeShareInfo.from({
744
741
  peer: parsedParams.peer,
@@ -1286,6 +1283,7 @@ exports.ThirdPartyRelationshipAttributeQueryTranslator = exports.RelationshipAtt
1286
1283
  const docdb_querytranslator_1 = __webpack_require__(/*! @js-soft/docdb-querytranslator */ "./node_modules/@js-soft/docdb-querytranslator/dist/index.js");
1287
1284
  const luxon_1 = __webpack_require__(/*! luxon */ "./node_modules/luxon/build/node/luxon.js");
1288
1285
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
1286
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1289
1287
  class IdentityAttributeQueryTranslator {
1290
1288
  static translate(query) {
1291
1289
  return this.translator.parse({ ...query.toJSON(), attributeType: "IdentityAttribute" });
@@ -1314,7 +1312,7 @@ IdentityAttributeQueryTranslator.translator = new docdb_querytranslator_1.QueryT
1314
1312
  if (!input)
1315
1313
  return;
1316
1314
  if (!Array.isArray(input)) {
1317
- throw new Error("Invalid input: 'tags' must be an array");
1315
+ throw new consumption_1.ConsumptionError("Invalid input: 'tags' must be an array");
1318
1316
  }
1319
1317
  const inputAsArray = input;
1320
1318
  query["$or"] = inputAsArray.map((t) => ({
@@ -1580,7 +1578,7 @@ class DraftsController extends consumption_1.ConsumptionBaseController {
1580
1578
  async updateDraft(draft) {
1581
1579
  const oldDraft = await this.drafts.read(draft.id.toString());
1582
1580
  if (!oldDraft) {
1583
- throw new Error("Draft Not Found");
1581
+ throw new consumption_1.ConsumptionError("Draft Not Found");
1584
1582
  }
1585
1583
  await this.drafts.update(oldDraft, draft);
1586
1584
  }
@@ -1745,11 +1743,12 @@ __exportStar(__webpack_require__(/*! ./settings */ "./dist/modules/settings/inde
1745
1743
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1746
1744
  exports.IncomingRequestReceivedEvent = void 0;
1747
1745
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1746
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1748
1747
  class IncomingRequestReceivedEvent extends transport_1.TransportDataEvent {
1749
1748
  constructor(eventTargetAddress, data) {
1750
1749
  super(IncomingRequestReceivedEvent.namespace, eventTargetAddress, data);
1751
1750
  if (data.isOwn)
1752
- throw new Error("Cannot create this event for an outgoing Request");
1751
+ throw new consumption_1.ConsumptionError("Cannot create this event for an outgoing Request");
1753
1752
  }
1754
1753
  }
1755
1754
  exports.IncomingRequestReceivedEvent = IncomingRequestReceivedEvent;
@@ -1769,11 +1768,12 @@ IncomingRequestReceivedEvent.namespace = "consumption.incomingRequestReceived";
1769
1768
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1770
1769
  exports.IncomingRequestStatusChangedEvent = void 0;
1771
1770
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1771
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1772
1772
  class IncomingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1773
1773
  constructor(eventTargetAddress, data) {
1774
1774
  super(IncomingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1775
1775
  if (data.request.isOwn)
1776
- throw new Error("Cannot create this event for an outgoing Request");
1776
+ throw new consumption_1.ConsumptionError("Cannot create this event for an outgoing Request");
1777
1777
  }
1778
1778
  }
1779
1779
  exports.IncomingRequestStatusChangedEvent = IncomingRequestStatusChangedEvent;
@@ -1793,11 +1793,12 @@ IncomingRequestStatusChangedEvent.namespace = "consumption.incomingRequestStatus
1793
1793
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1794
1794
  exports.OutgoingRequestCreatedEvent = void 0;
1795
1795
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1796
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1796
1797
  class OutgoingRequestCreatedEvent extends transport_1.TransportDataEvent {
1797
1798
  constructor(eventTargetAddress, data) {
1798
1799
  super(OutgoingRequestCreatedEvent.namespace, eventTargetAddress, data);
1799
1800
  if (!data.isOwn)
1800
- throw new Error("Cannot create this event for an incoming Request");
1801
+ throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
1801
1802
  }
1802
1803
  }
1803
1804
  exports.OutgoingRequestCreatedEvent = OutgoingRequestCreatedEvent;
@@ -1817,11 +1818,12 @@ OutgoingRequestCreatedEvent.namespace = "consumption.outgoingRequestCreated";
1817
1818
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1818
1819
  exports.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent = void 0;
1819
1820
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1821
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1820
1822
  class OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent extends transport_1.TransportDataEvent {
1821
1823
  constructor(eventTargetAddress, data) {
1822
1824
  super(OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace, eventTargetAddress, data);
1823
1825
  if (!data.isOwn)
1824
- throw new Error("Cannot create this event for an incoming Request");
1826
+ throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
1825
1827
  }
1826
1828
  }
1827
1829
  exports.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent = OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent;
@@ -1841,11 +1843,12 @@ OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace
1841
1843
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1842
1844
  exports.OutgoingRequestStatusChangedEvent = void 0;
1843
1845
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1846
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1844
1847
  class OutgoingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1845
1848
  constructor(eventTargetAddress, data) {
1846
1849
  super(OutgoingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1847
1850
  if (!data.request.isOwn)
1848
- throw new Error("Cannot create this event for an incoming Request");
1851
+ throw new consumption_1.ConsumptionError("Cannot create this event for an incoming Request");
1849
1852
  }
1850
1853
  }
1851
1854
  exports.OutgoingRequestStatusChangedEvent = OutgoingRequestStatusChangedEvent;
@@ -1905,10 +1908,10 @@ const DecideRequestItemParameters_1 = __webpack_require__(/*! ./decide/DecideReq
1905
1908
  class DecideRequestParametersValidator {
1906
1909
  validate(params, request) {
1907
1910
  if (!request.id.equals(transport_1.CoreId.from(params.requestId))) {
1908
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.invalidRequestId());
1911
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.invalidRequestId());
1909
1912
  }
1910
1913
  if (params.items.length !== request.content.items.length) {
1911
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));
1914
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in Request and Response do not match"));
1912
1915
  }
1913
1916
  const validationResults = request.content.items.map((requestItem, index) => this.checkItemOrGroup(requestItem, params.items[index], params.accept));
1914
1917
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -1921,29 +1924,29 @@ class DecideRequestParametersValidator {
1921
1924
  }
1922
1925
  checkItem(requestItem, response, isParentAccepted) {
1923
1926
  if ((0, DecideRequestItemGroupParameters_1.isDecideRequestItemGroupParametersJSON)(response)) {
1924
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
1927
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
1925
1928
  }
1926
1929
  if (!isParentAccepted && response.accept) {
1927
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted."));
1930
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItem was accepted, but the parent was not accepted."));
1928
1931
  }
1929
1932
  if (isParentAccepted && requestItem.mustBeAccepted && !response.accept) {
1930
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted."));
1933
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItem is flagged as 'mustBeAccepted', but it was not accepted."));
1931
1934
  }
1932
1935
  return ValidationResult_1.ValidationResult.success();
1933
1936
  }
1934
1937
  checkItemGroup(requestItemGroup, responseItemGroup, isParentAccepted) {
1935
1938
  if ((0, DecideRequestItemParameters_1.isDecideRequestItemParametersJSON)(responseItemGroup)) {
1936
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
1939
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
1937
1940
  }
1938
1941
  if (responseItemGroup.items.length !== requestItemGroup.items.length) {
1939
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));
1942
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.invalidNumberOfItems("Number of items in RequestItemGroup and ResponseItemGroup do not match"));
1940
1943
  }
1941
1944
  const isGroupAccepted = responseItemGroup.items.some((value) => value.accept);
1942
1945
  if (!isParentAccepted && isGroupAccepted) {
1943
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));
1946
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.itemAcceptedButParentNotAccepted("The RequestItemGroup was accepted, but the parent was not accepted."));
1944
1947
  }
1945
1948
  if (isParentAccepted && requestItemGroup.mustBeAccepted && !isGroupAccepted) {
1946
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.mustBeAcceptedItemNotAccepted("The RequestItemGroup is flagged as 'mustBeAccepted', but it was not accepted. Please accept all 'mustBeAccepted' items in this group."));
1949
+ 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."));
1947
1950
  }
1948
1951
  const validationResults = requestItemGroup.items.map((requestItem, index) => this.checkItem(requestItem, responseItemGroup.items[index], isGroupAccepted));
1949
1952
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -2013,7 +2016,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2013
2016
  }
2014
2017
  extractInfoFromMessage(message) {
2015
2018
  if (message.isOwn)
2016
- throw new Error("Cannot create incoming Request from own Message");
2019
+ throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Message");
2017
2020
  return {
2018
2021
  peer: message.cache.createdBy,
2019
2022
  source: {
@@ -2024,7 +2027,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2024
2027
  }
2025
2028
  extractInfoFromRelationshipTemplate(template) {
2026
2029
  if (template.isOwn)
2027
- throw new Error("Cannot create incoming Request from own Relationship Template");
2030
+ throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Relationship Template");
2028
2031
  return {
2029
2032
  peer: template.cache.createdBy,
2030
2033
  source: {
@@ -2123,22 +2126,22 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2123
2126
  }
2124
2127
  catch (e) {
2125
2128
  if (e instanceof ts_serval_1.ServalError) {
2126
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.servalErrorDuringRequestItemProcessing(e));
2129
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e));
2127
2130
  }
2128
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2131
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2129
2132
  }
2130
2133
  }
2131
2134
  async accept(params) {
2132
2135
  const canAccept = await this.canAccept(params);
2133
2136
  if (!canAccept.isSuccess()) {
2134
- throw new Error("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
2137
+ throw new consumption_1.ConsumptionError("Cannot accept the Request with the given parameters. Call 'canAccept' to get more information.");
2135
2138
  }
2136
2139
  return await this.decide({ ...params, accept: true });
2137
2140
  }
2138
2141
  async reject(params) {
2139
2142
  const canReject = await this.canReject(params);
2140
2143
  if (!canReject.isSuccess()) {
2141
- throw new Error("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
2144
+ throw new consumption_1.ConsumptionError("Cannot reject the Request with the given parameters. Call 'canReject' to get more information.");
2142
2145
  }
2143
2146
  return await this.decide({ ...params, accept: false });
2144
2147
  }
@@ -2203,14 +2206,14 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2203
2206
  if (e instanceof Error) {
2204
2207
  details = ` Details: ${e.message}`;
2205
2208
  }
2206
- throw new Error(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
2209
+ throw new consumption_1.ConsumptionError(`An error occurred while processing a '${requestItem.constructor.name}'. You should contact the developer of this RequestItem.${details}}`);
2207
2210
  }
2208
2211
  }
2209
2212
  async complete(params) {
2210
2213
  const parsedParams = CompleteIncomingRequestParameters_1.CompleteIncomingRequestParameters.from(params);
2211
2214
  const request = await this.getOrThrow(parsedParams.requestId);
2212
2215
  if (request.isOwn) {
2213
- throw new Error("Cannot decide own Request");
2216
+ throw new consumption_1.ConsumptionError("Cannot decide own Request");
2214
2217
  }
2215
2218
  this.assertRequestStatus(request, LocalRequestStatus_1.LocalRequestStatus.Decided);
2216
2219
  const requestIsRejected = request.response.content.result === content_1.ResponseResult.Rejected;
@@ -2222,7 +2225,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2222
2225
  });
2223
2226
  }
2224
2227
  else if (!requestIsRejected || !requestIsFromTemplate) {
2225
- throw new Error("A Request can only be completed without a responseSource if the Request is rejected and the Request is from a Relationship Template");
2228
+ 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");
2226
2229
  }
2227
2230
  request.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Completed);
2228
2231
  await this.update(request);
@@ -2264,7 +2267,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2264
2267
  }
2265
2268
  assertRequestStatus(request, ...status) {
2266
2269
  if (!status.includes(request.status)) {
2267
- throw new Error(`Local Request has to be in status '${status.join("/")}'.`);
2270
+ throw new consumption_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
2268
2271
  }
2269
2272
  }
2270
2273
  async updateRequestExpiry(request) {
@@ -2738,12 +2741,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2738
2741
  /*!******************************************************************************!*\
2739
2742
  !*** ./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js ***!
2740
2743
  \******************************************************************************/
2741
- /***/ ((__unused_webpack_module, exports) => {
2744
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2742
2745
 
2743
2746
  "use strict";
2744
2747
 
2745
2748
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2746
2749
  exports.RequestItemProcessorRegistry = void 0;
2750
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2747
2751
  class RequestItemProcessorRegistry {
2748
2752
  constructor(consumptionController, processors = new Map()) {
2749
2753
  this.consumptionController = consumptionController;
@@ -2751,7 +2755,7 @@ class RequestItemProcessorRegistry {
2751
2755
  }
2752
2756
  registerProcessor(itemConstructor, processorConstructor) {
2753
2757
  if (this.processors.has(itemConstructor)) {
2754
- throw new Error(`There is already a processor registered for '${itemConstructor.name}''. Use 'replaceProcessorForType' if you want to replace it.`);
2758
+ throw new consumption_1.ConsumptionError(`There is already a processor registered for '${itemConstructor.name}''. Use 'replaceProcessorForType' if you want to replace it.`);
2755
2759
  }
2756
2760
  this.processors.set(itemConstructor, processorConstructor);
2757
2761
  }
@@ -2761,7 +2765,7 @@ class RequestItemProcessorRegistry {
2761
2765
  getProcessorForItem(item) {
2762
2766
  const constructor = this.processors.get(item.constructor);
2763
2767
  if (!constructor) {
2764
- throw new Error(`There was no processor registered for '${item.constructor.name}'.`);
2768
+ throw new consumption_1.ConsumptionError(`There was no processor registered for '${item.constructor.name}'.`);
2765
2769
  }
2766
2770
  return new constructor(this.consumptionController);
2767
2771
  }
@@ -2873,17 +2877,17 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
2873
2877
  const ownerIsEmptyString = requestItem.attribute.owner.toString() === "";
2874
2878
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
2875
2879
  if (senderIsAttributeOwner) {
2876
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
2880
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot create own Attributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
2877
2881
  }
2878
2882
  if (recipientIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2879
2883
  return ValidationResult_1.ValidationResult.success();
2880
2884
  }
2881
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.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."));
2885
+ 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."));
2882
2886
  }
2883
2887
  if (recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2884
2888
  return ValidationResult_1.ValidationResult.success();
2885
2889
  }
2886
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.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."));
2890
+ 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."));
2887
2891
  }
2888
2892
  async accept(requestItem, _params, requestInfo) {
2889
2893
  if (requestItem.attribute.owner.toString() === "") {
@@ -3024,7 +3028,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3024
3028
  }
3025
3029
  validateAttribute(attribute) {
3026
3030
  if (attribute.owner.toString() !== "") {
3027
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.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."));
3031
+ 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."));
3028
3032
  }
3029
3033
  return ValidationResult_1.ValidationResult.success();
3030
3034
  }
@@ -3034,7 +3038,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3034
3038
  return commonQueryValidationResult;
3035
3039
  }
3036
3040
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
3037
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.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."));
3041
+ 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."));
3038
3042
  }
3039
3043
  return ValidationResult_1.ValidationResult.success();
3040
3044
  }
@@ -3049,7 +3053,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3049
3053
  attribute = localAttribute.content;
3050
3054
  }
3051
3055
  if (!attribute.owner.equals(this.currentIdentityAddress)) {
3052
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3056
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3053
3057
  }
3054
3058
  return ValidationResult_1.ValidationResult.success();
3055
3059
  }
@@ -3133,6 +3137,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3133
3137
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3134
3138
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3135
3139
  const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
3140
+ const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
3136
3141
  let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
3137
3142
  isWithExistingAttribute() {
3138
3143
  return this.existingAttributeId !== undefined;
@@ -3144,8 +3149,9 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
3144
3149
  return this.fromAny(value);
3145
3150
  }
3146
3151
  static postFrom(value) {
3147
- if (!(value instanceof AcceptReadAttributeRequestItemParameters_1))
3148
- throw new Error("this should never happen");
3152
+ if (!(value instanceof AcceptReadAttributeRequestItemParameters_1)) {
3153
+ throw new consumption_1.ConsumptionError("this should never happen");
3154
+ }
3149
3155
  if (value.existingAttributeId && value.newAttribute) {
3150
3156
  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)}.`);
3151
3157
  }
@@ -3211,7 +3217,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
3211
3217
  }
3212
3218
  const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
3213
3219
  if (!ownerIsCurrentIdentity) {
3214
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3220
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
3215
3221
  }
3216
3222
  }
3217
3223
  return ValidationResult_1.ValidationResult.success();
@@ -3356,13 +3362,13 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
3356
3362
  const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
3357
3363
  const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
3358
3364
  if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
3359
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.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."));
3365
+ 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."));
3360
3366
  }
3361
3367
  return ValidationResult_1.ValidationResult.success();
3362
3368
  }
3363
3369
  canCreateWithRelationshipAttribute(attribute) {
3364
3370
  if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
3365
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it."));
3371
+ 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."));
3366
3372
  }
3367
3373
  return ValidationResult_1.ValidationResult.success();
3368
3374
  }
@@ -3412,13 +3418,13 @@ const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dis
3412
3418
  function validateQuery(query, sender, recipient) {
3413
3419
  if (query instanceof content_1.ThirdPartyRelationshipAttributeQuery) {
3414
3420
  if (query.thirdParty.equals(sender)) {
3415
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
3421
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the own address as third party."));
3416
3422
  }
3417
3423
  if (query.thirdParty.equals(recipient)) {
3418
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
3424
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query an Attribute with the recipient's address as third party."));
3419
3425
  }
3420
3426
  if (query.owner.equals(sender)) {
3421
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
3427
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("Cannot query own Attributes from a third party."));
3422
3428
  }
3423
3429
  }
3424
3430
  return ValidationResult_1.ValidationResult.success();
@@ -3450,6 +3456,7 @@ exports.LocalRequest = exports.LocalRequestSource = void 0;
3450
3456
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
3451
3457
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3452
3458
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3459
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
3453
3460
  const LocalRequestStatus_1 = __webpack_require__(/*! ./LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js");
3454
3461
  const LocalRequestStatusLogEntry_1 = __webpack_require__(/*! ./LocalRequestStatusLogEntry */ "./dist/modules/requests/local/LocalRequestStatusLogEntry.js");
3455
3462
  const LocalResponse_1 = __webpack_require__(/*! ./LocalResponse */ "./dist/modules/requests/local/LocalResponse.js");
@@ -3475,7 +3482,7 @@ exports.LocalRequestSource = LocalRequestSource;
3475
3482
  let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3476
3483
  changeStatus(newStatus) {
3477
3484
  if (this.status === newStatus)
3478
- throw new Error("cannot change status to the same status");
3485
+ throw new consumption_1.ConsumptionError("cannot change status to the same status");
3479
3486
  const logEntry = LocalRequestStatusLogEntry_1.LocalRequestStatusLogEntry.from({
3480
3487
  createdAt: transport_1.CoreDate.utc(),
3481
3488
  oldStatus: this.status,
@@ -3486,7 +3493,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3486
3493
  }
3487
3494
  sent(source) {
3488
3495
  if (this.status !== LocalRequestStatus_1.LocalRequestStatus.Draft) {
3489
- throw new Error("Local Request has to be in status 'Draft'.");
3496
+ throw new consumption_1.ConsumptionError("Local Request has to be in status 'Draft'.");
3490
3497
  }
3491
3498
  this.source = source;
3492
3499
  this.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Open);
@@ -3807,13 +3814,13 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3807
3814
  const peer = parsedParams.creationChange.request.createdBy;
3808
3815
  const requestBody = parsedParams.creationChange.request.content;
3809
3816
  if (!(requestBody instanceof content_1.RelationshipCreationChangeRequestBody)) {
3810
- throw new Error("the body of the request is not supported as is is not type of RelationshipCreationChangeRequestBody");
3817
+ throw new consumption_1.ConsumptionError("the body of the request is not supported as is is not type of RelationshipCreationChangeRequestBody");
3811
3818
  }
3812
3819
  const receivedResponse = requestBody.response;
3813
3820
  const id = receivedResponse.requestId;
3814
3821
  const templateContent = parsedParams.template.cache.content;
3815
3822
  if (!(templateContent instanceof content_1.RelationshipTemplateBody)) {
3816
- throw new Error("the body of the template is not supported as is is not type of RelationshipTemplateBody");
3823
+ throw new consumption_1.ConsumptionError("the body of the template is not supported as is is not type of RelationshipTemplateBody");
3817
3824
  }
3818
3825
  // TODO: is this the correct request (=> could be RelationshipTemplateBody#existingRelationshipRequest)
3819
3826
  await this._create(id, templateContent.onNewRelationship, peer);
@@ -3846,17 +3853,17 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3846
3853
  getSourceType(sourceObject) {
3847
3854
  if (sourceObject instanceof transport_1.Message) {
3848
3855
  if (!sourceObject.isOwn) {
3849
- throw new Error("Cannot create outgoing Request from a peer Message");
3856
+ throw new consumption_1.ConsumptionError("Cannot create outgoing Request from a peer Message");
3850
3857
  }
3851
3858
  return "Message";
3852
3859
  }
3853
3860
  else if (sourceObject instanceof transport_1.RelationshipTemplate) {
3854
3861
  if (!sourceObject.isOwn) {
3855
- throw new Error("Cannot create outgoing Request from a peer Relationship Template");
3862
+ throw new consumption_1.ConsumptionError("Cannot create outgoing Request from a peer Relationship Template");
3856
3863
  }
3857
3864
  return "RelationshipTemplate";
3858
3865
  }
3859
- throw new Error("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
3866
+ throw new consumption_1.ConsumptionError("The given sourceObject is not of a valid type. Valid types are 'Message' and 'RelationshipTemplate'.");
3860
3867
  }
3861
3868
  async complete(params) {
3862
3869
  const parsedParams = CompleteOutgoingRequestParameters_1.CompleteOugoingRequestParameters.from(params);
@@ -3875,7 +3882,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3875
3882
  ? responseSourceObject.cache.createdAt
3876
3883
  : responseSourceObject.request.createdAt;
3877
3884
  if (request.status === LocalRequestStatus_1.LocalRequestStatus.Expired && request.isExpired(responseSourceObjectCreationDate)) {
3878
- throw new Error("Cannot complete an expired request with a response that was created before the expiration date");
3885
+ throw new consumption_1.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");
3879
3886
  }
3880
3887
  const canComplete = await this.canComplete(request, receivedResponse);
3881
3888
  if (canComplete.isError()) {
@@ -3890,7 +3897,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3890
3897
  responseSource = "RelationshipChange";
3891
3898
  }
3892
3899
  else {
3893
- throw new Error("Invalid responseSourceObject");
3900
+ throw new consumption_1.ConsumptionError("Invalid responseSourceObject");
3894
3901
  }
3895
3902
  const localResponse = LocalResponse_1.LocalResponse.from({
3896
3903
  content: receivedResponse,
@@ -3981,7 +3988,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3981
3988
  }
3982
3989
  assertRequestStatus(request, ...status) {
3983
3990
  if (!status.includes(request.status)) {
3984
- throw new Error(`Local Request has to be in status '${status.join("/")}'.`);
3991
+ throw new consumption_1.ConsumptionError(`Local Request has to be in status '${status.join("/")}'.`);
3985
3992
  }
3986
3993
  }
3987
3994
  async updateRequestExpiry(request) {
@@ -4228,12 +4235,22 @@ exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
4228
4235
  /*!*****************************************************!*\
4229
4236
  !*** ./dist/modules/settings/SettingsController.js ***!
4230
4237
  \*****************************************************/
4231
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4238
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4232
4239
 
4233
4240
  "use strict";
4234
4241
 
4242
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
4243
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4244
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4245
+ 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;
4246
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4247
+ };
4248
+ var __metadata = (this && this.__metadata) || function (k, v) {
4249
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
4250
+ };
4235
4251
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4236
4252
  exports.SettingsController = void 0;
4253
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
4237
4254
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
4238
4255
  const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
4239
4256
  const Setting_1 = __webpack_require__(/*! ./local/Setting */ "./dist/modules/settings/local/Setting.js");
@@ -4270,15 +4287,20 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
4270
4287
  }
4271
4288
  async updateSetting(setting) {
4272
4289
  const oldSetting = await this.settings.read(setting.id.toString());
4273
- if (!oldSetting) {
4274
- throw transport_1.TransportErrors.general.recordNotFound(Setting_1.Setting, setting.id.toString()).logWith(this._log);
4275
- }
4290
+ if (!oldSetting)
4291
+ throw transport_1.TransportErrors.general.recordNotFound(Setting_1.Setting, setting.id.toString());
4276
4292
  await this.settings.update(oldSetting, setting);
4277
4293
  }
4278
4294
  async deleteSetting(setting) {
4279
4295
  await this.settings.delete(setting);
4280
4296
  }
4281
4297
  }
4298
+ __decorate([
4299
+ (0, ts_utils_1.log)(),
4300
+ __metadata("design:type", Function),
4301
+ __metadata("design:paramtypes", [Setting_1.Setting]),
4302
+ __metadata("design:returntype", Promise)
4303
+ ], SettingsController.prototype, "updateSetting", null);
4282
4304
  exports.SettingsController = SettingsController;
4283
4305
  //# sourceMappingURL=SettingsController.js.map
4284
4306
 
@@ -4983,29 +5005,50 @@ __exportStar(__webpack_require__(/*! ./sleep */ "./node_modules/@js-soft/ts-util
4983
5005
  /*!*************************************************************!*\
4984
5006
  !*** ./node_modules/@js-soft/ts-utils/dist/logDecorator.js ***!
4985
5007
  \*************************************************************/
4986
- /***/ ((__unused_webpack_module, exports) => {
5008
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4987
5009
 
4988
5010
  "use strict";
4989
5011
 
5012
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5013
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5014
+ };
4990
5015
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4991
5016
  exports.log = void 0;
4992
- /* eslint-disable no-console */
4993
- function log(_target, propertyName, propertyDesciptor) {
4994
- const method = propertyDesciptor.value;
4995
- propertyDesciptor.value = function (...args) {
4996
- const params = args.map((a) => JSON.stringify(a)).join();
4997
- try {
4998
- const result = method.apply(this, args);
4999
- const r = JSON.stringify(result);
5000
- console.log(`Call: ${propertyName}(${params}) => ${r}`);
5001
- return result;
5002
- }
5003
- catch (error) {
5004
- console.log(error);
5005
- throw error;
5006
- }
5017
+ const json_stringify_safe_1 = __importDefault(__webpack_require__(/*! json-stringify-safe */ "./node_modules/json-stringify-safe/stringify.js"));
5018
+ function log(params) {
5019
+ return function (_target, propertyName, propertyDescriptorDoNotChangeMyNamePlease) {
5020
+ const method = propertyDescriptorDoNotChangeMyNamePlease.value;
5021
+ propertyDescriptorDoNotChangeMyNamePlease.value = function (...args) {
5022
+ const thisT = this;
5023
+ try {
5024
+ if (params?.logParams) {
5025
+ thisT.log.trace(`Calling ${propertyName}(${args.map((a) => (0, json_stringify_safe_1.default)(a)).join(", ")})`);
5026
+ }
5027
+ else {
5028
+ thisT.log.trace(`Calling ${propertyName}`);
5029
+ }
5030
+ const returnValue = method.apply(this, args);
5031
+ if (params?.logReturnValue) {
5032
+ thisT.log.trace(`Returning from ${propertyName} with: ${(0, json_stringify_safe_1.default)(returnValue)}`);
5033
+ }
5034
+ else {
5035
+ thisT.log.trace(`Returning from ${propertyName}`);
5036
+ }
5037
+ return returnValue;
5038
+ }
5039
+ catch (error) {
5040
+ if (error instanceof Error && error.stack) {
5041
+ error.stack = error.stack
5042
+ .split("\n")
5043
+ .filter((s) => !s.includes(".propertyDescriptorDoNotChangeMyNamePlease.value"))
5044
+ .join("\n");
5045
+ }
5046
+ thisT.log.error(`Error in ${propertyName}:`, error);
5047
+ throw error;
5048
+ }
5049
+ };
5050
+ return propertyDescriptorDoNotChangeMyNamePlease;
5007
5051
  };
5008
- return propertyDesciptor;
5009
5052
  }
5010
5053
  exports.log = log;
5011
5054
  //# sourceMappingURL=logDecorator.js.map
@@ -6826,6 +6869,43 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*!
6826
6869
  }();
6827
6870
 
6828
6871
 
6872
+ /***/ }),
6873
+
6874
+ /***/ "./node_modules/json-stringify-safe/stringify.js":
6875
+ /*!*******************************************************!*\
6876
+ !*** ./node_modules/json-stringify-safe/stringify.js ***!
6877
+ \*******************************************************/
6878
+ /***/ ((module, exports) => {
6879
+
6880
+ exports = module.exports = stringify
6881
+ exports.getSerialize = serializer
6882
+
6883
+ function stringify(obj, replacer, spaces, cycleReplacer) {
6884
+ return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces)
6885
+ }
6886
+
6887
+ function serializer(replacer, cycleReplacer) {
6888
+ var stack = [], keys = []
6889
+
6890
+ if (cycleReplacer == null) cycleReplacer = function(key, value) {
6891
+ if (stack[0] === value) return "[Circular ~]"
6892
+ return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]"
6893
+ }
6894
+
6895
+ return function(key, value) {
6896
+ if (stack.length > 0) {
6897
+ var thisPos = stack.indexOf(this)
6898
+ ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)
6899
+ ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)
6900
+ if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value)
6901
+ }
6902
+ else stack.push(value)
6903
+
6904
+ return replacer == null ? value : replacer.call(this, key, value)
6905
+ }
6906
+ }
6907
+
6908
+
6829
6909
  /***/ }),
6830
6910
 
6831
6911
  /***/ "./node_modules/luxon/build/node/luxon.js":
@@ -11189,7 +11269,7 @@ function dayDiff(earlier, later) {
11189
11269
  }
11190
11270
 
11191
11271
  function highOrderDiffs(cursor, later, units) {
11192
- const differs = [["years", (a, b) => b.year - a.year], ["quarters", (a, b) => b.quarter - a.quarter], ["months", (a, b) => b.month - a.month + (b.year - a.year) * 12], ["weeks", (a, b) => {
11272
+ const differs = [["years", (a, b) => b.year - a.year], ["quarters", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4], ["months", (a, b) => b.month - a.month + (b.year - a.year) * 12], ["weeks", (a, b) => {
11193
11273
  const days = dayDiff(a, b);
11194
11274
  return (days - days % 7) / 7;
11195
11275
  }], ["days", dayDiff]];
@@ -14378,7 +14458,7 @@ function friendlyDateTime(dateTimeish) {
14378
14458
  }
14379
14459
  }
14380
14460
 
14381
- const VERSION = "3.0.3";
14461
+ const VERSION = "3.0.4";
14382
14462
 
14383
14463
  exports.DateTime = DateTime;
14384
14464
  exports.Duration = Duration;