@nmshd/consumption 2.0.0-alpha.14 → 2.0.0-alpha.15

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 (38) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionController.js +1 -1
  3. package/dist/consumption/ConsumptionController.js.map +1 -1
  4. package/dist/consumption/ConsumptionErrors.d.ts +3 -1
  5. package/dist/consumption/ConsumptionErrors.js +7 -1
  6. package/dist/consumption/ConsumptionErrors.js.map +1 -1
  7. package/dist/modules/index.d.ts +2 -0
  8. package/dist/modules/index.js +2 -0
  9. package/dist/modules/index.js.map +1 -1
  10. package/dist/modules/requests/incoming/IncomingRequestsController.js +24 -19
  11. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  12. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts +19 -0
  13. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js +10 -0
  14. package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js.map +1 -0
  15. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +10 -9
  16. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +10 -8
  17. package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
  18. package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +7 -6
  19. package/dist/modules/requests/itemProcessors/ProcessorConstructor.d.ts +2 -1
  20. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.d.ts +3 -1
  21. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js +3 -2
  22. package/dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js.map +1 -1
  23. package/dist/modules/requests/itemProcessors/ValidationResult.d.ts +4 -4
  24. package/dist/modules/requests/itemProcessors/ValidationResult.js +6 -6
  25. package/dist/modules/requests/itemProcessors/ValidationResult.js.map +1 -1
  26. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +10 -0
  27. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +29 -0
  28. package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -0
  29. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +10 -0
  30. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +48 -0
  31. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -0
  32. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +10 -10
  33. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  34. package/lib-web/nmshd.consumption.js +185 -52
  35. package/lib-web/nmshd.consumption.js.map +1 -1
  36. package/lib-web/nmshd.consumption.min.js +1 -1
  37. package/lib-web/nmshd.consumption.min.js.map +1 -1
  38. package/package.json +6 -6
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReadAttributeRequestItemProcessor = void 0;
4
+ const content_1 = require("@nmshd/content");
5
+ const transport_1 = require("@nmshd/transport");
6
+ const consumption_1 = require("../../../../consumption");
7
+ const ConsumptionAttribute_1 = require("../../../attributes/local/ConsumptionAttribute");
8
+ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
9
+ const ValidationResult_1 = require("../ValidationResult");
10
+ const AcceptReadAttributeRequestItemParameters_1 = require("./AcceptReadAttributeRequestItemParameters");
11
+ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
12
+ async canAccept(_requestItem, params, request) {
13
+ const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
14
+ const attribute = await this.consumptionController.attributes.getConsumptionAttribute(parsedParams.attributeId);
15
+ if (!attribute) {
16
+ return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(ConsumptionAttribute_1.ConsumptionAttribute, request.id.toString()));
17
+ }
18
+ if (!this.consumptionController.accountController.identity.isMe(attribute.content.owner)) {
19
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.canOnlyShareOwnAttributes());
20
+ }
21
+ return ValidationResult_1.ValidationResult.success();
22
+ }
23
+ async accept(_requestItem, params, request) {
24
+ const consumptionAttribute = await this.consumptionController.attributes.createSharedConsumptionAttributeCopy({
25
+ attributeId: transport_1.CoreId.from(params.attributeId),
26
+ peer: transport_1.CoreAddress.from(request.peer),
27
+ requestReference: transport_1.CoreId.from(request.id)
28
+ });
29
+ return content_1.ReadAttributeAcceptResponseItem.from({
30
+ result: content_1.ResponseItemResult.Accepted,
31
+ attributeId: consumptionAttribute.id,
32
+ attribute: consumptionAttribute.content
33
+ });
34
+ }
35
+ async applyIncomingResponseItem(responseItem, _requestItem, request) {
36
+ if (!(responseItem instanceof content_1.ReadAttributeAcceptResponseItem)) {
37
+ return;
38
+ }
39
+ await this.consumptionController.attributes.createPeerConsumptionAttribute({
40
+ id: responseItem.attributeId,
41
+ content: responseItem.attribute,
42
+ peer: request.peer,
43
+ requestReference: request.id
44
+ });
45
+ }
46
+ }
47
+ exports.ReadAttributeRequestItemProcessor = ReadAttributeRequestItemProcessor;
48
+ //# sourceMappingURL=ReadAttributeRequestItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAKuB;AACvB,gDAAuE;AACvE,yDAA2D;AAC3D,yFAAqF;AAErF,gFAA4E;AAC5E,0DAAsD;AACtD,yGAGmD;AAEnD,MAAa,iCAAkC,SAAQ,yDAGtD;IACmB,KAAK,CAAC,SAAS,CAC3B,YAAsC,EACtC,MAAoD,EACpD,OAA2B;QAE3B,MAAM,YAAY,GACd,mFAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QAE/G,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,mCAAgB,CAAC,KAAK,CACzB,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,2CAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CACtF,CAAA;SACJ;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtF,OAAO,mCAAgB,CAAC,KAAK,CAAC,+BAAiB,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAA;SACxF;QACD,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,YAAsC,EACtC,MAAoD,EACpD,OAA2B;QAE3B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,oCAAoC,CAAC;YAC1G,WAAW,EAAE,kBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5C,IAAI,EAAE,uBAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpC,gBAAgB,EAAE,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAA;QAEF,OAAO,yCAA+B,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,WAAW,EAAE,oBAAoB,CAAC,EAAE;YACpC,SAAS,EAAE,oBAAoB,CAAC,OAAO;SAC1C,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAkE,EAClE,YAAsC,EACtC,OAA2B;QAE3B,IAAI,CAAC,CAAC,YAAY,YAAY,yCAA+B,CAAC,EAAE;YAC5D,OAAM;SACT;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;YACvE,EAAE,EAAE,YAAY,CAAC,WAAW;YAC5B,OAAO,EAAE,YAAY,CAAC,SAAS;YAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,EAAE;SAC/B,CAAC,CAAA;IACN,CAAC;CACJ;AA5DD,8EA4DC"}
@@ -64,7 +64,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
64
64
  peer
