@nmshd/consumption 2.0.0-beta.2 → 2.0.0-beta.3

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.2",
10
- build: "52",
11
- date: "2022-07-21T12:41:03+00:00",
12
- commit: "5ae49a7cb3ded2b90958e44e4f3e03599ba6cc9c",
9
+ version: "2.0.0-beta.3",
10
+ build: "53",
11
+ date: "2022-07-22T10:49:10+00:00",
12
+ commit: "7af5e3a24a7d729403577ed228905468f1fccddc",
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,9 +5,8 @@ import { LocalRequestInfo } from "../IRequestItemProcessor";
5
5
  import { ValidationResult } from "../ValidationResult";
6
6
  import { AcceptCreateAttributeRequestItemParametersJSON } from "./AcceptCreateAttributeRequestItemParameters";
7
7
  export declare class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor<CreateAttributeRequestItem, AcceptCreateAttributeRequestItemParametersJSON> {
8
- canCreateOutgoingRequestItem(requestItem: CreateAttributeRequestItem, _request: Request, recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
8
+ canCreateOutgoingRequestItem(requestItem: CreateAttributeRequestItem, _request: Request, _recipient: CoreAddress): ValidationResult | Promise<ValidationResult>;
9
9
  private canCreateRequestItemWithIdentityAttribute;
10
- private canCreateRequestItemWithRelationshipAttribute;
11
10
  accept(requestItem: CreateAttributeRequestItem, _params: AcceptCreateAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<CreateAttributeAcceptResponseItem>;
12
11
  applyIncomingResponseItem(responseItem: CreateAttributeAcceptResponseItem | RejectResponseItem, requestItem: CreateAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
13
12
  }
@@ -6,30 +6,19 @@ const consumption_1 = require("../../../../consumption");
6
6
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
7
7
  const ValidationResult_1 = require("../ValidationResult");
8
8
  class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
9
- canCreateOutgoingRequestItem(requestItem, _request, recipient) {
10
- const recipientIsOwnerOfTheAttribute = requestItem.attribute.owner.equals(recipient);
11
- // When the owner of the Attribute is not the recipient of the Request, this means that
12
- // we need to set the sourceAttributeId, because we have to set shareInfo as soon as the
13
- // RequestItem was accepted.
14
- if (!recipientIsOwnerOfTheAttribute && !requestItem.sourceAttributeId) {
15
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("'sourceAttributeId' cannot be undefined when sending an attribute that is not owned by the recipient."));
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."));
16
13
  }
17
14
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
18
15
  return this.canCreateRequestItemWithIdentityAttribute(requestItem);
19
16
  }
20
- return this.canCreateRequestItemWithRelationshipAttribute(requestItem);
21
- }
22
- canCreateRequestItemWithIdentityAttribute(requestItem) {
23
- const iAmOwnerOfTheAttribute = this.accountController.identity.isMe(requestItem.attribute.owner);
24
- if (!iAmOwnerOfTheAttribute) {
25
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem(`Cannot send Identity Attributes of which you are not the owner via ${content_1.CreateAttributeRequestItem.name}. Consider using a ${content_1.ProposeAttributeRequestItem.name} instead.`));
26
- }
27
17
  return ValidationResult_1.ValidationResult.success();
28
18
  }
29
- canCreateRequestItemWithRelationshipAttribute(requestItem) {
30
- const iAmOwnerOfTheAttribute = this.accountController.identity.isMe(requestItem.attribute.owner);
31
- if (!iAmOwnerOfTheAttribute) {
32
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot send Relationship Attributes of which you are not the owner."));
19
+ canCreateRequestItemWithIdentityAttribute(requestItem) {
20
+ if (!requestItem.sourceAttributeId) {
21
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("'sourceAttributeId' cannot be undefined when sending an Identity Attribute."));
33
22
  }
34
23
  return ValidationResult_1.ValidationResult.success();
35
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CreateAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAOuB;AAEvB,yDAA2D;AAC3D,gFAA4E;AAE5E,0DAAsD;AAGtD,MAAa,mCAAoC,SAAQ,yDAGxD;IACmB,4BAA4B,CACxC,WAAuC,EACvC,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,IAAI,WAAW,CAAC,SAAS,YAAY,2BAAiB,EAAE;YACpD,OAAO,IAAI,CAAC,yCAAyC,CAAC,WAAW,CAAC,CAAA;SACrE;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEO,yCAAyC,CAAC,WAAuC;QACrF,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAChC,OAAO,mCAAgB,CAAC,KAAK,CACzB,+BAAiB,CAAC,QAAQ,CAAC,kBAAkB,CACzC,6EAA6E,CAChF,CACJ,CAAA;SACJ;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAEe,KAAK,CAAC,MAAM,CACxB,WAAuC,EACvC,OAAuD,EACvD,WAA6B;QAE7B,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,2CAAiC,CAAC,IAAI,CAAC;YAC1C,WAAW,EAAE,kBAAkB,CAAC,EAAE;YAClC,MAAM,EAAE,4BAAkB,CAAC,QAAQ;SACtC,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,yBAAyB,CAC3C,YAAoE,EACpE,WAAuC,EACvC,WAA6B;QAE7B,IAAI,CAAC,CAAC,YAAY,YAAY,2CAAiC,CAAC,EAAE;YAC9D,OAAM;SACT;QAED,IAAI,WAAW,CAAC,iBAAiB,EAAE;YAC/B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CACjF,WAAW,CAAC,iBAAiB,CAChC,CAAA;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,8BAA8B,CAAC;gBACvE,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,iBAAiB,EAAE,eAAgB,CAAC,EAAE;gBACtC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;aACnC,CAAC,CAAA;SACL;aAAM;YACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,wBAAwB,CAAC;gBACjE,EAAE,EAAE,YAAY,CAAC,WAAW;gBAC5B,OAAO,EAAE,WAAW,CAAC,SAAS;gBAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,gBAAgB,EAAE,WAAW,CAAC,EAAE;aACnC,CAAC,CAAA;SACL;IACL,CAAC;CACJ;AArFD,kFAqFC"}
@@ -26,7 +26,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
26
26
  }
27
27
  validateAttribute(attribute) {
28
28
  if (attribute.owner.toString() !== "") {
29
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given attribute can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
29
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
30
30
  }
31
31
  return ValidationResult_1.ValidationResult.success();
32
32
  }
@@ -36,7 +36,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
36
36
  return commonQueryValidationResult;
37
37
  }
