@nmshd/consumption 7.0.0-alpha.1 → 7.0.0-alpha.11

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 (70) hide show
  1. package/README.md +1 -1
  2. package/dist/buildInformation.js +5 -5
  3. package/dist/consumption/ConsumptionController.d.ts.map +1 -1
  4. package/dist/consumption/ConsumptionController.js +3 -1
  5. package/dist/consumption/ConsumptionController.js.map +1 -1
  6. package/dist/consumption/ConsumptionCoreErrors.d.ts +1 -0
  7. package/dist/consumption/ConsumptionCoreErrors.d.ts.map +1 -1
  8. package/dist/consumption/ConsumptionCoreErrors.js +3 -0
  9. package/dist/consumption/ConsumptionCoreErrors.js.map +1 -1
  10. package/dist/consumption/ConsumptionIds.d.ts +1 -1
  11. package/dist/consumption/ConsumptionIds.d.ts.map +1 -1
  12. package/dist/consumption/ConsumptionIds.js +8 -8
  13. package/dist/consumption/ConsumptionIds.js.map +1 -1
  14. package/dist/modules/attributes/AttributesController.d.ts +23 -7
  15. package/dist/modules/attributes/AttributesController.d.ts.map +1 -1
  16. package/dist/modules/attributes/AttributesController.js +179 -55
  17. package/dist/modules/attributes/AttributesController.js.map +1 -1
  18. package/dist/modules/attributes/local/LocalAttribute.d.ts +1 -0
  19. package/dist/modules/attributes/local/LocalAttribute.d.ts.map +1 -1
  20. package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
  21. package/dist/modules/attributes/local/QueryTranslator.d.ts.map +1 -1
  22. package/dist/modules/attributes/local/QueryTranslator.js +0 -71
  23. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  24. package/dist/modules/identityMetadata/local/IdentityMetadata.d.ts +1 -0
  25. package/dist/modules/identityMetadata/local/IdentityMetadata.d.ts.map +1 -1
  26. package/dist/modules/identityMetadata/local/IdentityMetadata.js.map +1 -1
  27. package/dist/modules/requests/index.d.ts +3 -0
  28. package/dist/modules/requests/index.d.ts.map +1 -1
  29. package/dist/modules/requests/index.js +3 -0
  30. package/dist/modules/requests/index.js.map +1 -1
  31. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +0 -2
  32. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts.map +1 -1
  33. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +25 -71
  34. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  35. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.d.ts +10 -0
  36. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.d.ts.map +1 -0
  37. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.js +31 -0
  38. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.js.map +1 -0
  39. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.d.ts +10 -0
  40. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.d.ts.map +1 -0
  41. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.js +34 -0
  42. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.js.map +1 -0
  43. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.d.ts +2 -0
  44. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.d.ts.map +1 -1
  45. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +8 -0
  46. package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
  47. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +1 -3
  48. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts.map +1 -1
  49. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +76 -63
  50. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  51. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +0 -1
  52. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts.map +1 -1
  53. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +36 -37
  54. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  55. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +4 -3
  56. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts.map +1 -1
  57. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +20 -2
  58. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  59. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.d.ts +13 -0
  60. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.d.ts.map +1 -0
  61. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.js +87 -0
  62. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.js.map +1 -0
  63. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.d.ts +7 -0
  64. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.d.ts.map +1 -0
  65. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.js +93 -0
  66. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.js.map +1 -0
  67. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.d.ts.map +1 -1
  68. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.js +0 -10
  69. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.js.map +1 -1
  70. package/package.json +8 -7
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.CreateAttributeRequestItemProcessor = void 0;
4
7
  const content_1 = require("@nmshd/content");
@@ -6,27 +9,33 @@ const ConsumptionCoreErrors_1 = require("../../../../consumption/ConsumptionCore
6
9
  const attributes_1 = require("../../../attributes");
7
10
  const ValidationResult_1 = require("../../../common/ValidationResult");
8
11
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
12
+ const createAppropriateResponseItem_1 = __importDefault(require("../utility/createAppropriateResponseItem"));
9
13
  class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
10
14
  async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
11
15
  const recipientIsAttributeOwner = requestItem.attribute.owner.equals(recipient);
12
16
  const senderIsAttributeOwner = requestItem.attribute.owner.equals(this.currentIdentityAddress);
13
17
  const ownerIsEmptyString = requestItem.attribute.owner.toString() === "";
14
18
  if (requestItem.attribute instanceof content_1.IdentityAttribute) {
15
- if (recipientIsAttributeOwner || ownerIsEmptyString) {
16
- return ValidationResult_1.ValidationResult.success();
17
- }
18
19
  if (senderIsAttributeOwner) {
19
20
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("Cannot create own IdentityAttributes with a CreateAttributeRequestItem. Use a ShareAttributeRequestItem instead."));
20
21
  }
21
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The owner of the provided IdentityAttribute for the `attribute` property can only be the address of the recipient or an empty string. The latter will default to the address of the recipient."));
22
- }
23
- if (!(recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString)) {
24
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The owner of the provided RelationshipAttribute for the `attribute` property can only be the address of the sender, the address of the recipient or an empty string. The latter will default to the address of the recipient."));
22
+ if (!(recipientIsAttributeOwner || ownerIsEmptyString)) {
23
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The owner of the provided IdentityAttribute for the `attribute` property can only be the address of the recipient or an empty string. The latter will default to the address of the recipient."));
24
+ }
25
+ const tagValidationResult = await this.consumptionController.attributes.validateTags(requestItem.attribute);
26
+ if (tagValidationResult.isError()) {
27
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
28
+ }
25
29
  }
