@nmshd/consumption 2.0.0-beta.5 → 2.0.0-beta.8

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 (27) hide show
  1. package/dist/buildInformation.js +4 -4
  2. package/dist/consumption/ConsumptionController.js +4 -2
  3. package/dist/consumption/ConsumptionController.js.map +1 -1
  4. package/dist/modules/index.d.ts +2 -2
  5. package/dist/modules/index.js +2 -2
  6. package/dist/modules/index.js.map +1 -1
  7. package/dist/modules/requests/itemProcessors/createRelationshipAttribute/AcceptCreateRelationshipAttributeRequestItemParameters.d.ts +7 -0
  8. package/dist/modules/requests/itemProcessors/{createAttribute/AcceptCreateAttributeRequestItemParameters.js → createRelationshipAttribute/AcceptCreateRelationshipAttributeRequestItemParameters.js} +7 -7
  9. package/dist/modules/requests/itemProcessors/createRelationshipAttribute/AcceptCreateRelationshipAttributeRequestItemParameters.js.map +1 -0
  10. package/dist/modules/requests/itemProcessors/createRelationshipAttribute/CreateRelationshipAttributeRequestItemProcessor.d.ts +11 -0
  11. package/dist/modules/requests/itemProcessors/createRelationshipAttribute/CreateRelationshipAttributeRequestItemProcessor.js +44 -0
  12. package/dist/modules/requests/itemProcessors/createRelationshipAttribute/CreateRelationshipAttributeRequestItemProcessor.js.map +1 -0
  13. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +2 -1
  14. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  15. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +6 -8
  16. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +34 -72
  17. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  18. package/lib-web/nmshd.consumption.js +78 -129
  19. package/lib-web/nmshd.consumption.js.map +1 -1
  20. package/lib-web/nmshd.consumption.min.js +1 -1
  21. package/lib-web/nmshd.consumption.min.js.map +1 -1
  22. package/package.json +5 -5
  23. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.d.ts +0 -7
  24. package/dist/modules/requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters.js.map +0 -1
  25. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +0 -12
  26. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +0 -60
  27. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +0 -1
@@ -6,10 +6,10 @@ const content_1 = require("@nmshd/content");
6
6
  const crypto_1 = require("@nmshd/crypto");
7
7
  const transport_1 = require("@nmshd/transport");
