@nmshd/consumption 2.0.0-beta.29 → 2.0.0-beta.30

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.
@@ -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.29",
10
- build: "83",
11
- date: "2022-10-19T14:10:26+00:00",
12
- commit: "f5d9f037ba327b9dc898659c39e158614e4acfdd",
9
+ version: "2.0.0-beta.30",
10
+ build: "84",
11
+ date: "2022-10-20T11:54:08+00:00",
12
+ commit: "7ef6f5c38ee66eebc8e417df0ee86fd8983bd478",
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,
@@ -5,7 +5,7 @@ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
5
5
  import { LocalRequestInfo } from "../IRequestItemProcessor";
6
6
  import { ValidationResult } from "../ValidationResult";
7
7
  export declare class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor<ShareAttributeRequestItem> {
8
- canCreateOutgoingRequestItem(requestItem: ShareAttributeRequestItem, _request: Request, _recipient?: CoreAddress): ValidationResult | Promise<ValidationResult>;
8
+ canCreateOutgoingRequestItem(requestItem: ShareAttributeRequestItem, _request: Request, recipient?: CoreAddress): ValidationResult | Promise<ValidationResult>;
9
9
  private canCreateWithIdentityAttribute;
10
10
  private canCreateWithRelationshipAttribute;
11
11
  accept(requestItem: ShareAttributeRequestItem, _params: AcceptRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ShareAttributeAcceptResponseItem>;
@@ -6,11 +6,11 @@ const consumption_1 = require("../../../../consumption");
6
6
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
7
7
  const ValidationResult_1 = require("../ValidationResult");
8
8
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
9
- canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
9
+ canCreateOutgoingRequestItem(requestItem, _request, recipient) {
10
10
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
11
11
  return this.canCreateWithIdentityAttribute(requestItem);
12
12
  }
13
- return this.canCreateWithRelationshipAttribute(requestItem.attribute);
13
+ return this.canCreateWithRelationshipAttribute(requestItem.attribute, recipient);
14
14
  }
15
15
  canCreateWithIdentityAttribute(requestItem) {
16
16
  const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
@@ -20,10 +20,13 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
20
20
  }
21
21
  return ValidationResult_1.ValidationResult.success();
22
22
  }
23
- canCreateWithRelationshipAttribute(attribute) {
23
+ canCreateWithRelationshipAttribute(attribute, recipient) {
24
24
  if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
25
25
  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."));
26
26
  }
27
+ if (attribute.owner.equals(recipient)) {
28
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
29
+ }
27
30
  return ValidationResult_1.ValidationResult.success();
28
31
  }
29
32
  async accept(requestItem, _params, requestInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CASuB;AAEvB,yDAAoD;AAEpD,gFAA4E;AAE5E,0DAAsD;AAEtD,MAAa,kCAAmC,SAAQ,yDAAsD;IAC1F,4BAA4B,CACxC,WAAsC,EACtC,QAAiB,EACjB,UAAwB;QAExB,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,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,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,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,qGAAqG,CACxG,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAsC,EACtC,OAAwC,EACxC,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;AA5ED,gFA4EC"}
1
+ {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CASuB;AAEvB,yDAAoD;AAEpD,gFAA4E;AAE5E,0DAAsD;AAEtD,MAAa,kCAAmC,SAAQ,yDAAsD;IAC1F,4BAA4B,CACxC,WAAsC,EACtC,QAAiB,EACjB,SAAuB;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,EAAE,SAAS,CAAC,CAAA;IACpF,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,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,sPAAsP,CACzP,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEO,kCAAkC,CAAC,SAAgC,EAAE,SAAuB;QAChG,IAAI,SAAS,CAAC,eAAe,KAAK,8CAAoC,CAAC,OAAO,EAAE;YAC5E,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,qGAAqG,CACxG,CACJ,CAAA;SACJ;QAED,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,mCAAgB,CAAC,KAAK,CACzB,wBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAClC,wEAAwE,CAC3E,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAsC,EACtC,OAAwC,EACxC,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;AApFD,gFAoFC"}
@@ -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.29",
21
- build: "83",
22
- date: "2022-10-19T14:10:26+00:00",
23
- commit: "f5d9f037ba327b9dc898659c39e158614e4acfdd",
20
+ version: "2.0.0-beta.30",
21
+ build: "84",
22
+ date: "2022-10-20T11:54:08+00:00",
23
+ commit: "7ef6f5c38ee66eebc8e417df0ee86fd8983bd478",
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,
@@ -3293,11 +3293,11 @@ const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist
3293
3293
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
3294
3294
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
3295
3295
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
3296
- canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
3296
+ canCreateOutgoingRequestItem(requestItem, _request, recipient) {
3297
3297
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
3298
3298
  return this.canCreateWithIdentityAttribute(requestItem);
3299
3299
  }
3300
- return this.canCreateWithRelationshipAttribute(requestItem.attribute);
3300
+ return this.canCreateWithRelationshipAttribute(requestItem.attribute, recipient);
3301
3301
  }
3302
3302
  canCreateWithIdentityAttribute(requestItem) {
3303
3303
  const ownerIsEmpty = requestItem.attribute.owner.toString() === "";
@@ -3307,10 +3307,13 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
3307
3307
  }
3308
3308
  return ValidationResult_1.ValidationResult.success();
3309
3309
  }
3310
- canCreateWithRelationshipAttribute(attribute) {
3310
+ canCreateWithRelationshipAttribute(attribute, recipient) {
3311
3311
  if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
3312
3312
  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."));
3313
3313
  }
3314
+ if (attribute.owner.equals(recipient)) {
3315
+ return ValidationResult_1.ValidationResult.error(consumption_1.CoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
3316
+ }
3314
3317
  return ValidationResult_1.ValidationResult.success();
3315
3318
  }
3316
3319
  async accept(requestItem, _params, requestInfo) {