26
- if (typeof recipient !== "undefined") {
27
- const relationshipAttributesWithSameKey = await this.consumptionController.attributes.getRelationshipAttributesOfValueTypeToPeerWithGivenKeyAndOwner(requestItem.attribute.key, ownerIsEmptyString ? recipient : requestItem.attribute.owner, requestItem.attribute.value.toJSON()["@type"], recipient);
28
- if (relationshipAttributesWithSameKey.length !== 0) {
29
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The creation of the provided RelationshipAttribute cannot be requested because there is already a RelationshipAttribute in the context of this Relationship with the same key '${requestItem.attribute.key}', owner and value type.`));
30
+ if (requestItem.attribute instanceof content_1.RelationshipAttribute) {
31
+ if (!(recipientIsAttributeOwner || senderIsAttributeOwner || ownerIsEmptyString)) {
32
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The owner of the provided RelationshipAttribute for the `attribute` property can only be the address of the sender, the address of the recipient or an empty string. The latter will default to the address of the recipient."));
33
+ }
34
+ if (typeof recipient !== "undefined") {
35
+ const relationshipAttributesWithSameKey = await this.consumptionController.attributes.getRelationshipAttributesOfValueTypeToPeerWithGivenKeyAndOwner(requestItem.attribute.key, ownerIsEmptyString ? recipient : requestItem.attribute.owner, requestItem.attribute.value.toJSON()["@type"], recipient);
36
+ if (relationshipAttributesWithSameKey.length !== 0) {
37
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The creation of the provided RelationshipAttribute cannot be requested because there is already a RelationshipAttribute in the context of this Relationship with the same key '${requestItem.attribute.key}', owner and value type.`));
38
+ }
30
39
  }
31
40
  }
32
41
  return ValidationResult_1.ValidationResult.success();
@@ -42,6 +51,10 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
42
51
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(`This CreateAttributeRequestItem cannot be accepted as the provided RelationshipAttribute cannot be created because there is already a RelationshipAttribute in the context of this Relationship with the same key '${requestItem.attribute.key}', owner and value type.`));
43
52
  }
44
53
  }
54
+ const tagValidationResult = await this.consumptionController.attributes.validateTags(requestItem.attribute);
55
+ if (tagValidationResult.isError()) {
56
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
57
+ }
45
58
  return ValidationResult_1.ValidationResult.success();
46
59
  }
47
60
  async accept(requestItem, _params, requestInfo) {
@@ -59,66 +72,7 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
59
72
  attributeId: sharedRelationshipAttribute.id
60
73
  });
61
74
  }
62
- const repositoryAttribute = await this.getSourceRepositoryAttribute(requestItem.attribute);
63
- const latestSharedVersions = await this.consumptionController.attributes.getSharedVersionsOfAttribute(repositoryAttribute.id, [requestInfo.peer]);
64
- const latestSharedVersion = latestSharedVersions.length > 0 ? latestSharedVersions[0] : undefined;
65
- if (!latestSharedVersion) {
66
- const newOwnSharedIdentityAttribute = await this.consumptionController.attributes.createSharedLocalAttributeCopy({
67
- peer: requestInfo.peer,
68
- requestReference: requestInfo.id,
69
- sourceAttributeId: repositoryAttribute.id
70
- });
71
- return content_1.CreateAttributeAcceptResponseItem.from({
72
- result: content_1.ResponseItemResult.Accepted,
73
- attributeId: newOwnSharedIdentityAttribute.id
74
- });
75
- }
76
- if (latestSharedVersion.shareInfo.sourceAttribute.equals(repositoryAttribute.id)) {
77
- return content_1.AttributeAlreadySharedAcceptResponseItem.from({
78
- result: content_1.ResponseItemResult.Accepted,
79
- attributeId: latestSharedVersion.id
80
- });
81
- }
82
- const ownSharedIdentityAttributeSuccessorParams = {
83
- content: repositoryAttribute.content,
84
- shareInfo: attributes_1.LocalAttributeShareInfo.from({
85
- peer: requestInfo.peer,
86
- requestReference: requestInfo.id,
87
- sourceAttribute: repositoryAttribute.id
88
- })
89
- };
90
- const ownSharedIdentityAttributesAfterSuccession = await this.consumptionController.attributes.succeedOwnSharedIdentityAttribute(latestSharedVersion.id, ownSharedIdentityAttributeSuccessorParams);
91
- const succeededOwnSharedIdentityAttribute = ownSharedIdentityAttributesAfterSuccession.successor;
92
- return content_1.AttributeSuccessionAcceptResponseItem.from({
93
- result: content_1.ResponseItemResult.Accepted,
94
- successorId: succeededOwnSharedIdentityAttribute.id,
95
- successorContent: succeededOwnSharedIdentityAttribute.content,
96
- predecessorId: latestSharedVersion.id
97
- });
98
- }
99
- async getSourceRepositoryAttribute(attribute) {
100
- const existingRepositoryAttribute = await this.consumptionController.attributes.getRepositoryAttributeWithSameValue(attribute.value.toJSON());
101
- if (!existingRepositoryAttribute) {
102
- return await this.consumptionController.attributes.createRepositoryAttribute({
103
- content: attribute
104
- });
105
- }
106
- const newTags = attribute.tags?.filter((tag) => !existingRepositoryAttribute.content.tags?.includes(tag));
107
- if (!newTags || newTags.length === 0)
108
- return existingRepositoryAttribute;
109
- const succeededRepositoryAttribute = await this.mergeTagsOfRepositoryAttribute(existingRepositoryAttribute, newTags);
110
- return succeededRepositoryAttribute;
111
- }
112
- async mergeTagsOfRepositoryAttribute(existingRepositoryAttribute, newTags) {
113
- const repositoryAttributeSuccessorParams = {
114
- content: {
115
- ...existingRepositoryAttribute.content.toJSON(),
116
- tags: [...(existingRepositoryAttribute.content.tags ?? []), ...newTags]
117
- },
118
- succeeds: existingRepositoryAttribute.id.toString()
119
- };
120
- const repositoryAttributesAfterSuccession = await this.consumptionController.attributes.succeedRepositoryAttribute(existingRepositoryAttribute.id, repositoryAttributeSuccessorParams);
121
- return repositoryAttributesAfterSuccession.successor;
75
+ return await (0, createAppropriateResponseItem_1.default)(requestItem.attribute, requestInfo, this.consumptionController.attributes, "Create");
122
76
  }