38
38
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
39
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given query can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
39
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
40
40
  }
41
41
  return ValidationResult_1.ValidationResult.success();
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProposeAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProposeAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -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.2",
21
- build: "52",
22
- date: "2022-07-21T12:41:03+00:00",
23
- commit: "5ae49a7cb3ded2b90958e44e4f3e03599ba6cc9c",
20
+ version: "2.0.0-beta.3",
21
+ build: "53",
22
+ date: "2022-07-22T10:49:10+00:00",
23
+ commit: "7af5e3a24a7d729403577ed228905468f1fccddc",
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,
@@ -2399,30 +2399,19 @@ const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist
2399
2399
  const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
2400
2400
  const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
2401
2401
  class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
2402
- canCreateOutgoingRequestItem(requestItem, _request, recipient) {
2403
- const recipientIsOwnerOfTheAttribute = requestItem.attribute.owner.equals(recipient);
2404
- // When the owner of the Attribute is not the recipient of the Request, this means that
2405
- // we need to set the sourceAttributeId, because we have to set shareInfo as soon as the
2406
- // RequestItem was accepted.
2407
- if (!recipientIsOwnerOfTheAttribute && !requestItem.sourceAttributeId) {
2408
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("'sourceAttributeId' cannot be undefined when sending an attribute that is not owned by the recipient."));
2402
+ canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
2403
+ if (requestItem.attribute.owner.toString() !== "" &&
2404
+ !requestItem.attribute.owner.equals(this.currentIdentityAddress)) {
2405
+ 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."));
2409
2406
  }
2410
2407
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
2411
2408
  return this.canCreateRequestItemWithIdentityAttribute(requestItem);
2412
2409
  }
2413
- return this.canCreateRequestItemWithRelationshipAttribute(requestItem);
2414
- }
2415
- canCreateRequestItemWithIdentityAttribute(requestItem) {
2416
- const iAmOwnerOfTheAttribute = this.accountController.identity.isMe(requestItem.attribute.owner);
2417
- if (!iAmOwnerOfTheAttribute) {
2418
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem(`Cannot send Identity Attributes of which you are not the owner via ${content_1.CreateAttributeRequestItem.name}. Consider using a ${content_1.ProposeAttributeRequestItem.name} instead.`));
2419
- }
2420
2410
  return ValidationResult_1.ValidationResult.success();
2421
2411
  }
2422
- canCreateRequestItemWithRelationshipAttribute(requestItem) {
2423
- const iAmOwnerOfTheAttribute = this.accountController.identity.isMe(requestItem.attribute.owner);
2424
- if (!iAmOwnerOfTheAttribute) {
2425
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("Cannot send Relationship Attributes of which you are not the owner."));
2412
+ canCreateRequestItemWithIdentityAttribute(requestItem) {
2413
+ if (!requestItem.sourceAttributeId) {
2414
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("'sourceAttributeId' cannot be undefined when sending an Identity Attribute."));
2426
2415
  }
2427
2416
  return ValidationResult_1.ValidationResult.success();
2428
2417
  }
@@ -2557,7 +2546,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
2557
2546
  }
2558
2547
  validateAttribute(attribute) {
2559
2548
  if (attribute.owner.toString() !== "") {
2560
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given attribute can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
2549
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given `attribute` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
2561
2550
  }
2562
2551
  return ValidationResult_1.ValidationResult.success();
2563
2552
  }
@@ -2567,7 +2556,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
2567
2556
  return commonQueryValidationResult;
2568
2557
  }
2569
2558
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
2570
- return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given query can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
2559
+ return ValidationResult_1.ValidationResult.error(consumption_1.ConsumptionErrors.requests.invalidRequestItem("The owner of the given `query` can only be an empty string. This is because you can only propose Attributes where the recipient of the Request is the owner anyway. And in order to avoid mistakes, the owner will be automatically filled for you."));
2571
2560
  }
2572
2561
  return ValidationResult_1.ValidationResult.success();
2573
2562
  }