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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +5 -8
  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 +222 -145
  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 +10 -10
  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.23",
21
- build: "75",
22
- date: "2022-09-22T07:26:01+00:00",
23
- commit: "d236f8080e45bc388cbf4bb982d662e47bfe96e7",
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,12 +697,9 @@ 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
- const attributeValueAsAny = localAttribute.content.value;
706
- const nestedAttributeValues = Object.keys(localAttribute.content.value)
707
- .map((k) => attributeValueAsAny[k])
708
- .filter((p) => p instanceof content_1.AbstractAttributeValue);
702
+ const nestedAttributeValues = Object.values(localAttribute.content.value).filter((p) => p instanceof content_1.AbstractAttributeValue);
709
703
  for (const propertyValue of nestedAttributeValues) {
710
704
  const nestedAttribute = content_1.IdentityAttribute.from({
711
705
  ...localAttribute.content.toJSON(),
@@ -721,10 +715,10 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
721
715
  });
722
716
  const currentAttribute = LocalAttribute_1.LocalAttribute.from(currentAttributeDoc);
723
717
  if (currentAttribute.parentId) {
724
- throw consumption_1.ConsumptionErrors.attributes.cannotSucceedAttributesWithAParent(parsedParams.succeeds.toString());
718
+ throw consumption_1.CoreErrors.attributes.cannotSucceedAttributesWithAParent(parsedParams.succeeds.toString());
725
719
  }
726
720
  if (!currentAttributeDoc) {
727
- throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.succeeds.toString());
721
+ throw consumption_1.CoreErrors.attributes.predecessorNotFound(parsedParams.succeeds.toString());
728
722
  }