123
77
  async applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
124
78
  if (responseItem instanceof content_1.CreateAttributeAcceptResponseItem) {
@@ -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":"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"}
@@ -0,0 +1,10 @@
1
+ import { Serializable } from "@js-soft/ts-serval";
2
+ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
3
+ export interface AcceptFormFieldRequestItemParametersJSON extends AcceptRequestItemParametersJSON {
4
+ response: string | number | boolean | string[];
5
+ }
6
+ export declare class AcceptFormFieldRequestItemParameters extends Serializable {
7
+ response: string | number | boolean | string[];
8
+ static from(value: AcceptFormFieldRequestItemParametersJSON): AcceptFormFieldRequestItemParameters;
9
+ }
10
+ //# sourceMappingURL=AcceptFormFieldRequestItemParameters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptFormFieldRequestItemParameters.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAA6B,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEpG,MAAM,WAAW,wCAAyC,SAAQ,+BAA+B;IAC7F,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;CAClD;AAED,qBACa,oCAAqC,SAAQ,YAAY;IAM3D,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;WAExC,IAAI,CAAC,KAAK,EAAE,wCAAwC,GAAG,oCAAoC;CAG5G"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AcceptFormFieldRequestItemParameters = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ let AcceptFormFieldRequestItemParameters = class AcceptFormFieldRequestItemParameters extends ts_serval_1.Serializable {
15
+ static from(value) {
16
+ return this.fromAny(value);
17
+ }
18
+ };
19
+ exports.AcceptFormFieldRequestItemParameters = AcceptFormFieldRequestItemParameters;
20
+ __decorate([
21
+ (0, ts_serval_1.serialize)({ any: true }),
22
+ (0, ts_serval_1.validate)({
23
+ allowedTypes: [ts_serval_1.PrimitiveType.String, ts_serval_1.PrimitiveType.Number, ts_serval_1.PrimitiveType.Boolean, ts_serval_1.PrimitiveType.Array],
24
+ customValidator: (v) => (Array.isArray(v) && !v.every((option) => typeof option === "string") ? "If the response is an array, it must be a string array." : undefined)
25
+ }),
26
+ __metadata("design:type", Object)
27
+ ], AcceptFormFieldRequestItemParameters.prototype, "response", void 0);
28
+ exports.AcceptFormFieldRequestItemParameters = AcceptFormFieldRequestItemParameters = __decorate([
29
+ (0, ts_serval_1.type)("AcceptFormFieldRequestItemParameters")
30
+ ], AcceptFormFieldRequestItemParameters);
31
+ //# sourceMappingURL=AcceptFormFieldRequestItemParameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptFormFieldRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA4F;AAQrF,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,wBAAY;IAQ3D,MAAM,CAAC,IAAI,CAAC,KAA+C;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACJ,CAAA;AAXY,oFAAoC;AAMtC;IALN,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,oBAAQ,EAAC;QACN,YAAY,EAAE,CAAC,yBAAa,CAAC,MAAM,EAAE,yBAAa,CAAC,MAAM,EAAE,yBAAa,CAAC,OAAO,EAAE,yBAAa,CAAC,KAAK,CAAC;QACtG,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,SAAS,CAAC;KACzK,CAAC;;sEACoD;+CAN7C,oCAAoC;IADhD,IAAA,gBAAI,EAAC,sCAAsC,CAAC;GAChC,oCAAoC,CAWhD"}
@@ -0,0 +1,10 @@
1
+ import { FormFieldAcceptResponseItem, FormFieldRequestItem, Request } from "@nmshd/content";
2
+ import { ValidationResult } from "../../../common/ValidationResult";
3
+ import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
4
+ import { AcceptFormFieldRequestItemParametersJSON } from "./AcceptFormFieldRequestItemParameters";
5
+ export declare class FormFieldRequestItemProcessor extends GenericRequestItemProcessor<FormFieldRequestItem, AcceptFormFieldRequestItemParametersJSON> {
6
+ canCreateOutgoingRequestItem(requestItem: FormFieldRequestItem, _request: Request): ValidationResult;
7
+ canAccept(requestItem: FormFieldRequestItem, params: AcceptFormFieldRequestItemParametersJSON): ValidationResult;
8
+ accept(_requestItem: FormFieldRequestItem, params: AcceptFormFieldRequestItemParametersJSON): FormFieldAcceptResponseItem;
9
+ }
10
+ //# sourceMappingURL=FormFieldRequestItemProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFieldRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,OAAO,EAAsB,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAwC,wCAAwC,EAAE,MAAM,wCAAwC,CAAC;AAExI,qBAAa,6BAA8B,SAAQ,2BAA2B,CAAC,oBAAoB,EAAE,wCAAwC,CAAC;IAC1H,4BAA4B,CAAC,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,GAAG,gBAAgB;IASpG,SAAS,CAAC,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,wCAAwC,GAAG,gBAAgB;IAWhH,MAAM,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,wCAAwC,GAAG,2BAA2B;CAQ5I"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormFieldRequestItemProcessor = void 0;
4
+ const content_1 = require("@nmshd/content");
5
+ const ValidationResult_1 = require("../../../common/ValidationResult");
6
+ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
7
+ const ConsumptionCoreErrors_1 = require("../../../../consumption/ConsumptionCoreErrors");
8
+ const AcceptFormFieldRequestItemParameters_1 = require("./AcceptFormFieldRequestItemParameters");
9
+ class FormFieldRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
10
+ canCreateOutgoingRequestItem(requestItem, _request) {
11
+ const canCreateSettingsError = requestItem.settings.canCreate();
12
+ if (canCreateSettingsError) {
13
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(canCreateSettingsError));
14
+ }
15
+ return ValidationResult_1.ValidationResult.success();
16
+ }
17
+ canAccept(requestItem, params) {
18
+ const parsedParams = AcceptFormFieldRequestItemParameters_1.AcceptFormFieldRequestItemParameters.from(params);
19
+ const canAcceptSettingsError = requestItem.settings.canAccept(parsedParams.response);
20
+ if (canAcceptSettingsError) {
21
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(canAcceptSettingsError));
22
+ }
23
+ return ValidationResult_1.ValidationResult.success();
24
+ }
25
+ accept(_requestItem, params) {
26
+ const parsedParams = AcceptFormFieldRequestItemParameters_1.AcceptFormFieldRequestItemParameters.from(params);
27
+ return content_1.FormFieldAcceptResponseItem.from({
28
+ result: content_1.ResponseItemResult.Accepted,
29
+ response: parsedParams.response
30
+ });
31
+ }
32
+ }
33
+ exports.FormFieldRequestItemProcessor = FormFieldRequestItemProcessor;
34
+ //# sourceMappingURL=FormFieldRequestItemProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFieldRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.ts"],"names":[],"mappings":";;;AAAA,4CAAgH;AAChH,uEAAoE;AACpE,gFAA6E;AAE7E,yFAAsF;AACtF,iGAAwI;AAExI,MAAa,6BAA8B,SAAQ,yDAA2F;IAC1H,4BAA4B,CAAC,WAAiC,EAAE,QAAiB;QAC7F,MAAM,sBAAsB,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAChE,IAAI,sBAAsB,EAAE,CAAC;YACzB,OAAO,mCAAgB,CAAC,KAAK,CAAC,6CAAqB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEe,SAAS,CAAC,WAAiC,EAAE,MAAgD;QACzG,MAAM,YAAY,GAAG,2EAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,MAAM,sBAAsB,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,sBAAsB,EAAE,CAAC;YACzB,OAAO,mCAAgB,CAAC,KAAK,CAAC,6CAAqB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClH,CAAC;QAED,OAAO,mCAAgB,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEe,MAAM,CAAC,YAAkC,EAAE,MAAgD;QACvG,MAAM,YAAY,GAAG,2EAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,OAAO,qCAA2B,CAAC,IAAI,CAAC;YACpC,MAAM,EAAE,4BAAkB,CAAC,QAAQ;YACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAClC,CAAC,CAAC;IACP,CAAC;CACJ;AA7BD,sEA6BC"}
@@ -7,6 +7,7 @@ import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptReq
7
7
  */
