@nmshd/consumption 2.0.0-alpha.23 → 2.0.0-alpha.27
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.
- package/README.md +2 -2
- package/dist/buildInformation.js +4 -4
- package/dist/modules/attributes/LocalAttributesController.d.ts +3 -4
- package/dist/modules/attributes/LocalAttributesController.js +11 -12
- package/dist/modules/attributes/LocalAttributesController.js.map +1 -1
- package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.d.ts +6 -3
- package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js +6 -1
- package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +1 -1
- package/dist/modules/attributes/local/LocalAttribute.d.ts +4 -2
- package/dist/modules/attributes/local/LocalAttribute.js +8 -2
- package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
- package/dist/modules/attributes/local/QueryTranslator.d.ts +9 -3
- package/dist/modules/attributes/local/QueryTranslator.js +31 -20
- package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
- package/dist/modules/index.d.ts +1 -3
- package/dist/modules/index.js +0 -3
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
- package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +1 -1
- package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +25 -8
- package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +2 -2
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +13 -4
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +13 -6
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +5 -5
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +3 -2
- package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
- package/lib-web/nmshd.consumption.js +108 -137
- package/lib-web/nmshd.consumption.js.map +1 -1
- package/lib-web/nmshd.consumption.min.js +1 -1
- package/lib-web/nmshd.consumption.min.js.map +1 -1
- package/package.json +2 -2
- package/dist/modules/attributes/local/GetIdentityAttributesParams.d.ts +0 -12
- package/dist/modules/attributes/local/GetIdentityAttributesParams.js +0 -26
- package/dist/modules/attributes/local/GetIdentityAttributesParams.js.map +0 -1
- package/dist/modules/attributes/local/GetRelationshipAttributesParams.d.ts +0 -12
- package/dist/modules/attributes/local/GetRelationshipAttributesParams.js +0 -26
- package/dist/modules/attributes/local/GetRelationshipAttributesParams.js.map +0 -1
|
@@ -2,13 +2,22 @@ import { Serializable } from "@js-soft/ts-serval";
|
|
|
2
2
|
import { IdentityAttribute, IdentityAttributeJSON, RelationshipAttribute, RelationshipAttributeJSON } from "@nmshd/content";
|
|
3
3
|
import { CoreId } from "@nmshd/transport";
|
|
4
4
|
import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
|
|
5
|
-
export interface
|
|
6
|
-
attributeId
|
|
7
|
-
attribute?: IdentityAttributeJSON | RelationshipAttributeJSON;
|
|
5
|
+
export interface AcceptReadAttributeRequestItemParametersWithExistingAttributeJSON extends AcceptRequestItemParametersJSON {
|
|
6
|
+
attributeId: string;
|
|
8
7
|
}
|
|
8
|
+
export interface AcceptReadAttributeRequestItemParametersWithNewAttributeJSON extends AcceptRequestItemParametersJSON {
|
|
9
|
+
newAttributeValue: IdentityAttributeJSON | RelationshipAttributeJSON;
|
|
10
|
+
}
|
|
11
|
+
export declare type AcceptReadAttributeRequestItemParametersJSON = AcceptReadAttributeRequestItemParametersWithExistingAttributeJSON | AcceptReadAttributeRequestItemParametersWithNewAttributeJSON;
|
|
9
12
|
export declare class AcceptReadAttributeRequestItemParameters extends Serializable {
|
|
10
13
|
attributeId?: CoreId;
|
|
11
|
-
|
|
14
|
+
newAttributeValue?: IdentityAttribute | RelationshipAttribute;
|
|
15
|
+
isWithExistingAttribute(): this is {
|
|
16
|
+
attributeId: CoreId;
|
|
17
|
+
};
|
|
18
|
+
isWithNewAttribute(): this is {
|
|
19
|
+
newAttributeValue: IdentityAttribute | RelationshipAttribute;
|
|
20
|
+
};
|
|
12
21
|
static from(value: AcceptReadAttributeRequestItemParametersJSON): AcceptReadAttributeRequestItemParameters;
|
|
13
22
|
protected static postFrom<T extends Serializable>(value: T): T;
|
|
14
23
|
}
|
|
@@ -16,16 +16,23 @@ const content_1 = require("@nmshd/content");
|
|
|
16
16
|
const transport_1 = require("@nmshd/transport");
|
|
17
17
|
const ts_simple_nameof_1 = require("ts-simple-nameof");
|
|
18
18
|
let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
|
|
19
|
+
isWithExistingAttribute() {
|
|
20
|
+
return this.attributeId !== undefined;
|
|
21
|
+
}
|
|
22
|
+
isWithNewAttribute() {
|
|
23
|
+
return this.newAttributeValue !== undefined;
|
|
24
|
+
}
|
|
19
25
|
static from(value) {
|
|
20
26
|
return this.fromAny(value);
|
|
21
27
|
}
|
|
22
28
|
static postFrom(value) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
if (!(value instanceof AcceptReadAttributeRequestItemParameters_1))
|
|
30
|
+
throw new Error("this should never happen");
|
|
31
|
+
if (value.attributeId && value.newAttributeValue) {
|
|
32
|
+
throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
|
|
26
33
|
}
|
|
27
|
-
if (!
|
|
28
|
-
throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.
|
|
34
|
+
if (!value.attributeId && !value.newAttributeValue) {
|
|
35
|
+
throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue), `You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
|
|
29
36
|
}
|
|
30
37
|
return value;
|
|
31
38
|
}
|
|
@@ -39,7 +46,7 @@ __decorate([
|
|
|
39
46
|
(0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
|
|
40
47
|
(0, ts_serval_1.validate)({ nullable: true }),
|
|
41
48
|
__metadata("design:type", Object)
|
|
42
|
-
], AcceptReadAttributeRequestItemParameters.prototype, "
|
|
49
|
+
], AcceptReadAttributeRequestItemParameters.prototype, "newAttributeValue", void 0);
|
|
43
50
|
AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
|
|
44
51
|
(0, ts_serval_1.type)("AcceptReadAttributeRequestItemParameters")
|
|
45
52
|
], AcceptReadAttributeRequestItemParameters);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcceptReadAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA6F;AAC7F,4CAKuB;AACvB,gDAAyC;AACzC,uDAAyC;
|
|
1
|
+
{"version":3,"file":"AcceptReadAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA6F;AAC7F,4CAKuB;AACvB,gDAAyC;AACzC,uDAAyC;AAiBzC,IAAa,wCAAwC,gDAArD,MAAa,wCAAyC,SAAQ,wBAAY;IAS/D,uBAAuB;QAC1B,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAA;IACzC,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAA;IAC/C,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,0CAAwC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAE7G,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC9C,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAC5E,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAC7B,QAAQ,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACrF,CAAA;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAChD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAC5E,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAC7B,OAAO,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CACpF,CAAA;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ,CAAA;AA3CG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACR,kBAAM;6EAAA;AAI3B;IAFC,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mFACuC;AAP3D,wCAAwC;IADpD,IAAA,gBAAI,EAAC,0CAA0C,CAAC;GACpC,wCAAwC,CA8CpD;AA9CY,4FAAwC"}
|
package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js
CHANGED
|
@@ -22,7 +22,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
22
22
|
}
|
|
23
23
|
async canAccept(_requestItem, params, requestInfo) {
|
|
24
24
|
const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
|
|
25
|
-
if (parsedParams.
|
|
25
|
+
if (parsedParams.isWithExistingAttribute()) {
|
|
26
26
|
const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
|
|
27
27
|
if (!foundAttribute) {
|
|
28
28
|
return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
|
|
@@ -36,11 +36,11 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
36
36
|
async accept(_requestItem, params, requestInfo) {
|
|
37
37
|
const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
|
|
38
38
|
let sharedLocalAttribute;
|
|
39
|
-
if (parsedParams.
|
|
39
|
+
if (parsedParams.isWithExistingAttribute()) {
|
|
40
40
|
sharedLocalAttribute = await this.copyExistingAttribute(parsedParams.attributeId, requestInfo);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
sharedLocalAttribute = await this.createNewAttribute(parsedParams.
|
|
43
|
+
sharedLocalAttribute = await this.createNewAttribute(parsedParams.newAttributeValue, requestInfo);
|
|
44
44
|
}
|
|
45
45
|
return content_1.ReadAttributeAcceptResponseItem.from({
|
|
46
46
|
result: content_1.ResponseItemResult.Accepted,
|
|
@@ -50,7 +50,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
50
50
|
}
|
|
51
51
|
async copyExistingAttribute(attributeId, requestInfo) {
|
|
52
52
|
return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
53
|
-
|
|
53
|
+
sourceAttributeId: transport_1.CoreId.from(attributeId),
|
|
54
54
|
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
55
55
|
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
56
56
|
});
|
|
@@ -61,7 +61,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
61
61
|
content: attribute
|
|
62
62
|
});
|
|
63
63
|
return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
64
|
-
|
|
64
|
+
sourceAttributeId: transport_1.CoreId.from(repositoryLocalAttribute.id),
|
|
65
65
|
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
66
66
|
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
67
67
|
});
|
package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js
CHANGED
|
@@ -50,7 +50,7 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
|
|
|
50
50
|
return ValidationResult_1.ValidationResult.success();
|
|
51
51
|
}
|
|
52
52
|
async accept(requestItem, _params, _requestInfo) {
|
|
53
|
-
const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
|
|
53
|
+
const attribute = (await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId));
|
|
54
54
|
if (!(await this.isAttributeAlreadyShared(attribute, requestItem.shareWith))) {
|
|
55
55
|
await this.shareAttribute(attribute, requestItem.shareWith);
|
|
56
56
|
}
|
|
@@ -71,7 +71,8 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
|
|
|
71
71
|
async shareAttribute(attribute, shareWith) {
|
|
72
72
|
const createAttributeRequestItem = content_1.CreateAttributeRequestItem.from({
|
|
73
73
|
attribute: attribute.content,
|
|
74
|
-
mustBeAccepted: true
|
|
74
|
+
mustBeAccepted: true,
|
|
75
|
+
sourceAttributeId: attribute.id
|
|
75
76
|
});
|
|
76
77
|
const createAttributeRequest = await this.consumptionController.outgoingRequests.create({
|
|
77
78
|
peer: shareWith,
|
|
@@ -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,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.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-alpha.
|
|
21
|
-
build: "
|
|
22
|
-
date: "2022-07-
|
|
23
|
-
commit: "
|
|
20
|
+
version: "2.0.0-alpha.27",
|
|
21
|
+
build: "47",
|
|
22
|
+
date: "2022-07-07T08:22:46+00:00",
|
|
23
|
+
commit: "bffe38f5ede2e159089b02aaba7b18f82831bede",
|
|
24
24
|
dependencies: {"@js-soft/docdb-querytranslator":"^1.0.1","ts-simple-nameof":"^1.3.1"},
|
|
25
25
|
libraries: {
|
|
26
26
|
transport: transport_1.buildInformation,
|
|
@@ -306,6 +306,7 @@ __exportStar(__webpack_require__(/*! ./modules */ "./dist/modules/index.js"), ex
|
|
|
306
306
|
|
|
307
307
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
308
308
|
exports.LocalAttributesController = void 0;
|
|
309
|
+
const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
309
310
|
const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
|
|
310
311
|
const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
|
|
311
312
|
const consumption_1 = __webpack_require__(/*! ../../consumption */ "./dist/consumption/index.js");
|
|
@@ -387,17 +388,15 @@ class LocalAttributesController extends consumption_1.ConsumptionBaseController
|
|
|
387
388
|
const items = await this.parseArray(attributes, LocalAttribute_1.LocalAttribute);
|
|
388
389
|
return this.filterCurrent(items);
|
|
389
390
|
}
|
|
390
|
-
async executeRelationshipAttributeQuery(
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
const dbQuery = QueryTranslator_1.relationshipQueryTranslator.parse(queryWithType);
|
|
391
|
+
async executeRelationshipAttributeQuery(query) {
|
|
392
|
+
const parsedQuery = content_1.RelationshipAttributeQuery.from(query);
|
|
393
|
+
const dbQuery = QueryTranslator_1.RelationshipAttributeQueryTranslator.translate(parsedQuery);
|
|
394
394
|
const attributes = await this.attributes.find(dbQuery);
|
|
395
395
|
return await this.parseArray(attributes, LocalAttribute_1.LocalAttribute);
|
|
396
396
|
}
|
|
397
|
-
async executeIdentityAttributeQuery(
|
|
398
|
-
const
|
|
399
|
-
|
|
400
|
-
const dbQuery = QueryTranslator_1.identityQueryTranslator.parse(queryWithType);
|
|
397
|
+
async executeIdentityAttributeQuery(query) {
|
|
398
|
+
const parsedQuery = content_1.IdentityAttributeQuery.from(query);
|
|
399
|
+
const dbQuery = QueryTranslator_1.IdentityAttributeQueryTranslator.translate(parsedQuery);
|
|
401
400
|
const attributes = await this.attributes.find(dbQuery);
|
|
402
401
|
return await this.parseArray(attributes, LocalAttribute_1.LocalAttribute);
|
|
403
402
|
}
|
|
@@ -427,16 +426,16 @@ class LocalAttributesController extends consumption_1.ConsumptionBaseController
|
|
|
427
426
|
}
|
|
428
427
|
async createSharedLocalAttributeCopy(params) {
|
|
429
428
|
const parsedParams = CreateSharedLocalAttributeCopyParams_1.CreateSharedLocalAttributeCopyParams.from(params);
|
|
430
|
-
const sourceAttribute = await this.getLocalAttribute(parsedParams.
|
|
429
|
+
const sourceAttribute = await this.getLocalAttribute(parsedParams.sourceAttributeId);
|
|
431
430
|
if (!sourceAttribute) {
|
|
432
|
-
throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.
|
|
431
|
+
throw consumption_1.ConsumptionErrors.attributes.predecessorNotFound(parsedParams.sourceAttributeId.toString());
|
|
433
432
|
}
|
|
434
433
|
const shareInfo = LocalAttributeShareInfo_1.LocalAttributeShareInfo.from({
|
|
435
434
|
peer: parsedParams.peer,
|
|
436
435
|
requestReference: parsedParams.requestReference,
|
|
437
|
-
sourceAttribute: parsedParams.
|
|
436
|
+
sourceAttribute: parsedParams.sourceAttributeId
|
|
438
437
|
});
|
|
439
|
-
const sharedLocalAttributeCopy = await LocalAttribute_1.LocalAttribute.fromAttribute(sourceAttribute.content, undefined, shareInfo);
|
|
438
|
+
const sharedLocalAttributeCopy = await LocalAttribute_1.LocalAttribute.fromAttribute(sourceAttribute.content, undefined, shareInfo, parsedParams.attributeId);
|
|
440
439
|
await this.attributes.create(sharedLocalAttributeCopy);
|
|
441
440
|
return sharedLocalAttributeCopy;
|
|
442
441
|
}
|
|
@@ -597,9 +596,14 @@ class CreateSharedLocalAttributeCopyParams extends ts_serval_1.Serializable {
|
|
|
597
596
|
}
|
|
598
597
|
__decorate([
|
|
599
598
|
(0, ts_serval_1.serialize)(),
|
|
600
|
-
(0, ts_serval_1.validate)(),
|
|
599
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
601
600
|
__metadata("design:type", transport_1.CoreId)
|
|
602
601
|
], CreateSharedLocalAttributeCopyParams.prototype, "attributeId", void 0);
|
|
602
|
+
__decorate([
|
|
603
|
+
(0, ts_serval_1.serialize)(),
|
|
604
|
+
(0, ts_serval_1.validate)(),
|
|
605
|
+
__metadata("design:type", transport_1.CoreId)
|
|
606
|
+
], CreateSharedLocalAttributeCopyParams.prototype, "sourceAttributeId", void 0);
|
|
603
607
|
__decorate([
|
|
604
608
|
(0, ts_serval_1.serialize)(),
|
|
605
609
|
(0, ts_serval_1.validate)(),
|
|
@@ -615,78 +619,6 @@ exports.CreateSharedLocalAttributeCopyParams = CreateSharedLocalAttributeCopyPar
|
|
|
615
619
|
|
|
616
620
|
/***/ }),
|
|
617
621
|
|
|
618
|
-
/***/ "./dist/modules/attributes/local/GetIdentityAttributesParams.js":
|
|
619
|
-
/*!**********************************************************************!*\
|
|
620
|
-
!*** ./dist/modules/attributes/local/GetIdentityAttributesParams.js ***!
|
|
621
|
-
\**********************************************************************/
|
|
622
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
623
|
-
|
|
624
|
-
"use strict";
|
|
625
|
-
|
|
626
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
627
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
628
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
629
|
-
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;
|
|
630
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
631
|
-
};
|
|
632
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
633
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
634
|
-
};
|
|
635
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
636
|
-
exports.GetIdentityAttributesParams = void 0;
|
|
637
|
-
const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
|
|
638
|
-
const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
639
|
-
class GetIdentityAttributesParams extends ts_serval_1.Serializable {
|
|
640
|
-
static from(value) {
|
|
641
|
-
return this.fromAny(value);
|
|
642
|
-
}
|
|
643
|
-
}
|
|
644
|
-
__decorate([
|
|
645
|
-
(0, ts_serval_1.serialize)(),
|
|
646
|
-
(0, ts_serval_1.validate)(),
|
|
647
|
-
__metadata("design:type", content_1.IdentityAttributeQuery)
|
|
648
|
-
], GetIdentityAttributesParams.prototype, "query", void 0);
|
|
649
|
-
exports.GetIdentityAttributesParams = GetIdentityAttributesParams;
|
|
650
|
-
//# sourceMappingURL=GetIdentityAttributesParams.js.map
|
|
651
|
-
|
|
652
|
-
/***/ }),
|
|
653
|
-
|
|
654
|
-
/***/ "./dist/modules/attributes/local/GetRelationshipAttributesParams.js":
|
|
655
|
-
/*!**************************************************************************!*\
|
|
656
|
-
!*** ./dist/modules/attributes/local/GetRelationshipAttributesParams.js ***!
|
|
657
|
-
\**************************************************************************/
|
|
658
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
659
|
-
|
|
660
|
-
"use strict";
|
|
661
|
-
|
|
662
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
663
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
664
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
665
|
-
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;
|
|
666
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
667
|
-
};
|
|
668
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
669
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
670
|
-
};
|
|
671
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
672
|
-
exports.GetRelationshipAttributesParams = void 0;
|
|
673
|
-
const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
|
|
674
|
-
const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
675
|
-
class GetRelationshipAttributesParams extends ts_serval_1.Serializable {
|
|
676
|
-
static from(value) {
|
|
677
|
-
return this.fromAny(value);
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
__decorate([
|
|
681
|
-
(0, ts_serval_1.serialize)(),
|
|
682
|
-
(0, ts_serval_1.validate)(),
|
|
683
|
-
__metadata("design:type", content_1.RelationshipAttributeQuery)
|
|
684
|
-
], GetRelationshipAttributesParams.prototype, "query", void 0);
|
|
685
|
-
exports.GetRelationshipAttributesParams = GetRelationshipAttributesParams;
|
|
686
|
-
//# sourceMappingURL=GetRelationshipAttributesParams.js.map
|
|
687
|
-
|
|
688
|
-
/***/ }),
|
|
689
|
-
|
|
690
622
|
/***/ "./dist/modules/attributes/local/LocalAttribute.js":
|
|
691
623
|
/*!*********************************************************!*\
|
|
692
624
|
!*** ./dist/modules/attributes/local/LocalAttribute.js ***!
|
|
@@ -724,13 +656,19 @@ let LocalAttribute = class LocalAttribute extends transport_1.CoreSynchronizable
|
|
|
724
656
|
];
|
|
725
657
|
this.userdataProperties = [(0, ts_simple_nameof_1.nameof)((r) => r.content)];
|
|
726
658
|
}
|
|
659
|
+
isIdentityAttribute() {
|
|
660
|
+
return this.content instanceof content_1.IdentityAttribute;
|
|
661
|
+
}
|
|
662
|
+
isOwnedBy(identity) {
|
|
663
|
+
return this.content.owner.equals(identity);
|
|
664
|
+
}
|
|
727
665
|
static from(value) {
|
|
728
666
|
return this.fromAny(value);
|
|
729
667
|
}
|
|
730
|
-
static async fromAttribute(attribute, succeeds, shareInfo) {
|
|
668
|
+
static async fromAttribute(attribute, succeeds, shareInfo, id) {
|
|
731
669
|
return this.from({
|
|
670
|
+
id: id ?? (await consumption_1.ConsumptionIds.attribute.generate()),
|
|
732
671
|
content: attribute,
|
|
733
|
-
id: await consumption_1.ConsumptionIds.attribute.generate(),
|
|
734
672
|
createdAt: transport_1.CoreDate.utc(),
|
|
735
673
|
succeeds: succeeds,
|
|
736
674
|
shareInfo: shareInfo
|
|
@@ -825,11 +763,17 @@ exports.LocalAttributeShareInfo = LocalAttributeShareInfo;
|
|
|
825
763
|
"use strict";
|
|
826
764
|
|
|
827
765
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
828
|
-
exports.
|
|
766
|
+
exports.RelationshipAttributeQueryTranslator = exports.IdentityAttributeQueryTranslator = void 0;
|
|
829
767
|
const docdb_querytranslator_1 = __webpack_require__(/*! @js-soft/docdb-querytranslator */ "./node_modules/@js-soft/docdb-querytranslator/dist/index.js");
|
|
830
768
|
const luxon_1 = __webpack_require__(/*! luxon */ "./node_modules/luxon/build/cjs-browser/luxon.js");
|
|
831
769
|
const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
|
|
832
|
-
|
|
770
|
+
class IdentityAttributeQueryTranslator {
|
|
771
|
+
static translate(query) {
|
|
772
|
+
return this.translator.parse({ ...query.toJSON(), attributeType: "IdentityAttribute" });
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
exports.IdentityAttributeQueryTranslator = IdentityAttributeQueryTranslator;
|
|
776
|
+
IdentityAttributeQueryTranslator.translator = new docdb_querytranslator_1.QueryTranslator({
|
|
833
777
|
whitelist: {
|
|
834
778
|
[(0, ts_simple_nameof_1.nameof)((x) => x.tags)]: true,
|
|
835
779
|
[(0, ts_simple_nameof_1.nameof)((x) => x.valueType)]: true,
|
|
@@ -848,16 +792,17 @@ exports.identityQueryTranslator = new docdb_querytranslator_1.QueryTranslator({
|
|
|
848
792
|
custom: {
|
|
849
793
|
// tags
|
|
850
794
|
[(0, ts_simple_nameof_1.nameof)((x) => x.tags)]: (query, input) => {
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
$contains: tag
|
|
856
|
-
}
|
|
857
|
-
};
|
|
858
|
-
allowedTags.push(tagQuery);
|
|
795
|
+
if (!input)
|
|
796
|
+
return;
|
|
797
|
+
if (!Array.isArray(input)) {
|
|
798
|
+
throw new Error("Invalid input: 'tags' must be an array");
|
|
859
799
|
}
|
|
860
|
-
|
|
800
|
+
const inputAsArray = input;
|
|
801
|
+
query["$or"] = inputAsArray.map((t) => ({
|
|
802
|
+
[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.tags)}`]: {
|
|
803
|
+
$contains: t
|
|
804
|
+
}
|
|
805
|
+
}));
|
|
861
806
|
},
|
|
862
807
|
// validFrom
|
|
863
808
|
[(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)]: (query, input) => {
|
|
@@ -865,10 +810,9 @@ exports.identityQueryTranslator = new docdb_querytranslator_1.QueryTranslator({
|
|
|
865
810
|
return;
|
|
866
811
|
}
|
|
867
812
|
const validFromUtcString = luxon_1.DateTime.fromISO(input).toUTC().toString();
|
|
868
|
-
query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`] =
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
};
|
|
813
|
+
query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`] = {
|
|
814
|
+
$gte: validFromUtcString
|
|
815
|
+
};
|
|
872
816
|
},
|
|
873
817
|
// validTo
|
|
874
818
|
[(0, ts_simple_nameof_1.nameof)((x) => x.validTo)]: (query, input) => {
|
|
@@ -882,7 +826,13 @@ exports.identityQueryTranslator = new docdb_querytranslator_1.QueryTranslator({
|
|
|
882
826
|
}
|
|
883
827
|
}
|
|
884
828
|
});
|
|
885
|
-
|
|
829
|
+
class RelationshipAttributeQueryTranslator {
|
|
830
|
+
static translate(query) {
|
|
831
|
+
return this.translator.parse({ ...query.toJSON(), attributeType: "RelationshipAttribute" });
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
exports.RelationshipAttributeQueryTranslator = RelationshipAttributeQueryTranslator;
|
|
835
|
+
RelationshipAttributeQueryTranslator.translator = new docdb_querytranslator_1.QueryTranslator({
|
|
886
836
|
whitelist: {
|
|
887
837
|
[(0, ts_simple_nameof_1.nameof)((x) => x.key)]: true,
|
|
888
838
|
[(0, ts_simple_nameof_1.nameof)((x) => x.valueType)]: true,
|
|
@@ -919,10 +869,9 @@ exports.relationshipQueryTranslator = new docdb_querytranslator_1.QueryTranslato
|
|
|
919
869
|
return;
|
|
920
870
|
}
|
|
921
871
|
const validFromUtcString = luxon_1.DateTime.fromISO(input).toUTC().toString();
|
|
922
|
-
query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`] =
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
};
|
|
872
|
+
query[`${(0, ts_simple_nameof_1.nameof)((x) => x.content)}.${(0, ts_simple_nameof_1.nameof)((x) => x.validFrom)}`] = {
|
|
873
|
+
$gte: validFromUtcString
|
|
874
|
+
};
|
|
926
875
|
},
|
|
927
876
|
// validTo
|
|
928
877
|
[(0, ts_simple_nameof_1.nameof)((x) => x.validTo)]: (query, input) => {
|
|
@@ -1187,8 +1136,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
1187
1136
|
__exportStar(__webpack_require__(/*! ./attributes/local/CreateLocalAttributeParams */ "./dist/modules/attributes/local/CreateLocalAttributeParams.js"), exports);
|
|
1188
1137
|
__exportStar(__webpack_require__(/*! ./attributes/local/CreatePeerLocalAttributeParams */ "./dist/modules/attributes/local/CreatePeerLocalAttributeParams.js"), exports);
|
|
1189
1138
|
__exportStar(__webpack_require__(/*! ./attributes/local/CreateSharedLocalAttributeCopyParams */ "./dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js"), exports);
|
|
1190
|
-
__exportStar(__webpack_require__(/*! ./attributes/local/GetIdentityAttributesParams */ "./dist/modules/attributes/local/GetIdentityAttributesParams.js"), exports);
|
|
1191
|
-
__exportStar(__webpack_require__(/*! ./attributes/local/GetRelationshipAttributesParams */ "./dist/modules/attributes/local/GetRelationshipAttributesParams.js"), exports);
|
|
1192
1139
|
__exportStar(__webpack_require__(/*! ./attributes/local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js"), exports);
|
|
1193
1140
|
__exportStar(__webpack_require__(/*! ./attributes/local/LocalAttributeShareInfo */ "./dist/modules/attributes/local/LocalAttributeShareInfo.js"), exports);
|
|
1194
1141
|
__exportStar(__webpack_require__(/*! ./attributes/local/SucceedLocalAttributeParams */ "./dist/modules/attributes/local/SucceedLocalAttributeParams.js"), exports);
|
|
@@ -1215,7 +1162,6 @@ __exportStar(__webpack_require__(/*! ./requests/itemProcessors/IRequestItemProce
|
|
|
1215
1162
|
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/ProcessorConstructor */ "./dist/modules/requests/itemProcessors/ProcessorConstructor.js"), exports);
|
|
1216
1163
|
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js"), exports);
|
|
1217
1164
|
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js"), exports);
|
|
1218
|
-
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters */ "./dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js"), exports);
|
|
1219
1165
|
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor */ "./dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js"), exports);
|
|
1220
1166
|
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/RequestItemConstructor */ "./dist/modules/requests/itemProcessors/RequestItemConstructor.js"), exports);
|
|
1221
1167
|
__exportStar(__webpack_require__(/*! ./requests/itemProcessors/RequestItemProcessorRegistry */ "./dist/modules/requests/itemProcessors/RequestItemProcessorRegistry.js"), exports);
|
|
@@ -2132,7 +2078,14 @@ const consumption_1 = __webpack_require__(/*! ../../../../consumption */ "./dist
|
|
|
2132
2078
|
const GenericRequestItemProcessor_1 = __webpack_require__(/*! ../GenericRequestItemProcessor */ "./dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js");
|
|
2133
2079
|
const ValidationResult_1 = __webpack_require__(/*! ../ValidationResult */ "./dist/modules/requests/itemProcessors/ValidationResult.js");
|
|
2134
2080
|
class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
|
|
2135
|
-
canCreateOutgoingRequestItem(requestItem, _request,
|
|
2081
|
+
canCreateOutgoingRequestItem(requestItem, _request, recipient) {
|
|
2082
|
+
const recipientIsOwnerOfTheAttribute = requestItem.attribute.owner.equals(recipient);
|
|
2083
|
+
// When the owner of the Attribute is not the recipient of the Request, this means that
|
|
2084
|
+
// we need to set the sourceAttributeId, because we have to set shareInfo as soon as the
|
|
2085
|
+
// RequestItem was accepted.
|
|
2086
|
+
if (!recipientIsOwnerOfTheAttribute && !requestItem.sourceAttributeId) {
|
|
2087
|
+
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."));
|
|
2088
|
+
}
|
|
2136
2089
|
if (requestItem.attribute instanceof content_1.IdentityAttribute) {
|
|
2137
2090
|
return this.canCreateRequestItemWithIdentityAttribute(requestItem);
|
|
2138
2091
|
}
|
|
@@ -2167,13 +2120,23 @@ class CreateAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.
|
|
|
2167
2120
|
if (!(responseItem instanceof content_1.CreateAttributeAcceptResponseItem)) {
|
|
2168
2121
|
return;
|
|
2169
2122
|
}
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2123
|
+
if (requestItem.sourceAttributeId) {
|
|
2124
|
+
const sourceAttribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.sourceAttributeId);
|
|
2125
|
+
await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
2126
|
+
attributeId: responseItem.attributeId,
|
|
2127
|
+
sourceAttributeId: sourceAttribute.id,
|
|
2128
|
+
peer: requestInfo.peer,
|
|
2129
|
+
requestReference: requestInfo.id
|
|
2130
|
+
});
|
|
2131
|
+
}
|
|
2132
|
+
else {
|
|
2133
|
+
await this.consumptionController.attributes.createPeerLocalAttribute({
|
|
2134
|
+
id: responseItem.attributeId,
|
|
2135
|
+
content: requestItem.attribute,
|
|
2136
|
+
peer: requestInfo.peer,
|
|
2137
|
+
requestReference: requestInfo.id
|
|
2138
|
+
});
|
|
2139
|
+
}
|
|
2177
2140
|
}
|
|
2178
2141
|
}
|
|
2179
2142
|
exports.CreateAttributeRequestItemProcessor = CreateAttributeRequestItemProcessor;
|
|
@@ -2297,7 +2260,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
|
|
|
2297
2260
|
}
|
|
2298
2261
|
async copyExistingAttribute(attributeId, requestInfo) {
|
|
2299
2262
|
return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
2300
|
-
|
|
2263
|
+
sourceAttributeId: transport_1.CoreId.from(attributeId),
|
|
2301
2264
|
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
2302
2265
|
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
2303
2266
|
});
|
|
@@ -2308,7 +2271,7 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
|
|
|
2308
2271
|
content: attribute
|
|
2309
2272
|
});
|
|
2310
2273
|
return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
2311
|
-
|
|
2274
|
+
sourceAttributeId: transport_1.CoreId.from(repositoryLocalAttribute.id),
|
|
2312
2275
|
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
2313
2276
|
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
2314
2277
|
});
|
|
@@ -2361,16 +2324,23 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
|
|
|
2361
2324
|
const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
|
|
2362
2325
|
const ts_simple_nameof_1 = __webpack_require__(/*! ts-simple-nameof */ "./node_modules/ts-simple-nameof/index.js");
|
|
2363
2326
|
let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
|
|
2327
|
+
isWithExistingAttribute() {
|
|
2328
|
+
return this.attributeId !== undefined;
|
|
2329
|
+
}
|
|
2330
|
+
isWithNewAttribute() {
|
|
2331
|
+
return this.newAttributeValue !== undefined;
|
|
2332
|
+
}
|
|
2364
2333
|
static from(value) {
|
|
2365
2334
|
return this.fromAny(value);
|
|
2366
2335
|
}
|
|
2367
2336
|
static postFrom(value) {
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2337
|
+
if (!(value instanceof AcceptReadAttributeRequestItemParameters_1))
|
|
2338
|
+
throw new Error("this should never happen");
|
|
2339
|
+
if (value.attributeId && value.newAttributeValue) {
|
|
2340
|
+
throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue), `You cannot specify both ${(0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue)} and ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
|
|
2371
2341
|
}
|
|
2372
|
-
if (!
|
|
2373
|
-
throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.
|
|
2342
|
+
if (!value.attributeId && !value.newAttributeValue) {
|
|
2343
|
+
throw new ts_serval_1.ValidationError(AcceptReadAttributeRequestItemParameters_1.name, (0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue), `You have to specify either ${(0, ts_simple_nameof_1.nameof)((x) => x.newAttributeValue)} or ${(0, ts_simple_nameof_1.nameof)((x) => x.attributeId)}.`);
|
|
2374
2344
|
}
|
|
2375
2345
|
return value;
|
|
2376
2346
|
}
|
|
@@ -2384,7 +2354,7 @@ __decorate([
|
|
|
2384
2354
|
(0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
|
|
2385
2355
|
(0, ts_serval_1.validate)({ nullable: true }),
|
|
2386
2356
|
__metadata("design:type", Object)
|
|
2387
|
-
], AcceptReadAttributeRequestItemParameters.prototype, "
|
|
2357
|
+
], AcceptReadAttributeRequestItemParameters.prototype, "newAttributeValue", void 0);
|
|
2388
2358
|
AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = __decorate([
|
|
2389
2359
|
(0, ts_serval_1.type)("AcceptReadAttributeRequestItemParameters")
|
|
2390
2360
|
], AcceptReadAttributeRequestItemParameters);
|
|
@@ -2424,7 +2394,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
2424
2394
|
}
|
|
2425
2395
|
async canAccept(_requestItem, params, requestInfo) {
|
|
2426
2396
|
const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
|
|
2427
|
-
if (parsedParams.
|
|
2397
|
+
if (parsedParams.isWithExistingAttribute()) {
|
|
2428
2398
|
const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
|
|
2429
2399
|
if (!foundAttribute) {
|
|
2430
2400
|
return ValidationResult_1.ValidationResult.error(transport_1.TransportErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
|
|
@@ -2438,11 +2408,11 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
2438
2408
|
async accept(_requestItem, params, requestInfo) {
|
|
2439
2409
|
const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
|
|
2440
2410
|
let sharedLocalAttribute;
|
|
2441
|
-
if (parsedParams.
|
|
2411
|
+
if (parsedParams.isWithExistingAttribute()) {
|
|
2442
2412
|
sharedLocalAttribute = await this.copyExistingAttribute(parsedParams.attributeId, requestInfo);
|
|
2443
2413
|
}
|
|
2444
2414
|
else {
|
|
2445
|
-
sharedLocalAttribute = await this.createNewAttribute(parsedParams.
|
|
2415
|
+
sharedLocalAttribute = await this.createNewAttribute(parsedParams.newAttributeValue, requestInfo);
|
|
2446
2416
|
}
|
|
2447
2417
|
return content_1.ReadAttributeAcceptResponseItem.from({
|
|
2448
2418
|
result: content_1.ResponseItemResult.Accepted,
|
|
@@ -2452,7 +2422,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
2452
2422
|
}
|
|
2453
2423
|
async copyExistingAttribute(attributeId, requestInfo) {
|
|
2454
2424
|
return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
2455
|
-
|
|
2425
|
+
sourceAttributeId: transport_1.CoreId.from(attributeId),
|
|
2456
2426
|
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
2457
2427
|
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
2458
2428
|
});
|
|
@@ -2463,7 +2433,7 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
2463
2433
|
content: attribute
|
|
2464
2434
|
});
|
|
2465
2435
|
return await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
2466
|
-
|
|
2436
|
+
sourceAttributeId: transport_1.CoreId.from(repositoryLocalAttribute.id),
|
|
2467
2437
|
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
2468
2438
|
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
2469
2439
|
});
|
|
@@ -2580,7 +2550,7 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
|
|
|
2580
2550
|
return ValidationResult_1.ValidationResult.success();
|
|
2581
2551
|
}
|
|
2582
2552
|
async accept(requestItem, _params, _requestInfo) {
|
|
2583
|
-
const attribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
|
|
2553
|
+
const attribute = (await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId));
|
|
2584
2554
|
if (!(await this.isAttributeAlreadyShared(attribute, requestItem.shareWith))) {
|
|
2585
2555
|
await this.shareAttribute(attribute, requestItem.shareWith);
|
|
2586
2556
|
}
|
|
@@ -2601,7 +2571,8 @@ class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.G
|
|
|
2601
2571
|
async shareAttribute(attribute, shareWith) {
|
|
2602
2572
|
const createAttributeRequestItem = content_1.CreateAttributeRequestItem.from({
|
|
2603
2573
|
attribute: attribute.content,
|
|
2604
|
-
mustBeAccepted: true
|
|
2574
|
+
mustBeAccepted: true,
|
|
2575
|
+
sourceAttributeId: attribute.id
|
|
2605
2576
|
});
|
|
2606
2577
|
const createAttributeRequest = await this.consumptionController.outgoingRequests.create({
|
|
2607
2578
|
peer: shareWith,
|