729
723
  if (!parsedParams.successorContent.validFrom) {
730
724
  parsedParams.successorContent.validFrom = transport_1.CoreDate.utc();
@@ -741,7 +735,7 @@ class AttributesController extends consumption_1.ConsumptionBaseController {
741
735
  const parsedParams = CreateSharedLocalAttributeCopyParams_1.CreateSharedLocalAttributeCopyParams.from(params);
742
736
  const sourceAttribute = await this.getLocalAttribute(parsedParams.sourceAttributeId);
743
737
  if (!sourceAttribute) {
744
- throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.sourceAttributeId.toString());
738
+ throw consumption_1.CoreErrors.attributes.predecessorNotFound(parsedParams.sourceAttributeId.toString());
745
739
  }
746
740
  const shareInfo = LocalAttributeShareInfo_1.LocalAttributeShareInfo.from({
747
741
  peer: parsedParams.peer,
@@ -1289,6 +1283,7 @@ exports.ThirdPartyRelationshipAttributeQueryTranslator = exports.RelationshipAtt
1289
1283
  const docdb_querytranslator_1 = __webpack_require__(/*! @js-soft/docdb-querytranslator */ "./node_modules/@js-soft/docdb-querytranslator/dist/index.js");
1290
1284
  const luxon_1 = __webpack_require__(/*! luxon */ "./node_modules/luxon/build/node/luxon.js");
1291
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");
1292
1287
  class IdentityAttributeQueryTranslator {
1293
1288
  static translate(query) {
1294
1289
  return this.translator.parse({ ...query.toJSON(), attributeType: "IdentityAttribute" });
@@ -1317,7 +1312,7 @@ IdentityAttributeQueryTranslator.translator = new docdb_querytranslator_1.QueryT
1317
1312
  if (!input)
1318
1313
  return;
1319
1314
  if (!Array.isArray(input)) {
1320
- throw new Error("Invalid input: 'tags' must be an array");
1315
+ throw new consumption_1.ConsumptionError("Invalid input: 'tags' must be an array");
1321
1316
  }
1322
1317
  const inputAsArray = input;
1323
1318
  query["$or"] = inputAsArray.map((t) => ({
@@ -1583,7 +1578,7 @@ class DraftsController extends consumption_1.ConsumptionBaseController {
1583
1578
  async updateDraft(draft) {
1584
1579
  const oldDraft = await this.drafts.read(draft.id.toString());
1585
1580
  if (!oldDraft) {
1586
- throw new Error("Draft Not Found");
1581
+ throw new consumption_1.ConsumptionError("Draft Not Found");
1587
1582
  }
1588
1583
  await this.drafts.update(oldDraft, draft);
1589
1584
  }
@@ -1748,11 +1743,12 @@ __exportStar(__webpack_require__(/*! ./settings */ "./dist/modules/settings/inde
1748
1743
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1749
1744
  exports.IncomingRequestReceivedEvent = void 0;
1750
1745
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1746
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1751
1747
  class IncomingRequestReceivedEvent extends transport_1.TransportDataEvent {
1752
1748
  constructor(eventTargetAddress, data) {
1753
1749
  super(IncomingRequestReceivedEvent.namespace, eventTargetAddress, data);
1754
1750
  if (data.isOwn)
1755
- 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");
1756
1752
  }
1757
1753
  }
1758
1754
  exports.IncomingRequestReceivedEvent = IncomingRequestReceivedEvent;
@@ -1772,11 +1768,12 @@ IncomingRequestReceivedEvent.namespace = "consumption.incomingRequestReceived";
1772
1768
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1773
1769
  exports.IncomingRequestStatusChangedEvent = void 0;
1774
1770
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1771
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1775
1772
  class IncomingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1776
1773
  constructor(eventTargetAddress, data) {
1777
1774
  super(IncomingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1778
1775
  if (data.request.isOwn)
1779
- 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");
1780
1777
  }
1781
1778
  }
1782
1779
  exports.IncomingRequestStatusChangedEvent = IncomingRequestStatusChangedEvent;
@@ -1796,11 +1793,12 @@ IncomingRequestStatusChangedEvent.namespace = "consumption.incomingRequestStatus
1796
1793
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1797
1794
  exports.OutgoingRequestCreatedEvent = void 0;
1798
1795
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1796
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1799
1797
  class OutgoingRequestCreatedEvent extends transport_1.TransportDataEvent {
1800
1798
  constructor(eventTargetAddress, data) {
1801
1799
  super(OutgoingRequestCreatedEvent.namespace, eventTargetAddress, data);
1802
1800
  if (!data.isOwn)
1803
- 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");
1804
1802
  }
1805
1803
  }
1806
1804
  exports.OutgoingRequestCreatedEvent = OutgoingRequestCreatedEvent;
@@ -1820,11 +1818,12 @@ OutgoingRequestCreatedEvent.namespace = "consumption.outgoingRequestCreated";
1820
1818
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1821
1819
  exports.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent = void 0;
1822
1820
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1821
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1823
1822
  class OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent extends transport_1.TransportDataEvent {
1824
1823
  constructor(eventTargetAddress, data) {
1825
1824
  super(OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace, eventTargetAddress, data);
1826
1825
  if (!data.isOwn)
1827
- 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");
1828
1827
  }
1829
1828
  }
1830
1829
  exports.OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent = OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent;
@@ -1844,11 +1843,12 @@ OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.namespace
1844
1843
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1845
1844
  exports.OutgoingRequestStatusChangedEvent = void 0;
1846
1845
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1846
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
1847
1847
  class OutgoingRequestStatusChangedEvent extends transport_1.TransportDataEvent {
1848
1848
  constructor(eventTargetAddress, data) {
1849
1849
  super(OutgoingRequestStatusChangedEvent.namespace, eventTargetAddress, data);
1850
1850
  if (!data.request.isOwn)
1851
- 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");
1852
1852
  }
1853
1853
  }
1854
1854
  exports.OutgoingRequestStatusChangedEvent = OutgoingRequestStatusChangedEvent;
@@ -1908,10 +1908,10 @@ const DecideRequestItemParameters_1 = __webpack_require__(/*! ./decide/DecideReq
1908
1908
  class DecideRequestParametersValidator {
1909
1909
  validate(params, request) {
1910
1910
  if (!request.id.equals(transport_1.CoreId.from(params.requestId))) {
1911
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.invalidRequestId());
1911
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.invalidRequestId());
1912
1912
  }
1913
1913
  if (params.items.length !== request.content.items.length) {
1914
- 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"));
1915
1915
  }
1916
1916
  const validationResults = request.content.items.map((requestItem, index) => this.checkItemOrGroup(requestItem, params.items[index], params.accept));
1917
1917
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -1924,29 +1924,29 @@ class DecideRequestParametersValidator {
1924
1924
  }
1925
1925
  checkItem(requestItem, response, isParentAccepted) {
1926
1926
  if ((0, DecideRequestItemGroupParameters_1.isDecideRequestItemGroupParametersJSON)(response)) {
1927
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
1927
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemAnsweredAsRequestItemGroup());
1928
1928
  }
1929
1929
  if (!isParentAccepted && response.accept) {
1930
- 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."));
1931
1931
  }
1932
1932
  if (isParentAccepted && requestItem.mustBeAccepted && !response.accept) {
1933
- 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."));
1934
1934
  }
1935
1935
  return ValidationResult_1.ValidationResult.success();
1936
1936
  }
1937
1937
  checkItemGroup(requestItemGroup, responseItemGroup, isParentAccepted) {
1938
1938
  if ((0, DecideRequestItemParameters_1.isDecideRequestItemParametersJSON)(responseItemGroup)) {
1939
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
1939
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.decideValidation.requestItemGroupAnsweredAsRequestItem());
1940
1940
  }
1941
1941
  if (responseItemGroup.items.length !== requestItemGroup.items.length) {
1942
- 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"));
1943
1943
  }
1944
1944
  const isGroupAccepted = responseItemGroup.items.some((value) => value.accept);
1945
1945
  if (!isParentAccepted && isGroupAccepted) {
1946
- 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."));
1947
1947
  }
1948
1948
  if (isParentAccepted && requestItemGroup.mustBeAccepted && !isGroupAccepted) {
1949
- 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."));
1950
1950
  }
1951
1951
  const validationResults = requestItemGroup.items.map((requestItem, index) => this.checkItem(requestItem, responseItemGroup.items[index], isGroupAccepted));
1952
1952
  return ValidationResult_1.ValidationResult.fromItems(validationResults);
@@ -2016,7 +2016,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2016
2016
  }
2017
2017
  extractInfoFromMessage(message) {
2018
2018
  if (message.isOwn)
2019
- throw new Error("Cannot create incoming Request from own Message");
2019
+ throw new consumption_1.ConsumptionError("Cannot create incoming Request from own Message");
2020
2020
  return {
2021
2021
  peer: message.cache.createdBy,
2022
2022
  source: {
@@ -2027,7 +2027,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2027
2027
  }
2028
2028
  extractInfoFromRelationshipTemplate(template) {
2029
2029
  if (template.isOwn)
2030
- 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");
2031
2031
  return {
2032
2032
  peer: template.cache.createdBy,
2033
2033
  source: {
@@ -2126,22 +2126,22 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2126
2126
  }
2127
2127
  catch (e) {
2128
2128
  if (e instanceof ts_serval_1.ServalError) {
2129
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.servalErrorDuringRequestItemProcessing(e));
2129
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.servalErrorDuringRequestItemProcessing(e));
2130
2130
  }
2131
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2131
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
2132
2132
  }
2133
2133
  }
2134
2134
  async accept(params) {
2135
2135
  const canAccept = await this.canAccept(params);
2136
2136
  if (!canAccept.isSuccess()) {
2137
- 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.");
2138
2138
  }
2139
2139
  return await this.decide({ ...params, accept: true });
2140
2140
  }
2141
2141
  async reject(params) {
2142
2142
  const canReject = await this.canReject(params);
2143
2143
  if (!canReject.isSuccess()) {
2144
- 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.");
2145
2145
  }
2146
2146
  return await this.decide({ ...params, accept: false });
2147
2147
  }
@@ -2206,14 +2206,14 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2206
2206
  if (e instanceof Error) {
2207
2207
  details = ` Details: ${e.message}`;
2208
2208
  }
2209
- 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}}`);
2210
2210
  }
2211
2211
  }
2212
2212
  async complete(params) {
2213
2213
  const parsedParams = CompleteIncomingRequestParameters_1.CompleteIncomingRequestParameters.from(params);
2214
2214
  const request = await this.getOrThrow(parsedParams.requestId);
2215
2215
  if (request.isOwn) {
2216
- throw new Error("Cannot decide own Request");
2216
+ throw new consumption_1.ConsumptionError("Cannot decide own Request");
2217
2217
  }
2218
2218
  this.assertRequestStatus(request, LocalRequestStatus_1.LocalRequestStatus.Decided);
2219
2219
  const requestIsRejected = request.response.content.result === content_1.ResponseResult.Rejected;
@@ -2225,7 +2225,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2225
2225
  });
2226
2226
  }
2227
2227
  else if (!requestIsRejected || !requestIsFromTemplate) {
2228
- 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");
2229
2229
  }
2230
2230
  request.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Completed);
2231
2231
  await this.update(request);
@@ -2267,7 +2267,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
2267
2267
  }
2268
2268
  assertRequestStatus(request, ...status) {
2269
2269
  if (!status.includes(request.status)) {
2270
- 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("/")}'.`);
2271
2271
  }
2272
2272
  }
2273
2273
  async updateRequestExpiry(request) {
@@ -2741,12 +2741,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
2741
2741
  /*!******************************************************************************!*\
2742
2742
  !*** ./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js ***!
2743
2743
  \******************************************************************************/
2744
- /***/ ((__unused_webpack_module, exports) => {
2744
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2745
2745
 
2746
2746
  "use strict";
2747
2747
 
2748
2748
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2749
2749
  exports.RequestItemProcessorRegistry = void 0;
2750
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
2750
2751
  class RequestItemProcessorRegistry {
2751
2752
  constructor(consumptionController, processors = new Map()) {
2752
2753
  this.consumptionController = consumptionController;
@@ -2754,7 +2755,7 @@ class RequestItemProcessorRegistry {
2754
2755
  }
2755
2756
  registerProcessor(itemConstructor, processorConstructor) {
2756
2757
  if (this.processors.has(itemConstructor)) {
2757
- 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.`);
2758
2759
  }
2759
2760
  this.processors.set(itemConstructor, processorConstructor);
2760
2761
  }
@@ -2764,7 +2765,7 @@ class RequestItemProcessorRegistry {
2764
2765
  getProcessorForItem(item) {
2765
2766
  const constructor = this.processors.get(item.constructor);
2766
2767
  if (!constructor) {
2767
- 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}'.`);
2768
2769
  }
2769
2770
  return new constructor(this.consumptionController);
2770
2771
  }
@@ -2876,17 +2877,17 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
2876
2877
  const ownerIsEmptyString = requestItem.attribute.owner.toString() === "";
2877
2878
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
2878
2879
  if (senderIsAttributeOwner) {
2879
- 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."));
2880
2881
  }
2881
2882
  if (recipientIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2882
2883
  return ValidationResult_1.ValidationResult.success();
2883
2884
  }
2884
- 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."));
2885
2886
  }
2886
2887
  if (recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString || recipient === undefined) {
2887
2888
  return ValidationResult_1.ValidationResult.success();
2888
2889
  }
2889
- 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."));
2890
2891
  }
2891
2892
  async accept(requestItem, _params, requestInfo) {
2892
2893
  if (requestItem.attribute.owner.toString() === "") {
@@ -3027,7 +3028,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3027
3028
  }
3028
3029
  validateAttribute(attribute) {
3029
3030
  if (attribute.owner.toString() !== "") {
3030
- 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."));
3031
3032
  }
3032
3033
  return ValidationResult_1.ValidationResult.success();
3033
3034
  }
@@ -3037,7 +3038,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3037
3038
  return commonQueryValidationResult;
3038
3039
  }
3039
3040
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
3040
- 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."));
3041
3042
  }
3042
3043
  return ValidationResult_1.ValidationResult.success();
3043
3044
  }
@@ -3052,7 +3053,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
3052
3053
  attribute = localAttribute.content;
3053
3054
  }
3054
3055
  if (!attribute.owner.equals(this.currentIdentityAddress)) {
3055
- 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."));
3056
3057
  }
3057
3058
  return ValidationResult_1.ValidationResult.success();
3058
3059
  }
@@ -3136,6 +3137,7 @@ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-s
3136
3137
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3137
3138
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3138
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");
3139
3141
  let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
3140
3142
  isWithExistingAttribute() {
3141
3143
  return this.existingAttributeId !== undefined;
@@ -3147,8 +3149,9 @@ let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemPar
3147
3149
  return this.fromAny(value);
3148
3150
  }
3149
3151
  static postFrom(value) {
3150
- if (!(value instanceof AcceptReadAttributeRequestItemParameters_1))
3151
- throw new Error("this should never happen");
3152
+ if (!(value instanceof AcceptReadAttributeRequestItemParameters_1)) {
3153
+ throw new consumption_1.ConsumptionError("this should never happen");
3154
+ }
3152
3155
  if (value.existingAttributeId && value.newAttribute) {
3153
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)}.`);
3154
3157
  }
@@ -3214,7 +3217,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
3214
3217
  }
3215
3218
  const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
3216
3219
  if (!ownerIsCurrentIdentity) {
3217
- 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."));
3218
3221
  }
3219
3222
  }
3220
3223
  return ValidationResult_1.ValidationResult.success();
@@ -3359,13 +3362,13 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
3359
3362
  const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
3360
3363
  const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
3361
3364
  if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
3362
- 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."));
3363
3366
  }
3364
3367
  return ValidationResult_1.ValidationResult.success();
3365
3368
  }
3366
3369
  canCreateWithRelationshipAttribute(attribute) {
3367
3370
  if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
3368
- 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."));
3369
3372
  }
3370
3373
  return ValidationResult_1.ValidationResult.success();
3371
3374
  }
@@ -3415,13 +3418,13 @@ const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dis
3415
3418
  function validateQuery(query, sender, recipient) {
3416
3419
  if (query instanceof content_1.ThirdPartyRelationshipAttributeQuery) {
3417
3420
  if (query.thirdParty.equals(sender)) {
3418
- 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."));
3419
3422
  }
3420
3423
  if (query.thirdParty.equals(recipient)) {
3421
- 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."));
3422
3425
  }
3423
3426
  if (query.owner.equals(sender)) {
3424
- 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."));
3425
3428
  }
3426
3429
  }
3427
3430
  return ValidationResult_1.ValidationResult.success();
@@ -3453,6 +3456,7 @@ exports.LocalRequest = exports.LocalRequestSource = void 0;
3453
3456
  const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
3454
3457
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
3455
3458
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
3459
+ const consumption_1 = __webpack_require__(/*! ../../../consumption */ "./dist/consumption/index.js");
3456
3460
  const LocalRequestStatus_1 = __webpack_require__(/*! ./LocalRequestStatus */ "./dist/modules/requests/local/LocalRequestStatus.js");
3457
3461
  const LocalRequestStatusLogEntry_1 = __webpack_require__(/*! ./LocalRequestStatusLogEntry */ "./dist/modules/requests/local/LocalRequestStatusLogEntry.js");
3458
3462
  const LocalResponse_1 = __webpack_require__(/*! ./LocalResponse */ "./dist/modules/requests/local/LocalResponse.js");
@@ -3478,7 +3482,7 @@ exports.LocalRequestSource = LocalRequestSource;
3478
3482
  let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3479
3483
  changeStatus(newStatus) {
3480
3484
  if (this.status === newStatus)
3481
- throw new Error("cannot change status to the same status");
3485
+ throw new consumption_1.ConsumptionError("cannot change status to the same status");
3482
3486
  const logEntry = LocalRequestStatusLogEntry_1.LocalRequestStatusLogEntry.from({
3483
3487
  createdAt: transport_1.CoreDate.utc(),
3484
3488
  oldStatus: this.status,
@@ -3489,7 +3493,7 @@ let LocalRequest = class LocalRequest extends transport_1.CoreSynchronizable {
3489
3493
  }
3490
3494
  sent(source) {
3491
3495
  if (this.status !== LocalRequestStatus_1.LocalRequestStatus.Draft) {
3492
- 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'.");
3493
3497
  }
3494
3498
  this.source = source;
3495
3499
  this.changeStatus(LocalRequestStatus_1.LocalRequestStatus.Open);
@@ -3810,13 +3814,13 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3810
3814
  const peer = parsedParams.creationChange.request.createdBy;
3811
3815
  const requestBody = parsedParams.creationChange.request.content;
3812
3816
  if (!(requestBody instanceof content_1.RelationshipCreationChangeRequestBody)) {
3813
- 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");
3814
3818
  }
3815
3819
  const receivedResponse = requestBody.response;
3816
3820
  const id = receivedResponse.requestId;
3817
3821
  const templateContent = parsedParams.template.cache.content;
3818
3822
  if (!(templateContent instanceof content_1.RelationshipTemplateBody)) {
3819
- 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");
3820
3824
  }
3821
3825
  // TODO: is this the correct request (=> could be RelationshipTemplateBody#existingRelationshipRequest)
3822
3826
  await this._create(id, templateContent.onNewRelationship, peer);
@@ -3849,17 +3853,17 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3849
3853
  getSourceType(sourceObject) {
3850
3854
  if (sourceObject instanceof transport_1.Message) {
3851
3855
  if (!sourceObject.isOwn) {
3852
- 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");
3853
3857
  }
3854
3858
  return "Message";
3855
3859
  }
3856
3860
  else if (sourceObject instanceof transport_1.RelationshipTemplate) {
3857
3861
  if (!sourceObject.isOwn) {
3858
- 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");
3859
3863
  }
3860
3864
  return "RelationshipTemplate";
3861
3865
  }
3862
- 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'.");
3863
3867
  }
3864
3868
  async complete(params) {
3865
3869
  const parsedParams = CompleteOutgoingRequestParameters_1.CompleteOugoingRequestParameters.from(params);
@@ -3878,7 +3882,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3878
3882
  ? responseSourceObject.cache.createdAt
3879
3883
  : responseSourceObject.request.createdAt;
3880
3884
  if (request.status === LocalRequestStatus_1.LocalRequestStatus.Expired && request.isExpired(responseSourceObjectCreationDate)) {
3881
- 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");
3882
3886
  }
3883
3887
  const canComplete = await this.canComplete(request, receivedResponse);
3884
3888
  if (canComplete.isError()) {
@@ -3893,7 +3897,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3893
3897
  responseSource = "RelationshipChange";
3894
3898
  }
3895
3899
  else {
3896
- throw new Error("Invalid responseSourceObject");
3900
+ throw new consumption_1.ConsumptionError("Invalid responseSourceObject");
3897
3901
  }
3898
3902
  const localResponse = LocalResponse_1.LocalResponse.from({
3899
3903
  content: receivedResponse,
@@ -3984,7 +3988,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
3984
3988
  }
3985
3989
  assertRequestStatus(request, ...status) {
3986
3990
  if (!status.includes(request.status)) {
3987
- 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("/")}'.`);
3988
3992
  }
3989
3993
  }
3990
3994
  async updateRequestExpiry(request) {
@@ -4231,12 +4235,22 @@ exports.SentOutgoingRequestParameters = SentOutgoingRequestParameters;
4231
4235
  /*!*****************************************************!*\
4232
4236
  !*** ./dist/modules/settings/SettingsController.js ***!
4233
4237
  \*****************************************************/
4234
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4238
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4235
4239
 
4236
4240
  "use strict";
4237
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
+ };
4238
4251
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4239
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");
4240
4254
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
4241
4255
  const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
4242
4256
  const Setting_1 = __webpack_require__(/*! ./local/Setting */ "./dist/modules/settings/local/Setting.js");
@@ -4273,15 +4287,20 @@ class SettingsController extends consumption_1.ConsumptionBaseController {
4273
4287
  }
4274
4288
  async updateSetting(setting) {
4275
4289
  const oldSetting = await this.settings.read(setting.id.toString());
4276
- if (!oldSetting) {
4277
- throw transport_1.TransportErrors.general.recordNotFound(Setting_1.Setting, setting.id.toString()).logWith(this._log);
4278
- }
4290
+ if (!oldSetting)
4291
+ throw transport_1.TransportErrors.general.recordNotFound(Setting_1.Setting, setting.id.toString());
4279
4292
  await this.settings.update(oldSetting, setting);
4280
4293
  }
4281
4294
  async deleteSetting(setting) {
4282
4295
  await this.settings.delete(setting);
4283
4296
  }
4284
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);
4285
4304
  exports.SettingsController = SettingsController;
4286
4305
  //# sourceMappingURL=SettingsController.js.map
4287
4306
 
@@ -4986,29 +5005,50 @@ __exportStar(__webpack_require__(/*! ./sleep */ "./node_modules/@js-soft/ts-util
4986
5005
  /*!*************************************************************!*\
4987
5006
  !*** ./node_modules/@js-soft/ts-utils/dist/logDecorator.js ***!
4988
5007
  \*************************************************************/
4989
- /***/ ((__unused_webpack_module, exports) => {
5008
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4990
5009
 
4991
5010
  "use strict";
4992
5011
 
5012
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5013
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5014
+ };
4993
5015
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4994
5016
  exports.log = void 0;
4995
- /* eslint-disable no-console */
4996
- function log(_target, propertyName, propertyDesciptor) {
4997
- const method = propertyDesciptor.value;
4998
- propertyDesciptor.value = function (...args) {
4999
- const params = args.map((a) => JSON.stringify(a)).join();
5000
- try {
5001
- const result = method.apply(this, args);
5002
- const r = JSON.stringify(result);
5003
- console.log(`Call: ${propertyName}(${params}) => ${r}`);
5004
- return result;
5005
- }
5006
- catch (error) {
5007
- console.log(error);
5008
- throw error;
5009
- }
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;
5010
5051
  };
5011
- return propertyDesciptor;
5012
5052
  }
5013
5053
  exports.log = log;
5014
5054
  //# sourceMappingURL=logDecorator.js.map
@@ -6829,6 +6869,43 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/*!
6829
6869
  }();
6830
6870
 
6831
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
+
6832
6909
  /***/ }),
6833
6910
 
6834
6911
  /***/ "./node_modules/luxon/build/node/luxon.js":
@@ -11192,7 +11269,7 @@ function dayDiff(earlier, later) {
11192
11269
  }
11193
11270
 
11194
11271
  function highOrderDiffs(cursor, later, units) {
11195
- 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) => {
11196
11273
  const days = dayDiff(a, b);
11197
11274
  return (days - days % 7) / 7;
11198
11275
  }], ["days", dayDiff]];
@@ -14381,7 +14458,7 @@ function friendlyDateTime(dateTimeish) {
14381
14458
  }
14382
14459
  }
14383
14460
 
14384
- const VERSION = "3.0.3";
14461
+ const VERSION = "3.0.4";
14385
14462
 
14386
14463
  exports.DateTime = DateTime;
14387
14464
  exports.Duration = Duration;