8
8
  export interface AcceptProposeAttributeRequestItemParametersWithExistingAttributeJSON extends AcceptRequestItemParametersJSON {
9
9
  attributeId: string;
10
+ tags?: string[];
10
11
  }
11
12
  /**
12
13
  * Create a new Local Attribute. If you want to use the proposed Attribute, just pass it here.
@@ -17,6 +18,7 @@ export interface AcceptProposeAttributeRequestItemParametersWithNewAttributeJSON
17
18
  export type AcceptProposeAttributeRequestItemParametersJSON = AcceptProposeAttributeRequestItemParametersWithExistingAttributeJSON | AcceptProposeAttributeRequestItemParametersWithNewAttributeJSON;
18
19
  export declare class AcceptProposeAttributeRequestItemParameters extends Serializable {
19
20
  attributeId?: CoreId;
21
+ tags?: string[];
20
22
  attribute?: IdentityAttribute | RelationshipAttribute;
21
23
  isWithExistingAttribute(): this is {
22
24
  attributeId: CoreId;
@@ -1 +1 @@
1
- {"version":3,"file":"AcceptProposeAttributeRequestItemParameters.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8C,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC5H,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,oEAAqE,SAAQ,+BAA+B;IACzH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,+DAAgE,SAAQ,+BAA+B;IACpH,SAAS,EAAE,qBAAqB,GAAG,yBAAyB,CAAC;CAChE;AAED,MAAM,MAAM,+CAA+C,GACrD,oEAAoE,GACpE,+DAA+D,CAAC;AAEtE,qBACa,2CAA4C,SAAQ,YAAY;IAGlE,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,SAAS,CAAC,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IAEtD,uBAAuB,IAAI,IAAI,IAAI;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAI1D,kBAAkB,IAAI,IAAI,IAAI;QAAE,SAAS,EAAE,iBAAiB,GAAG,qBAAqB,CAAA;KAAE;WAI/E,IAAI,CAAC,KAAK,EAAE,+CAA+C,GAAG,2CAA2C;qBAI7F,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CA2B1E"}
1
+ {"version":3,"file":"AcceptProposeAttributeRequestItemParameters.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA8C,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC5H,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,oEAAqE,SAAQ,+BAA+B;IACzH,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,+DAAgE,SAAQ,+BAA+B;IACpH,SAAS,EAAE,qBAAqB,GAAG,yBAAyB,CAAC;CAChE;AAED,MAAM,MAAM,+CAA+C,GACrD,oEAAoE,GACpE,+DAA+D,CAAC;AAEtE,qBACa,2CAA4C,SAAQ,YAAY;IAGlE,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhB,SAAS,CAAC,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IAEtD,uBAAuB,IAAI,IAAI,IAAI;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAI1D,kBAAkB,IAAI,IAAI,IAAI;QAAE,SAAS,EAAE,iBAAiB,GAAG,qBAAqB,CAAA;KAAE;WAI/E,IAAI,CAAC,KAAK,EAAE,+CAA+C,GAAG,2CAA2C;qBAI7F,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CAqC1E"}
@@ -33,6 +33,9 @@ let AcceptProposeAttributeRequestItemParameters = AcceptProposeAttributeRequestI
33
33
  if (value.attributeId && value.attribute) {
34
34
  throw new ts_serval_1.ValidationError(AcceptProposeAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.attribute), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
35
35
  }
36
+ if (value.attribute && value.tags) {
37
+ throw new ts_serval_1.ValidationError(AcceptProposeAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.attribute), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.tags)}.`);
38
+ }
36
39
  if (!value.attributeId && !value.attribute) {
37
40
  throw new ts_serval_1.ValidationError(AcceptProposeAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.attribute), `You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
38
41
  }
@@ -45,6 +48,11 @@ __decorate([
45
48
  (0, ts_serval_1.validate)({ nullable: true }),
46
49
  __metadata("design:type", core_types_1.CoreId)
47
50
  ], AcceptProposeAttributeRequestItemParameters.prototype, "attributeId", void 0);
51
+ __decorate([
52
+ (0, ts_serval_1.serialize)({ type: String }),
53
+ (0, ts_serval_1.validate)({ nullable: true, customValidator: content_1.IdentityAttribute.validateTags }),
54
+ __metadata("design:type", Array)
55
+ ], AcceptProposeAttributeRequestItemParameters.prototype, "tags", void 0);
48
56
  __decorate([
49
57
  (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
50
58
  (0, ts_serval_1.validate)({ nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"AcceptProposeAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8F;AAC9F,4CAA4H;AAC5H,kDAA2C;AAC3C,uDAA0C;AAC1C,+EAA4E;AAsBrE,IAAM,2CAA2C,mDAAjD,MAAM,2CAA4C,SAAQ,wBAAY;IASlE,uBAAuB;QAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9B,CAAC;IAEM,kBAAkB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAsD;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,6CAA2C,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,mCAAgB,CAAC,0BAA0B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,2BAAe,CACrB,6CAA2C,CAAC,IAAI,EAChD,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACvE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,QAAQ,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACxF,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,2BAAe,CACrB,6CAA2C,CAAC,IAAI,EAChD,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACvE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CACrB,OAAO,IAAA,yBAAM,EAA8C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACvF,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAhDY,kGAA2C;AAG7C;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACR,mBAAM;gFAAC;AAIrB;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8EACgC;sDAPpD,2CAA2C;IADvD,IAAA,gBAAI,EAAC,6CAA6C,CAAC;GACvC,2CAA2C,CAgDvD"}
1
+ {"version":3,"file":"AcceptProposeAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,10 @@ import { LocalRequestInfo } from "../IRequestItemProcessor";
7
7
  import { AcceptProposeAttributeRequestItemParametersJSON } from "./AcceptProposeAttributeRequestItemParameters";
8
8
  export declare class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor<ProposeAttributeRequestItem, AcceptProposeAttributeRequestItemParametersJSON> {
9
9
  canCreateOutgoingRequestItem(requestItem: ProposeAttributeRequestItem, _request: Request, recipient?: CoreAddress): Promise<ValidationResult>;
10
- private static validateAttribute;
10
+ private validateAttribute;
11
11
  private validateQuery;
12
12
  canAccept(requestItem: ProposeAttributeRequestItem, params: AcceptProposeAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ValidationResult>;
13
13
  accept(_requestItem: ProposeAttributeRequestItem, params: AcceptProposeAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ProposeAttributeAcceptResponseItem | AttributeSuccessionAcceptResponseItem | AttributeAlreadySharedAcceptResponseItem>;
14
- private performOwnSharedIdentityAttributeSuccession;
15
- private createNewAttribute;
16
14
  applyIncomingResponseItem(responseItem: ProposeAttributeAcceptResponseItem | AttributeSuccessionAcceptResponseItem | AttributeAlreadySharedAcceptResponseItem | RejectResponseItem, _requestItem: ProposeAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<PeerSharedAttributeSucceededEvent | void>;
17
15
  }
18
16
  //# sourceMappingURL=ProposeAttributeRequestItemProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProposeAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wCAAwC,EACxC,qCAAqC,EAGrC,kCAAkC,EAClC,2BAA2B,EAC3B,kBAAkB,EAGlB,OAAO,EAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAAmF,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAEzJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAA+C,+CAA+C,EAAE,MAAM,+CAA+C,CAAC;AAE7J,qBAAa,oCAAqC,SAAQ,2BAA2B,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;IACzI,4BAA4B,CAAC,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyCnK,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAYhC,OAAO,CAAC,aAAa;IAiBC,SAAS,CAC3B,WAAW,EAAE,2BAA2B,EACxC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAqGN,MAAM,CACxB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,kCAAkC,GAAG,qCAAqC,GAAG,wCAAwC,CAAC;YAoFnH,2CAA2C;YAa3C,kBAAkB;IAoBV,yBAAyB,CAC3C,YAAY,EAAE,kCAAkC,GAAG,qCAAqC,GAAG,wCAAwC,GAAG,kBAAkB,EACxJ,YAAY,EAAE,2BAA2B,EACzC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC;CAwBvD"}
1
+ {"version":3,"file":"ProposeAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wCAAwC,EACxC,qCAAqC,EAIrC,kCAAkC,EAClC,2BAA2B,EAC3B,kBAAkB,EAGlB,OAAO,EAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EAA8G,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAEpL,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,EAA+C,+CAA+C,EAAE,MAAM,+CAA+C,CAAC;AAE7J,qBAAa,oCAAqC,SAAQ,2BAA2B,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;IACzI,4BAA4B,CAAC,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAyCrJ,iBAAiB;YAiBjB,aAAa;IAsBL,SAAS,CAC3B,WAAW,EAAE,2BAA2B,EACxC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAkHN,MAAM,CACxB,YAAY,EAAE,2BAA2B,EACzC,MAAM,EAAE,+CAA+C,EACvD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,kCAAkC,GAAG,qCAAqC,GAAG,wCAAwC,CAAC;IA+G3G,yBAAyB,CAC3C,YAAY,EAAE,kCAAkC,GAAG,qCAAqC,GAAG,wCAAwC,GAAG,kBAAkB,EACxJ,YAAY,EAAE,2BAA2B,EACzC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC;CAwBvD"}
@@ -13,16 +13,17 @@ const attributes_1 = require("../../../attributes");
13
13
  const LocalAttribute_1 = require("../../../attributes/local/LocalAttribute");
14
14
  const ValidationResult_1 = require("../../../common/ValidationResult");
15
15
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
16
+ const createAppropriateResponseItem_1 = __importDefault(require("../utility/createAppropriateResponseItem"));
16
17
  const validateAttributeMatchesWithQuery_1 = __importDefault(require("../utility/validateAttributeMatchesWithQuery"));
17
18
  const validateQuery_1 = __importDefault(require("../utility/validateQuery"));
18
19
  const AcceptProposeAttributeRequestItemParameters_1 = require("./AcceptProposeAttributeRequestItemParameters");
19
20
  class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
20
21
  async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
21
- const queryValidationResult = this.validateQuery(requestItem, recipient);
22
+ const queryValidationResult = await this.validateQuery(requestItem, recipient);
22
23
  if (queryValidationResult.isError()) {
23
24
  return queryValidationResult;
24
25
  }
25
- const attributeValidationResult = ProposeAttributeRequestItemProcessor.validateAttribute(requestItem.attribute);
26
+ const attributeValidationResult = await this.validateAttribute(requestItem.attribute);
26
27
  if (attributeValidationResult.isError()) {
27
28
  return attributeValidationResult;
28
29
  }
@@ -38,13 +39,17 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
38
39
  }
39
40
  return ValidationResult_1.ValidationResult.success();
40
41
  }
41
- static validateAttribute(attribute) {
42
+ async validateAttribute(attribute) {
42
43
  if (attribute.owner.toString() !== "") {
43
44
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.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."));
44
45
  }
46
+ const tagValidationResult = await this.consumptionController.attributes.validateTags(attribute);
47
+ if (tagValidationResult.isError()) {
48
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
49
+ }
45
50
  return ValidationResult_1.ValidationResult.success();
46
51
  }
47
- validateQuery(requestItem, recipient) {
52
+ async validateQuery(requestItem, recipient) {
48
53
  const commonQueryValidationResult = (0, validateQuery_1.default)(requestItem.query, this.currentIdentityAddress, recipient);
49
54
  if (commonQueryValidationResult.isError()) {
50
55
  return commonQueryValidationResult;
@@ -52,6 +57,10 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
52
57
  if (requestItem.query instanceof content_1.RelationshipAttributeQuery && requestItem.query.owner.toString() !== "") {
53
58
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.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."));
54
59
  }
60
+ const tagValidationResult = await this.consumptionController.attributes.validateAttributeQueryTags(requestItem.query);
61
+ if (tagValidationResult.isError()) {
62
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
63
+ }
55
64
  return ValidationResult_1.ValidationResult.success();
56
65
  }
57
66
  async canAccept(requestItem, params, requestInfo) {
@@ -66,7 +75,9 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
66
75
  return ValidationResult_1.ValidationResult.error(transport_1.TransportCoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, parsedParams.attributeId.toString()));
67
76
  }
68
77
  attribute = foundLocalAttribute.content;
69
- if (requestItem.query instanceof content_1.IdentityAttributeQuery && attribute instanceof content_1.IdentityAttribute && this.accountController.identity.isMe(attribute.owner)) {
78
+ if ((requestItem.query instanceof content_1.IdentityAttributeQuery || requestItem.query instanceof content_1.IQLQuery) &&
79
+ attribute instanceof content_1.IdentityAttribute &&
80
+ this.accountController.identity.isMe(attribute.owner)) {
70
81
  if (foundLocalAttribute.isShared()) {
71
82
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.attributeQueryMismatch("The provided IdentityAttribute is a shared copy of a RepositoryAttribute. You can only share RepositoryAttributes."));
72
83
  }
@@ -83,6 +94,9 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
83
94
  }
84
95
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.attributeQueryMismatch(`The provided IdentityAttribute is outdated. You have already shared the successor '${ownSharedIdentityAttributeSuccessors[0].shareInfo.sourceAttribute}' of it.`));
85
96
  }
97
+ if (parsedParams.tags && parsedParams.tags.length > 0) {
98
+ attribute.tags = attribute.tags ? [...attribute.tags, ...parsedParams.tags] : parsedParams.tags;
99
+ }
86
100
  }
87
101
  }
88
102
  else if (parsedParams.isWithNewAttribute()) {
@@ -107,24 +121,43 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
107
121
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(`This ProposeAttributeRequestItem cannot be accepted as the queried RelationshipAttribute cannot be created because there is already a RelationshipAttribute in the context of this Relationship with the same key '${requestItem.query.key}', owner and value type.`));
108
122
  }
109
123
  }
124
+ const tagValidationResult = await this.consumptionController.attributes.validateTags(attribute);
125
+ if (tagValidationResult.isError()) {
126
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(tagValidationResult.error.message));
127
+ }
110
128
  return ValidationResult_1.ValidationResult.success();
111
129
  }
112
130
  async accept(_requestItem, params, requestInfo) {
113
131
  const parsedParams = AcceptProposeAttributeRequestItemParameters_1.AcceptProposeAttributeRequestItemParameters.from(params);
114
132
  let sharedLocalAttribute;
115
133
  if (parsedParams.isWithExistingAttribute()) {
116
- const existingSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
134
+ let existingSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
117
135
  if (!existingSourceAttribute)
118
136
  throw transport_1.TransportCoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, parsedParams.attributeId.toString());
119
- const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.attributeId, [requestInfo.peer], true);
137
+ if (parsedParams.tags && parsedParams.tags.length > 0 && existingSourceAttribute.content instanceof content_1.IdentityAttribute) {
138
+ const mergedTags = existingSourceAttribute.content.tags ? [...existingSourceAttribute.content.tags, ...parsedParams.tags] : parsedParams.tags;
139
+ existingSourceAttribute.content.tags = mergedTags;
140
+ const successorParams = {
141
+ content: existingSourceAttribute.content
142
+ };
143
+ const attributesAfterSuccession = await this.consumptionController.attributes.succeedRepositoryAttribute(parsedParams.attributeId, successorParams);
144
+ existingSourceAttribute = attributesAfterSuccession.successor;
145
+ }
146
+ const query = {
147
+ "deletionInfo.deletionStatus": {
148
+ $nin: [
149
+ attributes_1.LocalAttributeDeletionStatus.DeletedByPeer,
150
+ attributes_1.LocalAttributeDeletionStatus.DeletedByOwner,
151
+ attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer,
152
+ attributes_1.LocalAttributeDeletionStatus.ToBeDeleted
153
+ ]
154
+ }
155
+ };
156
+ const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.attributeId, [requestInfo.peer], true, query);
120
157
  const wasSharedBefore = latestSharedVersion.length > 0;
121
- const wasDeletedByPeerOrOwner = latestSharedVersion[0]?.deletionInfo?.deletionStatus === attributes_1.LocalAttributeDeletionStatus.DeletedByPeer ||
122
- latestSharedVersion[0]?.deletionInfo?.deletionStatus === attributes_1.LocalAttributeDeletionStatus.DeletedByOwner ||
123
- latestSharedVersion[0]?.deletionInfo?.deletionStatus === attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer ||
124
- latestSharedVersion[0]?.deletionInfo?.deletionStatus === attributes_1.LocalAttributeDeletionStatus.ToBeDeleted;
125
158
  const isLatestSharedVersion = latestSharedVersion[0]?.shareInfo?.sourceAttribute?.toString() === existingSourceAttribute.id.toString();
126
159
  const predecessorWasSharedBefore = wasSharedBefore && !isLatestSharedVersion;
127
- if (!wasSharedBefore || wasDeletedByPeerOrOwner) {
160
+ if (!wasSharedBefore) {
128
161
  sharedLocalAttribute = await this.consumptionController.attributes.createSharedLocalAttributeCopy({
129
162
  sourceAttributeId: core_types_1.CoreId.from(existingSourceAttribute.id),
130
163
  peer: core_types_1.CoreAddress.from(requestInfo.peer),
@@ -147,19 +180,23 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
147
180
  if (!sharedPredecessor.shareInfo?.sourceAttribute) {
148
181
  throw new Error(`The Attribute ${sharedPredecessor.id} doesn't have a 'shareInfo.sourceAttribute', even though it was found as shared version of an Attribute.`);
149
182
  }
150
- const predecessorSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(sharedPredecessor.shareInfo.sourceAttribute);
151
- if (!predecessorSourceAttribute)
152
- throw transport_1.TransportCoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, sharedPredecessor.shareInfo.sourceAttribute.toString());
153
- if (await this.consumptionController.attributes.isSubsequentInSuccession(predecessorSourceAttribute, existingSourceAttribute)) {
154
- if (existingSourceAttribute.isRepositoryAttribute(this.currentIdentityAddress)) {
155
- const successorSharedAttribute = await this.performOwnSharedIdentityAttributeSuccession(sharedPredecessor.id, existingSourceAttribute, requestInfo);
156
- return content_1.AttributeSuccessionAcceptResponseItem.from({
157
- result: content_1.ResponseItemResult.Accepted,
158
- successorId: successorSharedAttribute.id,
159
- successorContent: successorSharedAttribute.content,
160
- predecessorId: sharedPredecessor.id
161
- });
162
- }
183
+ if (existingSourceAttribute.isRepositoryAttribute(this.currentIdentityAddress)) {
184
+ const successorParams = {
185
+ content: existingSourceAttribute.content,
186
+ shareInfo: attributes_1.LocalAttributeShareInfo.from({
187
+ peer: requestInfo.peer,
188
+ requestReference: requestInfo.id,
189
+ sourceAttribute: existingSourceAttribute.id
190
+ })
191
+ };
192
+ const successorSharedAttribute = (await this.consumptionController.attributes.succeedOwnSharedIdentityAttribute(sharedPredecessor.id, successorParams))
193
+ .successor;
194
+ return content_1.AttributeSuccessionAcceptResponseItem.from({
195
+ result: content_1.ResponseItemResult.Accepted,
196
+ successorId: successorSharedAttribute.id,
197
+ successorContent: successorSharedAttribute.content,
198
+ predecessorId: sharedPredecessor.id
199
+ });
163
200
  }
164
201
  }
165
202
  }
@@ -167,45 +204,21 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
167
204
  if (parsedParams.attribute.owner.equals("")) {
168
205
  parsedParams.attribute.owner = this.currentIdentityAddress;
169
206
  }
170
- sharedLocalAttribute = await this.createNewAttribute(parsedParams.attribute, requestInfo);
171
- }
172
- if (!sharedLocalAttribute) {
173
- throw new Error(`You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
174
- }
175
- return content_1.ProposeAttributeAcceptResponseItem.from({
176
- result: content_1.ResponseItemResult.Accepted,
177
- attributeId: sharedLocalAttribute.id,
178
- attribute: sharedLocalAttribute.content
179
- });
180
- }
181
- async performOwnSharedIdentityAttributeSuccession(sharedPredecessorId, sourceSuccessor, requestInfo) {
182
- const successorParams = {
183
- content: sourceSuccessor.content,
184
- shareInfo: attributes_1.LocalAttributeShareInfo.from({
185
- peer: requestInfo.peer,
186
- requestReference: requestInfo.id,
187
- sourceAttribute: sourceSuccessor.id
188
- })
189
- };
190
- const { successor } = await this.consumptionController.attributes.succeedOwnSharedIdentityAttribute(sharedPredecessorId, successorParams);
191
- return successor;
192
- }
193
- async createNewAttribute(attribute, requestInfo) {
194
- if (attribute instanceof content_1.IdentityAttribute) {
195
- const repositoryAttribute = await this.consumptionController.attributes.createRepositoryAttribute({
196
- content: attribute
197
- });
198
- return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
199
- sourceAttributeId: core_types_1.CoreId.from(repositoryAttribute.id),
200
- peer: core_types_1.CoreAddress.from(requestInfo.peer),
201
- requestReference: core_types_1.CoreId.from(requestInfo.id)
202
- });
207
+ if (parsedParams.attribute instanceof content_1.RelationshipAttribute) {
208
+ const ownSharedRelationshipAttribute = await this.consumptionController.attributes.createSharedLocalAttribute({
209
+ content: parsedParams.attribute,
210
+ peer: requestInfo.peer,
211
+ requestReference: core_types_1.CoreId.from(requestInfo.id)
212
+ });
213
+ return content_1.ProposeAttributeAcceptResponseItem.from({
214
+ result: content_1.ResponseItemResult.Accepted,
215
+ attributeId: ownSharedRelationshipAttribute.id,
216
+ attribute: ownSharedRelationshipAttribute.content
217
+ });
218
+ }
219
+ return await (0, createAppropriateResponseItem_1.default)(parsedParams.attribute, requestInfo, this.consumptionController.attributes, "Propose");
203
220
  }
204
- return await this.consumptionController.attributes.createSharedLocalAttribute({
205
- content: attribute,
206
- peer: requestInfo.peer,
207
- requestReference: core_types_1.CoreId.from(requestInfo.id)
208
- });
221
+ throw new Error(`You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.attribute)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
209
222
  }
210
223
  async applyIncomingResponseItem(responseItem, _requestItem, requestInfo) {
211
224
  if (responseItem instanceof content_1.ProposeAttributeAcceptResponseItem) {