65
65
  });
66
66
  if (canCreateResult.isError()) {
67
- throw new Error(canCreateResult.message);
67
+ throw canCreateResult.error;
68
68
  }
69
69
  const consumptionRequest = ConsumptionRequest_1.ConsumptionRequest.from({
70
70
  id: id,
@@ -136,9 +136,9 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
136
136
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.Open);
137
137
  const canComplete = await this.canComplete(request, receivedResponse);
138
138
  if (canComplete.isError()) {
139
- throw new Error(canComplete.message);
139
+ throw canComplete.error;
140
140
  }
141
- await this.applyItems(request.content.items, receivedResponse.items);
141
+ await this.applyItems(request.content.items, receivedResponse.items, request);
142
142
  let responseSource;
143
143
  if (responseSourceObject instanceof transport_1.Message) {
144
144
  responseSource = "Message";
@@ -165,7 +165,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
165
165
  if (requestItem instanceof content_1.RequestItem) {
166
166
  const responseItem = receivedResponse.items[i];
167
167
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
168
- const canApplyItem = await processor.canApplyIncomingResponseItem(responseItem, requestItem);
168
+ const canApplyItem = await processor.canApplyIncomingResponseItem(responseItem, requestItem, request);
169
169
  if (canApplyItem.isError()) {
170
170
  return canApplyItem;
171
171
  }
@@ -176,7 +176,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
176
176
  const groupRequestItem = requestItem.items[j];
177
177
  const groupResponseItem = responseGroup.items[j];
178
178
  const processor = this.processorRegistry.getProcessorForItem(groupRequestItem);
179
- const canApplyItem = await processor.canApplyIncomingResponseItem(groupResponseItem, groupRequestItem);
179
+ const canApplyItem = await processor.canApplyIncomingResponseItem(groupResponseItem, groupRequestItem, request);
180
180
  if (canApplyItem.isError()) {
181
181
  return canApplyItem;
182
182
  }
@@ -185,22 +185,22 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
185
185
  }
186
186
  return ValidationResult_1.ValidationResult.success();
187
187
  }
188
- async applyItems(requestItems, responseItems) {
188
+ async applyItems(requestItems, responseItems, request) {
189
189
  for (let i = 0; i < responseItems.length; i++) {
190
190
  const requestItem = requestItems[i];
191
191
  if (requestItem instanceof content_1.RequestItem) {
192
192
  const responseItem = responseItems[i];
193
- await this.applyItem(requestItem, responseItem);
193
+ await this.applyItem(requestItem, responseItem, request);
194
194
  }
195
195
  else {
196
196
  const responseItemGroup = responseItems[i];
197
- await this.applyItems(requestItem.items, responseItemGroup.items);
197
+ await this.applyItems(requestItem.items, responseItemGroup.items, request);
198
198
  }
199
199
  }
200
200
  }
201
- async applyItem(requestItem, responseItem) {
201
+ async applyItem(requestItem, responseItem, request) {
202
202
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
203
- await processor.applyIncomingResponseItem(responseItem, requestItem);
203
+ await processor.applyIncomingResponseItem(responseItem, requestItem, request);
204
204
  }
205
205
  async getOutgoingRequests(query) {
206
206
  query ??= {};
@@ -1 +1 @@
1
- {"version":3,"file":"OutgoingRequestsController.js","sourceRoot":"","sources":["../../../../src/modules/requests/outgoing/OutgoingRequestsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutgoingRequestsController.js","sourceRoot":"","sources":["../../../../src/modules/requests/outgoing/OutgoingRequestsController.ts"],"names":[],"mappings":";;;AAAA,4CASuB;AACvB,gDAUyB;AACzB,sDAA2G;AAG3G,yEAAqE;AACrE,oEAA0F;AAC1F,gFAA4E;AAC5E,sEAAkE;AAClE,mHAGoE;AACpE,wLAG6G;AAC7G,6GAGgE;AAChE,uGAG4D;AAE5D,MAAa,0BAA2B,SAAQ,uCAAyB;IACrE,YACqB,mBAA2C,EAC3C,iBAA+C,EAChE,MAA6B;QAE7B,KAAK,CAAC,uCAAyB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;QAJ1C,wBAAmB,GAAnB,mBAAmB,CAAwB;QAC3C,sBAAiB,GAAjB,iBAAiB,CAA8B;IAIpE,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAwC;QAC3D,MAAM,YAAY,GAAG,iEAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE1E,MAAM,MAAM,GAAG,mCAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAEvD,OAAO,MAAM,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAyC;QAClE,MAAM,OAAO,GAAuB,EAAE,CAAA;QAEtC,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE;YAC7B,IAAI,WAAW,YAAY,qBAAW,EAAE;gBACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;gBAC3D,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;aAC9B;iBAAM;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;gBACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACvB;SACJ;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,WAAwB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;QACzE,OAAO,MAAM,SAAS,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAA;IACpE,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,WAA6B;QAC1D,MAAM,YAAY,GAAuB,EAAE,CAAA;QAE3C,KAAK,MAAM,gBAAgB,IAAI,WAAW,CAAC,KAAK,EAAE;YAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YAChE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SACnC;QAED,MAAM,MAAM,GAAG,mCAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAEvD,OAAO,MAAM,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAwC;QACxD,MAAM,YAAY,GAAG,iEAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjE,MAAM,EAAE,GAAG,MAAM,4BAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QAClD,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAA;QAC5B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAE1F,OAAO,kBAAkB,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,OAAgB,EAAE,IAAiB;QACjE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC;YACzC,OAAO;YACP,IAAI;SACP,CAAC,CAAA;QAEF,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,eAAe,CAAC,KAAK,CAAA;SAC9B;QAED,MAAM,kBAAkB,GAAG,uCAAkB,CAAC,IAAI,CAAC;YAC/C,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,oBAAQ,CAAC,GAAG,EAAE;YACzB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,mDAAwB,CAAC,KAAK;YACtC,SAAS,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QACzD,OAAO,kBAAkB,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,oCAAoC,CAC7C,MAAsE;QAEtE,MAAM,YAAY,GAAG,6HAA6D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE/F,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAA;QAE1D,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,OAAQ,CAAA;QAChE,IAAI,CAAC,CAAC,WAAW,YAAY,+CAAqC,CAAC,EAAE;YACjE,MAAM,IAAI,KAAK,CACX,qGAAqG,CACxG,CAAA;SACJ;QACD,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAA;QAC7C,MAAM,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAA;QAErC,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAM,CAAC,OAAO,CAAA;QAC5D,IAAI,CAAC,CAAC,eAAe,YAAY,kCAAwB,CAAC,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAA;SAC7G;QAED,uGAAuG;QACvG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;QAE/D,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;QAE3C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;QAElG,OAAO,kBAAkB,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAsC;QACpD,MAAM,YAAY,GAAG,6DAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/D,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;IACrF,CAAC;IAEO,KAAK,CAAC,KAAK,CACf,SAAiB,EACjB,mBAAmD;QAEnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAEhD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,mDAAwB,CAAC,KAAK,CAAC,CAAA;QAEjE,OAAO,CAAC,YAAY,CAAC,mDAAwB,CAAC,IAAI,CAAC,CAAA;QAEnD,OAAO,CAAC,MAAM,GAAG,6CAAwB,CAAC,IAAI,CAAC;YAC3C,SAAS,EAAE,mBAAmB,CAAC,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;SAChD,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,aAAa,CAAC,YAA4C;QAC9D,IAAI,YAAY,YAAY,mBAAO,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;aACxE;YAED,OAAO,SAAS,CAAA;SACnB;aAAM,IAAI,YAAY,YAAY,gCAAoB,EAAE;YACrD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;aACtF;YAED,OAAO,sBAAsB,CAAA;SAChC;QAED,MAAM,IAAI,KAAK,CACX,sGAAsG,CACzG,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,MAAyC;QAC3D,MAAM,YAAY,GAAG,oEAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClE,OAAO,MAAM,IAAI,CAAC,SAAS,CACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,oBAAoB,EACjC,YAAY,CAAC,gBAAgB,CAChC,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CACnB,SAAiB,EACjB,oBAAkD,EAClD,gBAA0B;QAE1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAEhD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,mDAAwB,CAAC,IAAI,CAAC,CAAA;QAEhE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAErE,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,WAAW,CAAC,KAAK,CAAA;SAC1B;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAE7E,IAAI,cAAgD,CAAA;QAEpD,IAAI,oBAAoB,YAAY,mBAAO,EAAE;YACzC,cAAc,GAAG,SAAS,CAAA;SAC7B;aAAM,IAAI,oBAAoB,YAAY,8BAAkB,EAAE;YAC3D,cAAc,GAAG,oBAAoB,CAAA;SACxC;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;SAClD;QAED,MAAM,mBAAmB,GAAG,yCAAmB,CAAC,IAAI,CAAC;YACjD,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,oBAAQ,CAAC,GAAG,EAAE;YACzB,MAAM,EAAE,EAAE,SAAS,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;SACvE,CAAC,CAAA;QAEF,OAAO,CAAC,QAAQ,GAAG,mBAAmB,CAAA;QACtC,OAAO,CAAC,YAAY,CAAC,mDAAwB,CAAC,SAAS,CAAC,CAAA;QAExD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE1B,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAA2B,EAAE,gBAA0B;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5C,IAAI,WAAW,YAAY,qBAAW,EAAE;gBACpC,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAiB,CAAA;gBAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;gBACzE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,4BAA4B,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;gBAErG,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;oBACxB,OAAO,YAAY,CAAA;iBACtB;aACJ;iBAAM,IAAI,WAAW,YAAY,0BAAgB,EAAE;gBAChD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAsB,CAAA;gBAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/C,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC7C,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;oBAC9E,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,4BAA4B,CAC7D,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,CACV,CAAA;oBAED,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;wBACxB,OAAO,YAAY,CAAA;qBACtB;iBACJ;aACJ;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEO,KAAK,CAAC,UAAU,CACpB,YAAgD,EAChD,aAAmD,EACnD,OAA2B;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,WAAW,YAAY,qBAAW,EAAE;gBACpC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAiB,CAAA;gBACrD,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;aAC3D;iBAAM;gBACH,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAsB,CAAA;gBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;aAC7E;SACJ;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,WAAwB,EAAE,YAA0B,EAAE,OAA2B;QACrG,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;QACzE,MAAM,SAAS,CAAC,yBAAyB,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACjF,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,KAAW;QACxC,KAAK,KAAK,EAAE,CAAA;QACZ,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;QAElB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE9D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,EAAW;QACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7F,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,uCAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,EAAU;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,uCAAkB,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;SAClF;QACD,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAA2B;QAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrG,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,uCAAkB,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;SAC1F;QACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9D,CAAC;IAEO,mBAAmB,CAAC,OAA2B,EAAE,GAAG,MAAkC;QAC1F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;SACpF;IACL,CAAC;CACJ;AAlTD,gEAkTC"}
@@ -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-alpha.14",
21
- build: "32",
22
- date: "2022-05-18T13:56:33+00:00",
23
- commit: "6e1e22cfd79e7f43c9143c4ae5b2db57b0f4a92b",
20
+ version: "2.0.0-alpha.15",
21
+ build: "33",
22
+ date: "2022-05-23T13:29:19+00:00",
23
+ commit: "2e8f8676fdea5fac8b3952fbb65d4975bf85f5ea",
24
24
  dependencies: {},
25
25
  libraries: {
26
26
  transport: transport_1.buildInformation,
@@ -103,7 +103,7 @@ class ConsumptionController {
103
103
  async init(requestItemProcessors = []) {
104
104
  this._attributes = await new modules_1.ConsumptionAttributesController(this).init();
105
105
  this._drafts = await new modules_1.DraftsController(this).init();
106
- const processorRegistry = new modules_1.RequestItemProcessorRegistry(requestItemProcessors);
106
+ const processorRegistry = new modules_1.RequestItemProcessorRegistry(this, requestItemProcessors);
107
107
  this._outgoingRequests = await new modules_1.OutgoingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this).init();
108
108
  this._incomingRequests = await new IncomingRequestsController_1.IncomingRequestsController(await this.accountController.getSynchronizedCollection("Requests"), processorRegistry, this).init();
109
109
  this._settings = await new modules_1.SettingsController(this).init();
@@ -161,9 +161,15 @@ class Attributes {
161
161
  }
162
162
  }
163
163
  class Requests {
164
- requestsExists(id) {
164
+ requestExists(id) {
165
165
  return new transport_1.CoreError("error.consumption.requests.requestExists", `Request with id ${id} already exists and can't be created.`);
166
166
  }
167
+ unexpectedErrorDuringRequestItemProcessing(error) {
168
+ return new transport_1.CoreError("error.consumption.requests.unexpectedErrorDuringRequestItemProcessing", error instanceof Error ? error.message : "Unknown error: '${JSON.stringify(e)'");
169
+ }
170
+ canOnlyShareOwnAttributes() {
171
+ return new transport_1.CoreError("error.consumption.requests.canOnlyShareOwnAttributes", "The given Attribute belongs to someone else. You can only share own Attributes.");
172
+ }
167
173
  }
168
174
  class RelationshipInfo {
169
175
  relationshipInfoExists(relationshipId) {
@@ -929,6 +935,8 @@ __exportStar(__webpack_require__(/*! ./requests/incoming/received/ReceivedIncomi
929
935
  __exportStar(__webpack_require__(/*! ./requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters */ "./dist/modules/requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters.js"), exports);
930
936
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js"), exports);
931
937
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/ProcessorConstructor */ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js"), exports);
938
+ __exportStar(__webpack_require__(/*! ./requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js"), exports);
939
+ __exportStar(__webpack_require__(/*! ./requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js"), exports);
932
940
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/RequestItemConstructor */ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js"), exports);
933
941
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/RequestItemProcessorRegistry */ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js"), exports);
934
942
  __exportStar(__webpack_require__(/*! ./requests/itemProcessors/ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js"), exports);
@@ -1150,35 +1158,40 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1150
1158
  throw new Error(validationResult.error.message);
1151
1159
  }
1152
1160
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.DecisionRequired, ConsumptionRequestStatus_1.ConsumptionRequestStatus.ManualDecisionRequired);
1153
- const itemResults = await this.canDecideItems(params.items, request.content.items);
1161
+ const itemResults = await this.canDecideItems(params.items, request.content.items, request);
1154
1162
  return ValidationResult_1.ValidationResult.fromItems(itemResults);
1155
1163
  }
1156
- async canDecideGroup(params, requestItemGroup) {
1157
- const itemResults = await this.canDecideItems(params.items, requestItemGroup.items);
1164
+ async canDecideGroup(params, requestItemGroup, request) {
1165
+ const itemResults = await this.canDecideItems(params.items, requestItemGroup.items, request);
1158
1166
  return ValidationResult_1.ValidationResult.fromItems(itemResults);
1159
1167
  }
1160
- async canDecideItems(params, items) {
1168
+ async canDecideItems(params, items, request) {
1161
1169
  const validationResults = [];
1162
1170
  for (let i = 0; i < params.length; i++) {
1163
1171
  const decideItemParams = params[i];
1164
1172
  const requestItem = items[i];
1165
1173
  if (requestItem instanceof content_1.RequestItemGroup) {
1166
- const groupResult = await this.canDecideGroup(decideItemParams, requestItem);
1174
+ const groupResult = await this.canDecideGroup(decideItemParams, requestItem, request);
1167
1175
  validationResults.push(groupResult);
1168
1176
  }
1169
1177
  else {
1170
- const itemResult = await this.canDecideItem(decideItemParams, requestItem);
1178
+ const itemResult = await this.canDecideItem(decideItemParams, requestItem, request);
1171
1179
  validationResults.push(itemResult);
1172
1180
  }
1173
1181
  }
1174
1182
  return validationResults;
1175
1183
  }
1176
- async canDecideItem(params, requestItem) {
1184
+ async canDecideItem(params, requestItem, request) {
1177
1185
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
1178
- if (params.accept) {
1179
- return await processor.canAccept(requestItem, params);
1186
+ try {
1187
+ if (params.accept) {
1188
+ return await processor.canAccept(requestItem, params, request);
1189
+ }
1190
+ return await processor.canReject(requestItem, params, request);
1191
+ }
1192
+ catch (e) {
1193
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.unexpectedErrorDuringRequestItemProcessing(e));
1180
1194
  }
1181
- return await processor.canReject(requestItem, params);
1182
1195
  }
1183
1196
  async accept(params) {
1184
1197
  const canAccept = await this.canAccept(params);
@@ -1205,7 +1218,7 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1205
1218
  }
1206
1219
  async createConsumptionResponse(params, request) {
1207
1220
  const requestItems = request.content.items;
1208
- const responseItems = await this.decideItems(params.items, requestItems);
1221
+ const responseItems = await this.decideItems(params.items, requestItems, request);
1209
1222
  const response = content_1.Response.from({
1210
1223
  result: params.accept ? content_1.ResponseResult.Accepted : content_1.ResponseResult.Rejected,
1211
1224
  requestId: request.id,
@@ -1217,35 +1230,35 @@ class IncomingRequestsController extends consumption_1.ConsumptionBaseController
1217
1230
  });
1218
1231
  return consumptionResponse;
1219
1232
  }
1220
- async decideGroup(groupItemParam, requestItemGroup) {
1221
- const items = (await this.decideItems(groupItemParam.items, requestItemGroup.items));
1233
+ async decideGroup(groupItemParam, requestItemGroup, request) {
1234
+ const items = (await this.decideItems(groupItemParam.items, requestItemGroup.items, request));
1222
1235
  const group = content_1.ResponseItemGroup.from({
1223
1236
  items: items,
1224
1237
  metadata: requestItemGroup.responseMetadata
1225
1238
  });
1226
1239
  return group;
1227
1240
  }
1228
- async decideItems(params, requestItems) {
1241
+ async decideItems(params, requestItems, request) {
1229
1242
  const responseItems = [];
1230
1243
  for (let i = 0; i < params.length; i++) {
1231
1244
  const itemParam = params[i];
1232
1245
  const item = requestItems[i];
1233
1246
  if (item instanceof content_1.RequestItemGroup) {
1234
- responseItems.push(await this.decideGroup(itemParam, item));
1247
+ responseItems.push(await this.decideGroup(itemParam, item, request));
1235
1248
  }
1236
1249
  else {
1237
- responseItems.push(await this.decideItem(itemParam, requestItems[i]));
1250
+ responseItems.push(await this.decideItem(itemParam, requestItems[i], request));
1238
1251
  }
1239
1252
  }
1240
1253
  return responseItems;
1241
1254
  }
1242
- async decideItem(params, requestItem) {
1255
+ async decideItem(params, requestItem, request) {
1243
1256
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
1244
1257
  try {
1245
1258
  if (params.accept) {
1246
- return await processor.accept(requestItem, params);
1259
+ return await processor.accept(requestItem, params, request);
1247
1260
  }
1248
- return await processor.reject(requestItem, params);
1261
+ return await processor.reject(requestItem, params, request);
1249
1262
  }
1250
1263
  catch (e) {
1251
1264
  let details = "";
@@ -1602,6 +1615,26 @@ exports.RequireManualDecisionOfIncomingRequestParameters = RequireManualDecision
1602
1615
 
1603
1616
  /***/ }),
1604
1617
 
1618
+ /***/ "./dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js":
1619
+ /*!******************************************************************************!*\
1620
+ !*** ./dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js ***!
1621
+ \******************************************************************************/
1622
+ /***/ ((__unused_webpack_module, exports) => {
1623
+
1624
+ "use strict";
1625
+
1626
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1627
+ exports.AbstractRequestItemProcessor = void 0;
1628
+ class AbstractRequestItemProcessor {
1629
+ constructor(consumptionController) {
1630
+ this.consumptionController = consumptionController;
1631
+ }
1632
+ }
1633
+ exports.AbstractRequestItemProcessor = AbstractRequestItemProcessor;
1634
+ //# sourceMappingURL=AbstractRequestItemProcessor.js.map
1635
+
1636
+ /***/ }),
1637
+
1605
1638
  /***/ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js":
1606
1639
  /*!*****************************************************************************!*\
1607
1640
  !*** ./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js ***!
@@ -1612,37 +1645,39 @@ exports.RequireManualDecisionOfIncomingRequestParameters = RequireManualDecision
1612
1645
 
1613
1646
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1614
1647
  exports.GenericRequestItemProcessor = void 0;
1648
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1615
1649
  const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1650
+ const AbstractRequestItemProcessor_1 = __webpack_require__(/*! ./AbstractRequestItemProcessor */ "./dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js");
1616
1651
  const ValidationResult_1 = __webpack_require__(/*! ./ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
1617
- class GenericRequestItemProcessor {
1652
+ class GenericRequestItemProcessor extends AbstractRequestItemProcessor_1.AbstractRequestItemProcessor {
1618
1653
  checkPrerequisitesOfIncomingRequestItem(_requestItem) {
1619
1654
  return true;
1620
1655
  }
1621
- canAccept(_requestItem, _params) {
1656
+ canAccept(requestItem, params, request) {
1622
1657
  return ValidationResult_1.ValidationResult.success();
1623
1658
  }
1624
- canReject(_requestItem, _params) {
1659
+ canReject(requestItem, params, request) {
1625
1660
  return ValidationResult_1.ValidationResult.success();
1626
1661
  }
1627
- accept(requestItem, _params) {
1662
+ accept(requestItem, params, request) {
1628
1663
  return content_1.AcceptResponseItem.from({
1629
1664
  result: content_1.ResponseItemResult.Accepted,
1630
1665
  metadata: requestItem.responseMetadata
1631
1666
  });
1632
1667
  }
1633
- reject(requestItem, _params) {
1668
+ reject(requestItem, params, request) {
1634
1669
  return content_1.RejectResponseItem.from({
1635
1670
  result: content_1.ResponseItemResult.Rejected,
1636
1671
  metadata: requestItem.responseMetadata
1637
1672
  });
1638
1673
  }
1639
- canApplyIncomingResponseItem(_responseItem, _requestItem) {
1674
+ canCreateOutgoingRequestItem(requestItem) {
1640
1675
  return ValidationResult_1.ValidationResult.success();
1641
1676
  }
1642
- canCreateOutgoingRequestItem(_requestItem) {
1677
+ canApplyIncomingResponseItem(responseItem, requestItem, request) {
1643
1678
  return ValidationResult_1.ValidationResult.success();
1644
1679
  }
1645
- applyIncomingResponseItem(_responseItem, _requestItem) {
1680
+ applyIncomingResponseItem(responseItem, requestItem, request) {
1646
1681
  // do nothing
1647
1682
  }
1648
1683
  }
@@ -1688,7 +1723,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1688
1723
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1689
1724
  exports.RequestItemProcessorRegistry = void 0;
1690
1725
  class RequestItemProcessorRegistry {
1691
- constructor(processors = []) {
1726
+ constructor(consumptionController, processors = []) {
1727
+ this.consumptionController = consumptionController;
1692
1728
  this.registry = {};
1693
1729
  for (const { itemConstructor, processorConstructor } of processors) {
1694
1730
  this.registerProcessor(processorConstructor, itemConstructor);
@@ -1708,7 +1744,7 @@ class RequestItemProcessorRegistry {
1708
1744
  if (!constructor) {
1709
1745
  throw new Error(`There was no processor registered for '${item.constructor.name}'.`);
1710
1746
  }
1711
- return new constructor();
1747
+ return new constructor(this.consumptionController);
1712
1748
  }
1713
1749
  }
1714
1750
  exports.RequestItemProcessorRegistry = RequestItemProcessorRegistry;
@@ -1720,12 +1756,13 @@ exports.RequestItemProcessorRegistry = RequestItemProcessorRegistry;
1720
1756
  /*!******************************************************************!*\
1721
1757
  !*** ./dist/modules/requests/itemProcessors/ValidationResult.js ***!
1722
1758
  \******************************************************************/
1723
- /***/ ((__unused_webpack_module, exports) => {
1759
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1724
1760
 
1725
1761
  "use strict";
1726
1762
 
1727
1763
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1728
1764
  exports.ErrorValidationResult = exports.SuccessfulValidatonResult = exports.ValidationResult = void 0;
1765
+ const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
1729
1766
  class ValidationResult {
1730
1767
  constructor(items) {
1731
1768
  this.items = items;
@@ -1739,12 +1776,12 @@ class ValidationResult {
1739
1776
  static success(items = []) {
1740
1777
  return new SuccessfulValidatonResult(items);
1741
1778
  }
1742
- static error(code, message, items = []) {
1743
- return new ErrorValidationResult(code, message, items);
1779
+ static error(error, items = []) {
1780
+ return new ErrorValidationResult(error, items);
1744
1781
  }
1745
1782
  static fromItems(items) {
1746
1783
  return items.some((r) => r.isError())
1747
- ? ValidationResult.error("inheritedFromItem", "Some child items have errors.", items)
1784
+ ? ValidationResult.error(new ts_utils_1.ApplicationError("inheritedFromItem", "Some child items have errors."), items)
1748
1785
  : ValidationResult.success(items);
1749
1786
  }
1750
1787
  }
@@ -1756,10 +1793,9 @@ class SuccessfulValidatonResult extends ValidationResult {
1756
1793
  }
1757
1794
  exports.SuccessfulValidatonResult = SuccessfulValidatonResult;
1758
1795
  class ErrorValidationResult extends ValidationResult {
1759
- constructor(code, message, items) {
1796
+ constructor(error, items) {
1760
1797
  super(items);
1761
- this.code = code;
1762
- this.message = message;
1798
+ this.error = error;
1763
1799
  }
1764
1800
  }
1765
1801
  exports.ErrorValidationResult = ErrorValidationResult;
@@ -1767,6 +1803,103 @@ exports.ErrorValidationResult = ErrorValidationResult;
1767
1803
 
1768
1804
  /***/ }),
1769
1805
 
1806
+ /***/ "./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js":
1807
+ /*!********************************************************************************************************!*\
1808
+ !*** ./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js ***!
1809
+ \********************************************************************************************************/
1810
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1811
+
1812
+ "use strict";
1813
+
1814
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1815
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1816
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1817
+ 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;
1818
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1819
+ };
1820
+ var __metadata = (this && this.__metadata) || function (k, v) {
1821
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1822
+ };
1823
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1824
+ exports.AcceptReadAttributeRequestItemParameters = void 0;
1825
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1826
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1827
+ let AcceptReadAttributeRequestItemParameters = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
1828
+ static from(value) {
1829
+ return this.fromAny(value);
1830
+ }
1831
+ };
1832
+ __decorate([
1833
+ (0, ts_serval_1.serialize)(),
1834
+ (0, ts_serval_1.validate)(),
1835
+ __metadata("design:type", transport_1.CoreId)
1836
+ ], AcceptReadAttributeRequestItemParameters.prototype, "attributeId", void 0);
1837
+ AcceptReadAttributeRequestItemParameters = __decorate([
1838
+ (0, ts_serval_1.type)("AcceptReadAttributeRequestItemParameters")
1839
+ ], AcceptReadAttributeRequestItemParameters);
1840
+ exports.AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters;
1841
+ //# sourceMappingURL=AcceptReadAttributeRequestItemParameters.js.map
1842
+
1843
+ /***/ }),
1844
+
1845
+ /***/ "./dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js":
1846
+ /*!*************************************************************************************************!*\
1847
+ !*** ./dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js ***!
1848
+ \*************************************************************************************************/
1849
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1850
+
1851
+ "use strict";
1852
+
1853
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1854
+ exports.ReadAttributeRequestItemProcessor = void 0;
1855
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1856
+ const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
1857
+ const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist/consumption/index.js");
1858
+ const ConsumptionAttribute_1 = __webpack_require__(/*! ../../../attributes/local/ConsumptionAttribute */ "./dist/modules/attributes/local/ConsumptionAttribute.js");
1859
+ const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
1860
+ const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
1861
+ const AcceptReadAttributeRequestItemParameters_1 = __webpack_require__(/*! ./AcceptReadAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js");
1862
+ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
1863
+ async canAccept(_requestItem, params, request) {
1864
+ const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
1865
+ const attribute = await this.consumptionController.attributes.getConsumptionAttribute(parsedParams.attributeId);
1866
+ if (!attribute) {
1867
+ return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(ConsumptionAttribute_1.ConsumptionAttribute, request.id.toString()));
1868
+ }
1869
+ if (!this.consumptionController.accountController.identity.isMe(attribute.content.owner)) {
1870
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.canOnlyShareOwnAttributes());
1871
+ }
1872
+ return ValidationResult_1.ValidationResult.success();
1873
+ }
1874
+ async accept(_requestItem, params, request) {
1875
+ const consumptionAttribute = await this.consumptionController.attributes.createSharedConsumptionAttributeCopy({
1876
+ attributeId: transport_1.CoreId.from(params.attributeId),
1877
+ peer: transport_1.CoreAddress.from(request.peer),
1878
+ requestReference: transport_1.CoreId.from(request.id)
1879
+ });
1880
+ return content_1.ReadAttributeAcceptResponseItem.from({
1881
+ result: content_1.ResponseItemResult.Accepted,
1882
+ attributeId: consumptionAttribute.id,
1883
+ attribute: consumptionAttribute.content
1884
+ });
1885
+ }
1886
+ async applyIncomingResponseItem(responseItem, _requestItem, request) {
1887
+ if (!(responseItem instanceof content_1.ReadAttributeAcceptResponseItem)) {
1888
+ return;
1889
+ }
1890
+ await this.consumptionController.attributes.createPeerConsumptionAttribute({
1891
+ id: responseItem.attributeId,
1892
+ content: responseItem.attribute,
1893
+ peer: request.peer,
1894
+ requestReference: request.id
1895
+ });
1896
+ }
1897
+ }
1898
+ exports.ReadAttributeRequestItemProcessor = ReadAttributeRequestItemProcessor;
1899
+ //# sourceMappingURL=ReadAttributeRequestItemProcessor.js.map
1900
+
1901
+ /***/ }),
1902
+
1770
1903
  /***/ "./dist/modules/requests/local/ConsumptionRequest.js":
1771
1904
  /*!***********************************************************!*\
1772
1905
  !*** ./dist/modules/requests/local/ConsumptionRequest.js ***!
@@ -2105,7 +2238,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2105
2238
  peer
2106
2239
  });
2107
2240
  if (canCreateResult.isError()) {
2108
- throw new Error(canCreateResult.message);
2241
+ throw canCreateResult.error;
2109
2242
  }
2110
2243
  const consumptionRequest = ConsumptionRequest_1.ConsumptionRequest.from({
2111
2244
  id: id,
@@ -2177,9 +2310,9 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2177
2310
  this.assertRequestStatus(request, ConsumptionRequestStatus_1.ConsumptionRequestStatus.Open);
2178
2311
  const canComplete = await this.canComplete(request, receivedResponse);
2179
2312
  if (canComplete.isError()) {
2180
- throw new Error(canComplete.message);
2313
+ throw canComplete.error;
2181
2314
  }
2182
- await this.applyItems(request.content.items, receivedResponse.items);
2315
+ await this.applyItems(request.content.items, receivedResponse.items, request);
2183
2316
  let responseSource;
2184
2317
  if (responseSourceObject instanceof transport_1.Message) {
2185
2318
  responseSource = "Message";
@@ -2206,7 +2339,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2206
2339
  if (requestItem instanceof content_1.RequestItem) {
2207
2340
  const responseItem = receivedResponse.items[i];
2208
2341
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
2209
- const canApplyItem = await processor.canApplyIncomingResponseItem(responseItem, requestItem);
2342
+ const canApplyItem = await processor.canApplyIncomingResponseItem(responseItem, requestItem, request);
2210
2343
  if (canApplyItem.isError()) {
2211
2344
  return canApplyItem;
2212
2345
  }
@@ -2217,7 +2350,7 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2217
2350
  const groupRequestItem = requestItem.items[j];
2218
2351
  const groupResponseItem = responseGroup.items[j];
2219
2352
  const processor = this.processorRegistry.getProcessorForItem(groupRequestItem);
2220
- const canApplyItem = await processor.canApplyIncomingResponseItem(groupResponseItem, groupRequestItem);
2353
+ const canApplyItem = await processor.canApplyIncomingResponseItem(groupResponseItem, groupRequestItem, request);
2221
2354
  if (canApplyItem.isError()) {
2222
2355
  return canApplyItem;
2223
2356
  }
@@ -2226,22 +2359,22 @@ class OutgoingRequestsController extends consumption_1.ConsumptionBaseController
2226
2359
  }
2227
2360
  return ValidationResult_1.ValidationResult.success();
2228
2361
  }
2229
- async applyItems(requestItems, responseItems) {
2362
+ async applyItems(requestItems, responseItems, request) {
2230
2363
  for (let i = 0; i < responseItems.length; i++) {
2231
2364
  const requestItem = requestItems[i];
2232
2365
  if (requestItem instanceof content_1.RequestItem) {
2233
2366
  const responseItem = responseItems[i];
2234
- await this.applyItem(requestItem, responseItem);
2367
+ await this.applyItem(requestItem, responseItem, request);
2235
2368
  }
2236
2369
  else {
2237
2370
  const responseItemGroup = responseItems[i];
2238
- await this.applyItems(requestItem.items, responseItemGroup.items);
2371
+ await this.applyItems(requestItem.items, responseItemGroup.items, request);
2239
2372
  }
2240
2373
  }
2241
2374
  }
2242
- async applyItem(requestItem, responseItem) {
2375
+ async applyItem(requestItem, responseItem, request) {
2243
2376
  const processor = this.processorRegistry.getProcessorForItem(requestItem);
2244
- await processor.applyIncomingResponseItem(responseItem, requestItem);
2377
+ await processor.applyIncomingResponseItem(responseItem, requestItem, request);
2245
2378
  }
2246
2379
  async getOutgoingRequests(query) {
2247
2380
  query ??= {};