8
8
  exports.buildInformation = {
9
- version: "2.0.0-beta.5",
10
- build: "55",
11
- date: "2022-08-02T14:10:27+00:00",
12
- commit: "a910348a6c8c7ba541017cbc90d2fba2add16b68",
9
+ version: "2.0.0-beta.8",
10
+ build: "58",
11
+ date: "2022-08-05T15:16:19+00:00",
12
+ commit: "e415cd06c69fd35f17d74f93d50a47c88f145137",
13
13
  dependencies: {"@js-soft/docdb-querytranslator":"^1.1.0","ts-simple-nameof":"^1.3.1"},
14
14
  libraries: {
15
15
  transport: transport_1.buildInformation,
@@ -43,10 +43,12 @@ class ConsumptionController {
43
43
  }
44
44
  getDefaultProcessors() {
45
45
  return new Map([
46
- [content_1.CreateAttributeRequestItem, modules_1.CreateAttributeRequestItemProcessor],
46
+ [content_1.ShareAttributeRequestItem, modules_1.ShareAttributeRequestItemProcessor],
47
+ [content_1.CreateRelationshipAttributeRequestItem, modules_1.CreateRelationshipAttributeRequestItemProcessor],
47
48
  [content_1.ReadAttributeRequestItem, modules_1.ReadAttributeRequestItemProcessor],
48
49
  [content_1.ProposeAttributeRequestItem, modules_1.ProposeAttributeRequestItemProcessor],
49
- [content_1.ShareAttributeRequestItem, modules_1.ShareAttributeRequestItemProcessor]
50
+ [content_1.ConsentRequestItem, modules_1.GenericRequestItemProcessor],
51
+ [content_1.AuthenticationRequestItem, modules_1.GenericRequestItemProcessor]
50
52
  ]);
51
53
  }
52
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AAAA,4CAKuB;AAEvB,wCAKmB;AACnB,+FAA2F;AAC3F,yEAAqE;AACrE,wGAAoG;AAGpG,kHAA8G;AAC9G,wGAAoG;AACpG,+EAA2E;AAE3E,MAAa,qBAAqB;IAC9B,YAAmC,SAAoB,EAAkB,iBAAoC;QAA1E,cAAS,GAAT,SAAS,CAAW;QAAkB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGjH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,gCAAgC,IAAI,GAAG,EAAgD;QAEvF,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,qDAAyB,CAClD,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAEtD,MAAM,iBAAiB,GAAG,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAE7F,KAAK,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,IAAI,6BAA6B,EAAE;YACjF,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;SACtF;QAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,uDAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,uDAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,oBAAoB;QACxB,OAAO,IAAI,GAAG,CAA+C;YACzD,CAAC,oCAA0B,EAAE,6CAAmC,CAAC;YACjE,CAAC,kCAAwB,EAAE,2CAAiC,CAAC;YAC7D,CAAC,qCAA2B,EAAE,8CAAoC,CAAC;YACnE,CAAC,mCAAyB,EAAE,4CAAkC,CAAC;SAClE,CAAC,CAAA;IACN,CAAC;CACJ;AAtED,sDAsEC"}
1
+ {"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AAAA,4CAOuB;AAEvB,wCAMmB;AACnB,+FAA2F;AAC3F,yEAAqE;AACrE,wGAAoG;AAGpG,kHAA8G;AAC9G,wGAAoG;AACpG,+EAA2E;AAE3E,MAAa,qBAAqB;IAC9B,YAAmC,SAAoB,EAAkB,iBAAoC;QAA1E,cAAS,GAAT,SAAS,CAAW;QAAkB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGjH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAGD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAGD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,gCAAgC,IAAI,GAAG,EAAgD;QAEvF,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,qDAAyB,CAClD,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAEtD,MAAM,iBAAiB,GAAG,IAAI,2DAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAE7F,KAAK,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,IAAI,6BAA6B,EAAE;YACjF,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;SACtF;QAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,uDAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,uDAA0B,CACzD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAClE,iBAAiB,EACjB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClC,CAAC,IAAI,EAAE,CAAA;QACR,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1D,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,oBAAoB;QACxB,OAAO,IAAI,GAAG,CAA+C;YACzD,CAAC,mCAAyB,EAAE,4CAAkC,CAAC;YAC/D,CAAC,gDAAsC,EAAE,yDAA+C,CAAC;YACzF,CAAC,kCAAwB,EAAE,2CAAiC,CAAC;YAC7D,CAAC,qCAA2B,EAAE,8CAAoC,CAAC;YACnE,CAAC,4BAAkB,EAAE,qCAA2B,CAAC;YACjD,CAAC,mCAAyB,EAAE,qCAA2B,CAAC;SAC3D,CAAC,CAAA;IACN,CAAC;CACJ;AAxED,sDAwEC"}
@@ -22,8 +22,8 @@ export * from "./requests/incoming/IncomingRequestsController";
22
22
  export * from "./requests/incoming/received/ReceivedIncomingRequestParameters";
23
23
  export * from "./requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters";
24
24
  export * from "./requests/itemProcessors/AbstractRequestItemProcessor";
25
- export * from "./requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters";
26
- export * from "./requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor";
25
+ export * from "./requests/itemProcessors/createRelationshipAttribute/AcceptCreateRelationshipAttributeRequestItemParameters";
26
+ export * from "./requests/itemProcessors/createRelationshipAttribute/CreateRelationshipAttributeRequestItemProcessor";
27
27
  export * from "./requests/itemProcessors/GenericRequestItemProcessor";
28
28
  export * from "./requests/itemProcessors/IRequestItemProcessor";
29
29
  export * from "./requests/itemProcessors/ProcessorConstructor";
@@ -38,8 +38,8 @@ __exportStar(require("./requests/incoming/IncomingRequestsController"), exports)
38
38
  __exportStar(require("./requests/incoming/received/ReceivedIncomingRequestParameters"), exports);
39
39
  __exportStar(require("./requests/incoming/requireManualDecision/RequireManualDecisionOfIncomingRequestParameters"), exports);
40
40
  __exportStar(require("./requests/itemProcessors/AbstractRequestItemProcessor"), exports);
41
- __exportStar(require("./requests/itemProcessors/createAttribute/AcceptCreateAttributeRequestItemParameters"), exports);
42
- __exportStar(require("./requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor"), exports);
41
+ __exportStar(require("./requests/itemProcessors/createRelationshipAttribute/AcceptCreateRelationshipAttributeRequestItemParameters"), exports);
42
+ __exportStar(require("./requests/itemProcessors/createRelationshipAttribute/CreateRelationshipAttributeRequestItemProcessor"), exports);
43
43
  __exportStar(require("./requests/itemProcessors/GenericRequestItemProcessor"), exports);
44
44
  __exportStar(require("./requests/itemProcessors/IRequestItemProcessor"), exports);
45
45
  __exportStar(require("./requests/itemProcessors/ProcessorConstructor"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,gFAA6D;AAC7D,oFAAiE;AACjE,0FAAuE;AACvE,oEAAiD;AACjD,6EAA0D;AAC1D,iFAA8D;AAC9D,gFAA6D;AAC7D,yEAAsD;AACtD,4DAAyC;AACzC,uDAAoC;AACpC,oDAAiC;AACjC,uHAAoG;AACpG,iGAA8E;AAC9E,yFAAsE;AACtE,8FAA2E;AAC3E,yFAAsE;AACtE,qFAAkE;AAClE,yFAAsE;AACtE,uFAAoE;AACpE,iFAA8D;AAC9D,iGAA8E;AAC9E,6HAA0G;AAC1G,yFAAsE;AACtE,uHAAoG;AACpG,gHAA6F;AAC7F,wFAAqE;AACrE,kFAA+D;AAC/D,iFAA8D;AAC9D,yHAAsG;AACtG,kHAA+F;AAM/F,4GAAyF;AACzF,mFAAgE;AAChE,yFAAsE;AACtE,qHAAkG;AAClG,8GAA2F;AAC3F,6EAA0D;AAC1D,gEAA6C;AAC7C,sEAAmD;AACnD,8EAA2D;AAC3D,iEAA8C;AAC9C,gHAA6F;AAC7F,yJAAsI;AACtI,4GAAyF;AACzF,iFAA8D;AAC9D,wGAAqF;AACrF,0EAAuD;AACvD,2DAAwC;AACxC,gEAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,gFAA6D;AAC7D,oFAAiE;AACjE,0FAAuE;AACvE,oEAAiD;AACjD,6EAA0D;AAC1D,iFAA8D;AAC9D,gFAA6D;AAC7D,yEAAsD;AACtD,4DAAyC;AACzC,uDAAoC;AACpC,oDAAiC;AACjC,uHAAoG;AACpG,iGAA8E;AAC9E,yFAAsE;AACtE,8FAA2E;AAC3E,yFAAsE;AACtE,qFAAkE;AAClE,yFAAsE;AACtE,uFAAoE;AACpE,iFAA8D;AAC9D,iGAA8E;AAC9E,6HAA0G;AAC1G,yFAAsE;AACtE,+IAA4H;AAC5H,wIAAqH;AACrH,wFAAqE;AACrE,kFAA+D;AAC/D,iFAA8D;AAC9D,yHAAsG;AACtG,kHAA+F;AAM/F,4GAAyF;AACzF,mFAAgE;AAChE,yFAAsE;AACtE,qHAAkG;AAClG,8GAA2F;AAC3F,6EAA0D;AAC1D,gEAA6C;AAC7C,sEAAmD;AACnD,8EAA2D;AAC3D,iEAA8C;AAC9C,gHAA6F;AAC7F,yJAAsI;AACtI,4GAAyF;AACzF,iFAA8D;AAC9D,wGAAqF;AACrF,0EAAuD;AACvD,2DAAwC;AACxC,gEAA6C"}
@@ -0,0 +1,7 @@
1
+ import { Serializable } from "@js-soft/ts-serval";
2
+ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
3
+ export interface AcceptCreateRelationshipAttributeRequestItemParametersJSON extends AcceptRequestItemParametersJSON {
4
+ }
5
+ export declare class AcceptCreateRelationshipAttributeRequestItemParameters extends Serializable {
6
+ static from(value: AcceptCreateRelationshipAttributeRequestItemParametersJSON): AcceptCreateRelationshipAttributeRequestItemParameters;
7
+ }
@@ -6,15 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AcceptCreateAttributeRequestItemParameters = void 0;
9
+ exports.AcceptCreateRelationshipAttributeRequestItemParameters = void 0;
10
10
  const ts_serval_1 = require("@js-soft/ts-serval");
11
- let AcceptCreateAttributeRequestItemParameters = class AcceptCreateAttributeRequestItemParameters extends ts_serval_1.Serializable {
11
+ let AcceptCreateRelationshipAttributeRequestItemParameters = class AcceptCreateRelationshipAttributeRequestItemParameters extends ts_serval_1.Serializable {
12
12
  static from(value) {
13
13
  return this.fromAny(value);
14
14
  }
15
15
  };
16
- AcceptCreateAttributeRequestItemParameters = __decorate([
17
- (0, ts_serval_1.type)("AcceptCreateAttributeRequestItemParameters")
18
- ], AcceptCreateAttributeRequestItemParameters);
19
- exports.AcceptCreateAttributeRequestItemParameters = AcceptCreateAttributeRequestItemParameters;
20
- //# sourceMappingURL=AcceptCreateAttributeRequestItemParameters.js.map
16
+ AcceptCreateRelationshipAttributeRequestItemParameters = __decorate([
17
+ (0, ts_serval_1.type)("AcceptCreateRelationshipAttributeRequestItemParameters")
18
+ ], AcceptCreateRelationshipAttributeRequestItemParameters);
19
+ exports.AcceptCreateRelationshipAttributeRequestItemParameters = AcceptCreateRelationshipAttributeRequestItemParameters;
20
+ //# sourceMappingURL=AcceptCreateRelationshipAttributeRequestItemParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptCreateRelationshipAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createRelationshipAttribute/AcceptCreateRelationshipAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAAuD;AAMvD,IAAa,sDAAsD,GAAnE,MAAa,sDAAuD,SAAQ,wBAAY;IAC7E,MAAM,CAAC,IAAI,CACd,KAAiE;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AANY,sDAAsD;IADlE,IAAA,gBAAI,EAAC,wDAAwD,CAAC;GAClD,sDAAsD,CAMlE;AANY,wHAAsD"}
@@ -0,0 +1,11 @@
1
+ import { CreateRelationshipAttributeAcceptResponseItem, CreateRelationshipAttributeRequestItem, RejectResponseItem, Request } from "@nmshd/content";
2
+ import { CoreAddress } from "@nmshd/transport";
3
+ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
+ import { LocalRequestInfo } from "../IRequestItemProcessor";
5
+ import { ValidationResult } from "../ValidationResult";
6
+ import { AcceptCreateRelationshipAttributeRequestItemParametersJSON } from "./AcceptCreateRelationshipAttributeRequestItemParameters";
7
+ export declare class CreateRelationshipAttributeRequestItemProcessor extends GenericRequestItemProcessor<CreateRelationshipAttributeRequestItem, AcceptCreateRelationshipAttributeRequestItemParametersJSON> {
8
+ canCreateOutgoingRequestItem(requestItem: CreateRelationshipAttributeRequestItem, _request: Request, _recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
9
+ accept(requestItem: CreateRelationshipAttributeRequestItem, _params: AcceptCreateRelationshipAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<CreateRelationshipAttributeAcceptResponseItem>;
10
+ applyIncomingResponseItem(responseItem: CreateRelationshipAttributeAcceptResponseItem | RejectResponseItem, requestItem: CreateRelationshipAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
11
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateRelationshipAttributeRequestItemProcessor = void 0;
4
+ const content_1 = require("@nmshd/content");
5
+ const consumption_1 = require("../../../../consumption");
6
+ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
7
+ const ValidationResult_1 = require("../ValidationResult");
8
+ class CreateRelationshipAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
9
+ canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
10
+ if (requestItem.attribute.owner.toString() !== "" &&
11
+ !requestItem.attribute.owner.equals(this.currentIdentityAddress)) {
12
+ 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."));
13
+ }
14
+ return ValidationResult_1.ValidationResult.success();
15
+ }
16
+ async accept(requestItem, _params, requestInfo) {
17
+ requestItem.attribute.owner ??= requestInfo.peer;
18
+ const peerLocalAttribute = await this.consumptionController.attributes.createPeerLocalAttribute({
19
+ content: requestItem.attribute,
20
+ peer: requestInfo.peer,
21
+ requestReference: requestInfo.id
22
+ });
23
+ return content_1.CreateRelationshipAttributeAcceptResponseItem.from({
24
+ result: content_1.ResponseItemResult.Accepted,
25
+ attributeId: peerLocalAttribute.id
26
+ });
27
+ }
28
+ async applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
29
+ if (!(responseItem instanceof content_1.CreateRelationshipAttributeAcceptResponseItem)) {
30
+ return;
31
+ }
32
+ if (requestItem.attribute.owner.toString() === "") {
33
+ requestItem.attribute.owner = this.currentIdentityAddress;
34
+ }
35
+ await this.consumptionController.attributes.createPeerLocalAttribute({
36
+ id: responseItem.attributeId,
37
+ content: requestItem.attribute,
38
+ peer: requestInfo.peer,
39
+ requestReference: requestInfo.id
40
+ });
41
+ }
42
+ }
43
+ exports.CreateRelationshipAttributeRequestItemProcessor = CreateRelationshipAttributeRequestItemProcessor;
44
+ //# sourceMappingURL=CreateRelationshipAttributeRequestItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateRelationshipAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createRelationshipAttribute/CreateRelationshipAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAMuB;AAEvB,yDAA2D;AAC3D,gFAA4E;AAE5E,0DAAsD;AAGtD,MAAa,+CAAgD,SAAQ,yDAGpE;IACmB,4BAA4B,CACxC,WAAmD,EACnD,QAAiB,EACjB,UAAuB;QAEvB,IACI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE;YAC7C,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAClE;YACE,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,sPAAsP,CACzP,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAmD,EACnD,OAAmE,EACnE,WAA6B;QAE7B,WAAW,CAAC,SAAS,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAA;QAEhD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC5F,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,uDAA6C,CAAC,IAAI,CAAC;YACtD,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,WAAW,EAAE,kBAAkB,CAAC,EAAE;SACrC,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAgF,EAChF,WAAmD,EACnD,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,uDAA6C,CAAC,EAAE;YAC1E,OAAM;SACT;QAED,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC/C,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAA;SAC5D;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACjE,EAAE,EAAE,YAAY,CAAC,WAAW;YAC5B,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;IACN,CAAC;CACJ;AA9DD,0GA8DC"}
@@ -27,7 +27,8 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
27
27
  if (!foundAttribute) {
28
28
  return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
29
29
  }
30
- if (!this.accountController.identity.isMe(foundAttribute.content.owner)) {
30
+ const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
31
+ if (!ownerIsCurrentIdentity) {
31
32
  return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The given Attribute belongs to someone else. You can only share own Attributes."));
32
33
  }
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;;;;AAAA,4CAQuB;AACvB,gDAAuE;AACvE,yDAA2D;AAC3D,6EAAyE;AACzE,gFAA4E;AAE5E,6EAAoD;AACpD,0DAAsD;AACtD,yGAGmD;AAEnD,MAAa,iCAAkC,SAAQ,yDAGtD;IACmB,4BAA4B,CACxC,WAAqC,EACrC,QAAiB,EACjB,SAAsB;QAEtB,MAAM,qBAAqB,GAAG,IAAA,uBAAa,EAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAA;QACtG,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE;YACjC,OAAO,qBAAqB,CAAA;SAC/B;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,SAAS,CAC3B,YAAsC,EACtC,MAAoD,EACpD,WAA6B;QAE7B,MAAM,YAAY,GAAG,mFAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1E,IAAI,YAAY,CAAC,uBAAuB,EAAE,EAAE;YACxC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAChF,YAAY,CAAC,mBAAmB,CACnC,CAAA;YAED,IAAI,CAAC,cAAc,EAAE;gBACjB,OAAO,mCAAgB,CAAC,KAAK,CACzB,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,+BAAc,EAAE,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CACpF,CAAA;aACJ;YAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACrE,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,iFAAiF,CACpF,CACJ,CAAA;aACJ;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,YAAsC,EACtC,MAAoD,EACpD,WAA6B;QAE7B,MAAM,YAAY,GAAG,mFAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1E,IAAI,oBAAoC,CAAA;QACxC,IAAI,YAAY,CAAC,uBAAuB,EAAE,EAAE;YACxC,oBAAoB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;SACzG;aAAM;YACH,oBAAoB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,YAAa,EAAE,WAAW,CAAC,CAAA;SAChG;QAED,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;IAEO,KAAK,CAAC,qBAAqB,CAAC,WAAmB,EAAE,WAA6B;QAClF,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;YAC9E,iBAAiB,EAAE,kBAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3C,IAAI,EAAE,uBAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,gBAAgB,EAAE,kBAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAChD,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC5B,SAAoD,EACpD,WAA6B;QAE7B,IAAI,SAAS,YAAY,2BAAiB,EAAE;YACxC,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBAC9F,OAAO,EAAE,SAAS;aACrB,CAAC,CAAA;YAEF,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;gBAC9E,iBAAiB,EAAE,kBAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC3D,IAAI,EAAE,uBAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACxC,gBAAgB,EAAE,kBAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;aAChD,CAAC,CAAA;SACL;QAED,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACxE,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,kBAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAChD,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAkE,EAClE,YAAsC,EACtC,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,yCAA+B,CAAC,EAAE;YAC5D,OAAM;SACT;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACjE,EAAE,EAAE,YAAY,CAAC,WAAW;YAC5B,OAAO,EAAE,YAAY,CAAC,SAAS;YAC/B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;IACN,CAAC;CACJ;AAnHD,8EAmHC"}
1
+ {"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,13 @@
1
- import { AcceptResponseItem, Request, ShareAttributeRequestItem } from "@nmshd/content";
1
+ import { RejectResponseItem, Request, ShareAttributeAcceptResponseItem, ShareAttributeRequestItem } from "@nmshd/content";
2
2
  import { CoreAddress } from "@nmshd/transport";
3
3
  import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
4
  import { LocalRequestInfo } from "../IRequestItemProcessor";
5
5
  import { ValidationResult } from "../ValidationResult";
6
6
  import { AcceptShareAttributeRequestItemParametersJSON } from "./AcceptShareAttributeRequestItemParameters";
7
7
  export declare class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor<ShareAttributeRequestItem, AcceptShareAttributeRequestItemParametersJSON> {
8
- canCreateOutgoingRequestItem(requestItem: ShareAttributeRequestItem, _request: Request, recipient: CoreAddress): Promise<ValidationResult>;
9
- checkPrerequisitesOfIncomingRequestItem(requestItem: ShareAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<boolean>;
10
- private validateAttributeOwner;
11
- canAccept(_requestItem: ShareAttributeRequestItem, _params: AcceptShareAttributeRequestItemParametersJSON, _requestInfo: LocalRequestInfo): ValidationResult;
12
- accept(requestItem: ShareAttributeRequestItem, _params: AcceptShareAttributeRequestItemParametersJSON, _requestInfo: LocalRequestInfo): Promise<AcceptResponseItem>;
13
- private isAttributeAlreadyShared;
14
- private shareAttribute;
8
+ canCreateOutgoingRequestItem(requestItem: ShareAttributeRequestItem, _request: Request, _recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
9
+ private canCreateWithIdentityAttribute;
10
+ private canCreateWithRelationshipAttribute;
11
+ accept(requestItem: ShareAttributeRequestItem, _params: AcceptShareAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ShareAttributeAcceptResponseItem>;
12
+ applyIncomingResponseItem(responseItem: ShareAttributeAcceptResponseItem | RejectResponseItem, requestItem: ShareAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
15
13
  }
@@ -2,91 +2,53 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ShareAttributeRequestItemProcessor = void 0;
4
4
  const content_1 = require("@nmshd/content");
5
- const transport_1 = require("@nmshd/transport");
6
5
  const consumption_1 = require("../../../../consumption");
7
6
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
8
7
  const ValidationResult_1 = require("../ValidationResult");
9
8
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
10
- async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
11
- const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
12
- if (!attribute) {
13
- return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(content_1.Attribute, requestItem.attributeId.toString()));
9
+ canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
10
+ if (requestItem.attribute instanceof content_1.IdentityAttribute) {
11
+ return this.canCreateWithIdentityAttribute(requestItem);
14
12
  }
15
- const attributeOwnerValidationResult = this.validateAttributeOwner(attribute.content, this.currentIdentityAddress, recipient);
16
- if (attributeOwnerValidationResult.isError()) {
17
- return attributeOwnerValidationResult;
18
- }
19
- return ValidationResult_1.ValidationResult.success();
13
+ return this.canCreateWithRelationshipAttribute(requestItem.attribute);
20
14
  }
21
- async checkPrerequisitesOfIncomingRequestItem(requestItem, requestInfo) {
22
- const relationshipToShareWith = await this.accountController.relationships.getRelationshipToIdentity(requestItem.shareWith);
23
- if (!relationshipToShareWith) {
24
- return false; // Should the containing Request move to Error state?
25
- }
26
- const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
27
- if (!attribute) {
28
- return false; // Should the containing Request move to Error state?
29
- }
30
- if (this.validateAttributeOwner(attribute.content, requestInfo.peer, this.currentIdentityAddress).isError()) {
31
- return false;
32
- }
33
- return true;
34
- }
35
- validateAttributeOwner(attribute, sender, recipient) {
36
- const attributeOwner = attribute.owner;
37
- if (attribute instanceof content_1.IdentityAttribute) {
38
- if (!attributeOwner.equals(recipient)) {
39
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Can only request sharing of identity attributes owned by the recipient."));
40
- }
41
- }
42
- if (attribute instanceof content_1.RelationshipAttribute) {
43
- if (!attributeOwner.equals(recipient) && !attributeOwner.equals(sender)) {
44
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot request sharing of relationship attributes not owned by recipient or sender."));
45
- }
15
+ canCreateWithIdentityAttribute(requestItem) {
16
+ const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
17
+ const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
18
+ if (!ownerIsEmpty && !ownerIsCurrentIdentity) {
19
+ 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."));
46
20
  }
47
21
  return ValidationResult_1.ValidationResult.success();
48
22
  }
49
- canAccept(_requestItem, _params, _requestInfo) {
50
- return ValidationResult_1.ValidationResult.success();
51
- }
52
- async accept(requestItem, _params, _requestInfo) {
53
- const attribute = (await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId));
54
- if (!(await this.isAttributeAlreadyShared(attribute, requestItem.shareWith))) {
55
- await this.shareAttribute(attribute, requestItem.shareWith);
56
- }
57
- return content_1.AcceptResponseItem.from({ result: content_1.ResponseItemResult.Accepted });
58
- }
59
- async isAttributeAlreadyShared(attribute, shareWith) {
60
- if (attribute.content instanceof content_1.IdentityAttribute) {
61
- return ((await this.consumptionController.attributes.getLocalAttributes({
62
- "shareInfo.sourceAttribute": attribute.shareInfo.sourceAttribute.toString(),
63
- "shareInfo.peer": shareWith.toString()
64
- })).length > 0);
23
+ canCreateWithRelationshipAttribute(attribute) {
24
+ if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
25
+ 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."));
65
26
  }
66
- return ((await this.consumptionController.attributes.getLocalAttributes({
67
- "shareInfo.sourceAttribute": attribute.id.toString(),
68
- "shareInfo.peer": shareWith.toString()
69
- })).length > 0);
27
+ return ValidationResult_1.ValidationResult.success();
70
28
  }
71
- async shareAttribute(attribute, shareWith) {
72
- const createAttributeRequestItem = content_1.CreateAttributeRequestItem.from({
73
- attribute: attribute.content,
74
- mustBeAccepted: true,
75
- sourceAttributeId: attribute.id
76
- });
77
- const createAttributeRequest = await this.consumptionController.outgoingRequests.create({
78
- peer: shareWith,
79
- content: content_1.Request.from({
80
- items: [createAttributeRequestItem]
81
- })
29
+ async accept(requestItem, _params, requestInfo) {
30
+ if (requestItem.attribute.owner.toString() === "") {
31
+ requestItem.attribute.owner = requestInfo.peer;
32
+ }
33
+ const localAttribute = await this.consumptionController.attributes.createPeerLocalAttribute({
34
+ content: requestItem.attribute,
35
+ peer: requestInfo.peer,
36
+ requestReference: requestInfo.id
82
37
  });
83
- const message = await this.accountController.messages.sendMessage({
84
- recipients: [shareWith],
85
- content: createAttributeRequest.content
38
+ return content_1.ShareAttributeAcceptResponseItem.from({
39
+ attributeId: localAttribute.id,
40
+ result: content_1.ResponseItemResult.Accepted
86
41
  });
87
- await this.consumptionController.outgoingRequests.sent({
88
- requestId: createAttributeRequest.id,
89
- requestSourceObject: message
42
+ }
43
+ async applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
44
+ if (!(responseItem instanceof content_1.ShareAttributeAcceptResponseItem)) {
45
+ return;
46
+ }
47
+ await this.consumptionController.attributes.createSharedLocalAttributeCopy({
48
+ attributeId: responseItem.attributeId,
49
+ sourceAttributeId: requestItem.sourceAttributeId,
50
+ peer: requestInfo.peer,
51
+ requestReference: requestInfo.id
90
52
  });
91
53
  }
92
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CASuB;AACvB,gDAA+D;AAC/D,yDAA2D;AAE3D,gFAA4E;AAE5E,0DAAsD;AAGtD,MAAa,kCAAmC,SAAQ,yDAGvD;IACmB,KAAK,CAAC,4BAA4B,CAC9C,WAAsC,EACtC,QAAiB,EACjB,SAAsB;QAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACxG,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,mCAAgB,CAAC,KAAK,CACzB,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAS,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CACxF,CAAA;SACJ;QAED,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,CAC9D,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,sBAAsB,EAC3B,SAAS,CACZ,CAAA;QACD,IAAI,8BAA8B,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,8BAA8B,CAAA;SACxC;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,uCAAuC,CACzD,WAAsC,EACtC,WAA6B;QAE7B,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,yBAAyB,CAChG,WAAW,CAAC,SAAS,CACxB,CAAA;QAED,IAAI,CAAC,uBAAuB,EAAE;YAC1B,OAAO,KAAK,CAAA,CAAC,qDAAqD;SACrE;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QAExG,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,KAAK,CAAA,CAAC,qDAAqD;SACrE;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,EAAE;YACzG,OAAO,KAAK,CAAA;SACf;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,sBAAsB,CAC1B,SAAoD,EACpD,MAAmB,EACnB,SAAsB;QAEtB,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAA;QACtC,IAAI,SAAS,YAAY,2BAAiB,EAAE;YACxC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACnC,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,yEAAyE,CAC5E,CACJ,CAAA;aACJ;SACJ;QAED,IAAI,SAAS,YAAY,+BAAqB,EAAE;YAC5C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBACrE,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,qFAAqF,CACxF,CACJ,CAAA;aACJ;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,SAAS,CACrB,YAAuC,EACvC,OAAsD,EACtD,YAA8B;QAE9B,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAsC,EACtC,OAAsD,EACtD,YAA8B;QAE9B,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAE,CAAA;QAE3G,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;YAC1E,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;SAC9D;QAED,OAAO,4BAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,4BAAkB,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3E,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,SAAyB,EAAE,SAAsB;QACpF,IAAI,SAAS,CAAC,OAAO,YAAY,2BAAiB,EAAE;YAChD,OAAO,CACH,CACI,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBAC3D,2BAA2B,EAAE,SAAS,CAAC,SAAU,CAAC,eAAgB,CAAC,QAAQ,EAAE;gBAC7E,gBAAgB,EAAE,SAAS,CAAC,QAAQ,EAAE;aACzC,CAAC,CACL,CAAC,MAAM,GAAG,CAAC,CACf,CAAA;SACJ;QACD,OAAO,CACH,CACI,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAC3D,2BAA2B,EAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE;YACpD,gBAAgB,EAAE,SAAS,CAAC,QAAQ,EAAE;SACzC,CAAC,CACL,CAAC,MAAM,GAAG,CAAC,CACf,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,SAAyB,EAAE,SAAsB;QAC1E,MAAM,0BAA0B,GAAG,oCAA0B,CAAC,IAAI,CAAC;YAC/D,SAAS,EAAE,SAAS,CAAC,OAAO;YAC5B,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,SAAS,CAAC,EAAE;SAClC,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACpF,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,iBAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,CAAC,0BAA0B,CAAC;aACtC,CAAC;SACL,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9D,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,OAAO,EAAE,sBAAsB,CAAC,OAAO;SAC1C,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnD,SAAS,EAAE,sBAAsB,CAAC,EAAE;YACpC,mBAAmB,EAAE,OAAO;SAC/B,CAAC,CAAA;IACN,CAAC;CACJ;AArJD,gFAqJC"}
1
+ {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CASuB;AAEvB,yDAA2D;AAC3D,gFAA4E;AAE5E,0DAAsD;AAGtD,MAAa,kCAAmC,SAAQ,yDAGvD;IACmB,4BAA4B,CACxC,WAAsC,EACtC,QAAiB,EACjB,UAAuB;QAEvB,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE;YACpD,OAAO,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAA;SAC1D;QAED,OAAO,IAAI,CAAC,kCAAkC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACzE,CAAC;IAEO,8BAA8B,CAAC,WAAsC;QACzE,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;QAClE,MAAM,sBAAsB,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC9F,IAAI,CAAC,YAAY,IAAI,CAAC,sBAAsB,EAAE;YAC1C,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,sPAAsP,CACzP,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEO,kCAAkC,CAAC,SAAgC;QACvE,IAAI,SAAS,CAAC,eAAe,KAAK,8CAAoC,CAAC,OAAO,EAAE;YAC5E,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,qGAAqG,CACxG,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAsC,EACtC,OAAsD,EACtD,WAA6B;QAE7B,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC/C,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAA;SACjD;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACxF,OAAO,EAAE,WAAW,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;QAEF,OAAO,0CAAgC,CAAC,IAAI,CAAC;YACzC,WAAW,EAAE,cAAc,CAAC,EAAE;YAC9B,MAAM,EAAE,4BAAkB,CAAC,QAAQ;SACtC,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAmE,EACnE,WAAsC,EACtC,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,0CAAgC,CAAC,EAAE;YAC7D,OAAM;SACT;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;YACvE,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;YAChD,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;SACnC,CAAC,CAAA;IACN,CAAC;CACJ;AA/ED,gFA+EC"}