@nmshd/consumption 3.10.0 → 3.12.0
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/dist/buildInformation.js +4 -4
- package/dist/consumption/CoreErrors.d.ts +2 -0
- package/dist/consumption/CoreErrors.d.ts.map +1 -1
- package/dist/consumption/CoreErrors.js +7 -1
- package/dist/consumption/CoreErrors.js.map +1 -1
- package/dist/modules/attributes/AttributesController.d.ts +9 -3
- package/dist/modules/attributes/AttributesController.d.ts.map +1 -1
- package/dist/modules/attributes/AttributesController.js +137 -89
- package/dist/modules/attributes/AttributesController.js.map +1 -1
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.d.ts +8 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.d.ts.map +1 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.js +12 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeSucceededEvent.js.map +1 -0
- package/dist/modules/attributes/events/index.d.ts +1 -0
- package/dist/modules/attributes/events/index.d.ts.map +1 -1
- package/dist/modules/attributes/events/index.js +1 -0
- package/dist/modules/attributes/events/index.js.map +1 -1
- package/dist/modules/attributes/local/LocalAttribute.d.ts.map +1 -1
- package/dist/modules/attributes/local/LocalAttribute.js +10 -10
- package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.d.ts +2 -0
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.d.ts.map +1 -1
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.js +2 -0
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.js.map +1 -1
- package/dist/modules/attributes/local/LocalAttributeShareInfo.d.ts.map +1 -1
- package/dist/modules/attributes/local/LocalAttributeShareInfo.js +3 -4
- package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.d.ts.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js +4 -5
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js +3 -4
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.js +3 -4
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.js +2 -2
- package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.js.map +1 -1
- package/dist/modules/notifications/local/LocalNotification.js +2 -2
- package/dist/modules/notifications/local/LocalNotification.js.map +1 -1
- package/dist/modules/requests/incoming/IncomingRequestsController.d.ts.map +1 -1
- package/dist/modules/requests/incoming/IncomingRequestsController.js +1 -1
- package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
- package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js +1 -1
- package/dist/modules/requests/incoming/decide/DecideRequestItemGroupParameters.js.map +1 -1
- package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js +1 -1
- package/dist/modules/requests/incoming/decide/DecideRequestItemParameters.js.map +1 -1
- package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts +2 -1
- package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/AbstractRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts +2 -1
- package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js +0 -1
- package/dist/modules/requests/itemProcessors/GenericRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts +2 -1
- package/dist/modules/requests/itemProcessors/IRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +2 -4
- package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js +27 -16
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js +2 -2
- package/dist/modules/requests/itemProcessors/proposeAttribute/AcceptProposeAttributeRequestItemParameters.js.map +1 -1
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +5 -4
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +87 -21
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js +2 -2
- package/dist/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.js.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +7 -4
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +126 -20
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +1 -0
- package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts.map +1 -1
- package/dist/modules/requests/outgoing/OutgoingRequestsController.js +31 -4
- package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
- package/package.json +6 -15
- package/lib-web/nmshd.consumption.js +0 -36384
- package/lib-web/nmshd.consumption.js.map +0 -1
- package/lib-web/nmshd.consumption.min.js +0 -3
- package/lib-web/nmshd.consumption.min.js.map +0 -1
- package/ui5.yaml +0 -9
|
@@ -7,6 +7,7 @@ exports.ProposeAttributeRequestItemProcessor = void 0;
|
|
|
7
7
|
const content_1 = require("@nmshd/content");
|
|
8
8
|
const transport_1 = require("@nmshd/transport");
|
|
9
9
|
const CoreErrors_1 = require("../../../../consumption/CoreErrors");
|
|
10
|
+
const attributes_1 = require("../../../attributes");
|
|
10
11
|
const LocalAttribute_1 = require("../../../attributes/local/LocalAttribute");
|
|
11
12
|
const ValidationResult_1 = require("../../../common/ValidationResult");
|
|
12
13
|
const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
|
|
@@ -44,11 +45,22 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
|
|
|
44
45
|
const parsedParams = AcceptProposeAttributeRequestItemParameters_1.AcceptProposeAttributeRequestItemParameters.from(params);
|
|
45
46
|
let attribute = parsedParams.attribute;
|
|
46
47
|
if (parsedParams.isWithExistingAttribute()) {
|
|
47
|
-
const
|
|
48
|
-
if (!
|
|
48
|
+
const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
|
|
49
|
+
if (!foundAttribute)
|
|
49
50
|
return ValidationResult_1.ValidationResult.error(transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
|
|
51
|
+
const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.attributeId, [requestInfo.peer], true);
|
|
52
|
+
if (latestSharedVersion.length > 0) {
|
|
53
|
+
if (!latestSharedVersion[0].shareInfo?.sourceAttribute) {
|
|
54
|
+
throw new Error(`The Attribute ${latestSharedVersion[0].id} doesn't have a 'shareInfo.sourceAttribute', even though it was found as shared version of an Attribute.`);
|
|
55
|
+
}
|
|
56
|
+
const latestSharedVersionSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(latestSharedVersion[0].shareInfo.sourceAttribute);
|
|
57
|
+
if (!latestSharedVersionSourceAttribute)
|
|
58
|
+
throw new Error(`The Attribute ${latestSharedVersion[0].shareInfo.sourceAttribute} was not found.`);
|
|
59
|
+
if (await this.consumptionController.attributes.isSubsequentInSuccession(foundAttribute, latestSharedVersionSourceAttribute)) {
|
|
60
|
+
return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters("You cannot share the predecessor of an already shared Attribute version."));
|
|
61
|
+
}
|
|
50
62
|
}
|
|
51
|
-
attribute =
|
|
63
|
+
attribute = foundAttribute.content;
|
|
52
64
|
}
|
|
53
65
|
const ownerIsEmpty = attribute.owner.equals("");
|
|
54
66
|
const ownerIsCurrentIdentity = attribute.owner.equals(this.currentIdentityAddress);
|
|
@@ -61,23 +73,65 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
|
|
|
61
73
|
const parsedParams = AcceptProposeAttributeRequestItemParameters_1.AcceptProposeAttributeRequestItemParameters.from(params);
|
|
62
74
|
let sharedLocalAttribute;
|
|
63
75
|
if (parsedParams.isWithExistingAttribute()) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
76
|
+
const existingSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.attributeId);
|
|
77
|
+
if (!existingSourceAttribute)
|
|
78
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, parsedParams.attributeId.toString());
|
|
79
|
+
const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.attributeId, [requestInfo.peer], true);
|
|
80
|
+
if (latestSharedVersion.length === 0) {
|
|
81
|
+
sharedLocalAttribute = await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
82
|
+
sourceAttributeId: transport_1.CoreId.from(existingSourceAttribute.id),
|
|
83
|
+
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
84
|
+
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
85
|
+
});
|
|
86
|
+
return content_1.ProposeAttributeAcceptResponseItem.from({
|
|
87
|
+
result: content_1.ResponseItemResult.Accepted,
|
|
88
|
+
attributeId: sharedLocalAttribute.id,
|
|
89
|
+
attribute: sharedLocalAttribute.content
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
const latestSharedAttribute = latestSharedVersion[0];
|
|
93
|
+
if (!latestSharedAttribute.shareInfo?.sourceAttribute) {
|
|
94
|
+
throw new Error(`The Attribute ${latestSharedAttribute.id} doesn't have a 'shareInfo.sourceAttribute', even though it was found as shared version of an Attribute.`);
|
|
95
|
+
}
|
|
96
|
+
if (latestSharedAttribute.shareInfo.sourceAttribute.toString() === existingSourceAttribute.id.toString()) {
|
|
97
|
+
return content_1.AttributeAlreadySharedAcceptResponseItem.from({
|
|
98
|
+
result: content_1.ResponseItemResult.Accepted,
|
|
99
|
+
attributeId: latestSharedAttribute.id
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const predecessorSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(latestSharedAttribute.shareInfo.sourceAttribute);
|
|
103
|
+
if (!predecessorSourceAttribute)
|
|
104
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, latestSharedAttribute.shareInfo.sourceAttribute.toString());
|
|
105
|
+
if (await this.consumptionController.attributes.isSubsequentInSuccession(predecessorSourceAttribute, existingSourceAttribute)) {
|
|
106
|
+
if (existingSourceAttribute.isRepositoryAttribute(this.currentIdentityAddress)) {
|
|
107
|
+
const successorSharedAttribute = await this.performOwnSharedIdentityAttributeSuccession(latestSharedAttribute.id, existingSourceAttribute, requestInfo);
|
|
108
|
+
return content_1.AttributeSuccessionAcceptResponseItem.from({
|
|
109
|
+
result: content_1.ResponseItemResult.Accepted,
|
|
110
|
+
successorId: successorSharedAttribute.id,
|
|
111
|
+
successorContent: successorSharedAttribute.content,
|
|
112
|
+
predecessorId: latestSharedAttribute.id
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
68
116
|
}
|
|
117
|
+
sharedLocalAttribute = await this.createNewAttribute(parsedParams.attribute, requestInfo);
|
|
69
118
|
return content_1.ProposeAttributeAcceptResponseItem.from({
|
|
70
119
|
result: content_1.ResponseItemResult.Accepted,
|
|
71
120
|
attributeId: sharedLocalAttribute.id,
|
|
72
121
|
attribute: sharedLocalAttribute.content
|
|
73
122
|
});
|
|
74
123
|
}
|
|
75
|
-
async
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
124
|
+
async performOwnSharedIdentityAttributeSuccession(sharedPredecessorId, sourceSuccessor, requestInfo) {
|
|
125
|
+
const successorParams = {
|
|
126
|
+
content: sourceSuccessor.content,
|
|
127
|
+
shareInfo: attributes_1.LocalAttributeShareInfo.from({
|
|
128
|
+
peer: requestInfo.peer,
|
|
129
|
+
requestReference: requestInfo.id,
|
|
130
|
+
sourceAttribute: sourceSuccessor.id
|
|
131
|
+
})
|
|
132
|
+
};
|
|
133
|
+
const { successor } = await this.consumptionController.attributes.succeedOwnSharedIdentityAttribute(sharedPredecessorId, successorParams);
|
|
134
|
+
return successor;
|
|
81
135
|
}
|
|
82
136
|
async createNewAttribute(attribute, requestInfo) {
|
|
83
137
|
if (attribute instanceof content_1.IdentityAttribute) {
|
|
@@ -97,15 +151,27 @@ class ProposeAttributeRequestItemProcessor extends GenericRequestItemProcessor_1
|
|
|
97
151
|
});
|
|
98
152
|
}
|
|
99
153
|
async applyIncomingResponseItem(responseItem, _requestItem, requestInfo) {
|
|
100
|
-
if (
|
|
101
|
-
|
|
154
|
+
if (responseItem instanceof content_1.ProposeAttributeAcceptResponseItem) {
|
|
155
|
+
await this.consumptionController.attributes.createPeerLocalAttribute({
|
|
156
|
+
id: responseItem.attributeId,
|
|
157
|
+
content: responseItem.attribute,
|
|
158
|
+
peer: requestInfo.peer,
|
|
159
|
+
requestReference: requestInfo.id
|
|
160
|
+
});
|
|
102
161
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
162
|
+
if (responseItem instanceof content_1.AttributeSuccessionAcceptResponseItem && responseItem.successorContent instanceof content_1.IdentityAttribute) {
|
|
163
|
+
const successorParams = attributes_1.AttributeSuccessorParams.from({
|
|
164
|
+
id: responseItem.successorId,
|
|
165
|
+
content: responseItem.successorContent,
|
|
166
|
+
shareInfo: attributes_1.LocalAttributeShareInfo.from({
|
|
167
|
+
peer: requestInfo.peer,
|
|
168
|
+
requestReference: requestInfo.id
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
const { predecessor, successor } = await this.consumptionController.attributes.succeedPeerSharedIdentityAttribute(responseItem.predecessorId, successorParams);
|
|
172
|
+
return new attributes_1.PeerSharedAttributeSucceededEvent(this.currentIdentityAddress.toString(), predecessor, successor);
|
|
173
|
+
}
|
|
174
|
+
return;
|
|
109
175
|
}
|
|
110
176
|
}
|
|
111
177
|
exports.ProposeAttributeRequestItemProcessor = ProposeAttributeRequestItemProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProposeAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ProposeAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class AcceptReadAttributeRequestItemParameters extends Serializab
|
|
|
16
16
|
existingAttributeId: CoreId;
|
|
17
17
|
};
|
|
18
18
|
isWithNewAttribute(): this is {
|
|
19
|
-
|
|
19
|
+
newAttribute: IdentityAttribute | RelationshipAttribute;
|
|
20
20
|
};
|
|
21
21
|
static from(value: AcceptReadAttributeRequestItemParametersJSON): AcceptReadAttributeRequestItemParameters;
|
|
22
22
|
protected static postFrom<T extends Serializable>(value: T): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcceptReadAttributeRequestItemParameters.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.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,kBAAkB,CAAC;AAG1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEpG,MAAM,WAAW,iEAAkE,SAAQ,+BAA+B;IACtH,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,4DAA6D,SAAQ,+BAA+B;IACjH,YAAY,EAAE,qBAAqB,GAAG,yBAAyB,CAAC;CACnE;AAED,MAAM,MAAM,4CAA4C,GAClD,iEAAiE,GACjE,4DAA4D,CAAC;AAEnE,qBACa,wCAAyC,SAAQ,YAAY;IAG/D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAI7B,YAAY,CAAC,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IAEzD,uBAAuB,IAAI,IAAI,IAAI;QAAE,mBAAmB,EAAE,MAAM,CAAA;KAAE;IAIlE,kBAAkB,IAAI,IAAI,IAAI;QAAE,
|
|
1
|
+
{"version":3,"file":"AcceptReadAttributeRequestItemParameters.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.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,kBAAkB,CAAC;AAG1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEpG,MAAM,WAAW,iEAAkE,SAAQ,+BAA+B;IACtH,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,4DAA6D,SAAQ,+BAA+B;IACjH,YAAY,EAAE,qBAAqB,GAAG,yBAAyB,CAAC;CACnE;AAED,MAAM,MAAM,4CAA4C,GAClD,iEAAiE,GACjE,4DAA4D,CAAC;AAEnE,qBACa,wCAAyC,SAAQ,YAAY;IAG/D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAI7B,YAAY,CAAC,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IAEzD,uBAAuB,IAAI,IAAI,IAAI;QAAE,mBAAmB,EAAE,MAAM,CAAA;KAAE;IAIlE,kBAAkB,IAAI,IAAI,IAAI;QAAE,YAAY,EAAE,iBAAiB,GAAG,qBAAqB,CAAA;KAAE;WAIlF,IAAI,CAAC,KAAK,EAAE,4CAA4C,GAAG,wCAAwC;qBAIvF,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CA2B1E"}
|
|
@@ -18,10 +18,10 @@ const ts_simple_nameof_1 = require("ts-simple-nameof");
|
|
|
18
18
|
const ConsumptionError_1 = require("../../../../consumption/ConsumptionError");
|
|
19
19
|
let AcceptReadAttributeRequestItemParameters = AcceptReadAttributeRequestItemParameters_1 = class AcceptReadAttributeRequestItemParameters extends ts_serval_1.Serializable {
|
|
20
20
|
isWithExistingAttribute() {
|
|
21
|
-
return
|
|
21
|
+
return !!this.existingAttributeId;
|
|
22
22
|
}
|
|
23
23
|
isWithNewAttribute() {
|
|
24
|
-
return
|
|
24
|
+
return !!this.newAttribute;
|
|
25
25
|
}
|
|
26
26
|
static from(value) {
|
|
27
27
|
return this.fromAny(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcceptReadAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8F;AAC9F,4CAA4H;AAC5H,gDAA0C;AAC1C,uDAA0C;AAC1C,+EAA4E;AAgBrE,IAAM,wCAAwC,gDAA9C,MAAM,wCAAyC,SAAQ,wBAAY;IAS/D,uBAAuB;QAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"AcceptReadAttributeRequestItemParameters.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/AcceptReadAttributeRequestItemParameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8F;AAC9F,4CAA4H;AAC5H,gDAA0C;AAC1C,uDAA0C;AAC1C,+EAA4E;AAgBrE,IAAM,wCAAwC,gDAA9C,MAAM,wCAAyC,SAAQ,wBAAY;IAS/D,uBAAuB;QAC1B,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACtC,CAAC;IAEM,kBAAkB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM,CAAU,QAAQ,CAAyB,KAAQ;QAC/D,IAAI,CAAC,CAAC,KAAK,YAAY,0CAAwC,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,mCAAgB,CAAC,0BAA0B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EACvE,2BAA2B,IAAA,yBAAM,EAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACxB,QAAQ,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAC7F,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACpD,MAAM,IAAI,2BAAe,CACrB,0CAAwC,CAAC,IAAI,EAC7C,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EACvE,8BAA8B,IAAA,yBAAM,EAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACxB,OAAO,IAAA,yBAAM,EAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAC5F,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAhDY,4FAAwC;AAG1C;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACA,kBAAM;qFAAC;AAI7B;IAFN,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;IACrE,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8EACmC;mDAPvD,wCAAwC;IADpD,IAAA,gBAAI,EAAC,0CAA0C,CAAC;GACpC,wCAAwC,CAgDpD"}
|
package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ReadAttributeAcceptResponseItem, ReadAttributeRequestItem, RejectResponseItem, Request } from "@nmshd/content";
|
|
1
|
+
import { AttributeAlreadySharedAcceptResponseItem, AttributeSuccessionAcceptResponseItem, ReadAttributeAcceptResponseItem, ReadAttributeRequestItem, RejectResponseItem, Request } from "@nmshd/content";
|
|
2
2
|
import { CoreAddress } from "@nmshd/transport";
|
|
3
|
+
import { PeerSharedAttributeSucceededEvent } from "../../../attributes";
|
|
3
4
|
import { ValidationResult } from "../../../common/ValidationResult";
|
|
4
5
|
import { GenericRequestItemProcessor } from "../GenericRequestItemProcessor";
|
|
5
6
|
import { LocalRequestInfo } from "../IRequestItemProcessor";
|
|
@@ -7,9 +8,11 @@ import { AcceptReadAttributeRequestItemParametersJSON } from "./AcceptReadAttrib
|
|
|
7
8
|
export declare class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor<ReadAttributeRequestItem, AcceptReadAttributeRequestItemParametersJSON> {
|
|
8
9
|
canCreateOutgoingRequestItem(requestItem: ReadAttributeRequestItem, _request: Request, recipient?: CoreAddress): ValidationResult;
|
|
9
10
|
canAccept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ValidationResult>;
|
|
10
|
-
accept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ReadAttributeAcceptResponseItem>;
|
|
11
|
-
private
|
|
11
|
+
accept(_requestItem: ReadAttributeRequestItem, params: AcceptReadAttributeRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ReadAttributeAcceptResponseItem | AttributeSuccessionAcceptResponseItem | AttributeAlreadySharedAcceptResponseItem>;
|
|
12
|
+
private performOwnSharedIdentityAttributeSuccession;
|
|
13
|
+
private performOwnSharedThirdPartyRelationshipAttributeSuccession;
|
|
14
|
+
private performThirdPartyOwnedRelationshipAttributeSuccession;
|
|
12
15
|
private createNewAttribute;
|
|
13
|
-
applyIncomingResponseItem(responseItem: ReadAttributeAcceptResponseItem | RejectResponseItem, _requestItem: ReadAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
|
|
16
|
+
applyIncomingResponseItem(responseItem: ReadAttributeAcceptResponseItem | AttributeSuccessionAcceptResponseItem | AttributeAlreadySharedAcceptResponseItem | RejectResponseItem, _requestItem: ReadAttributeRequestItem, requestInfo: LocalRequestInfo): Promise<PeerSharedAttributeSucceededEvent | void>;
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=ReadAttributeRequestItemProcessor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ReadAttributeRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wCAAwC,EACxC,qCAAqC,EAErC,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,EAElB,OAAO,EAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAA6C,MAAM,kBAAkB,CAAC;AAE1F,OAAO,EAAqD,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAE3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAA4C,4CAA4C,EAAE,MAAM,4CAA4C,CAAC;AAEpJ,qBAAa,iCAAkC,SAAQ,2BAA2B,CAAC,wBAAwB,EAAE,4CAA4C,CAAC;IACtI,4BAA4B,CAAC,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,gBAAgB;IAS3H,SAAS,CAC3B,YAAY,EAAE,wBAAwB,EACtC,MAAM,EAAE,4CAA4C,EACpD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAgCN,MAAM,CACxB,YAAY,EAAE,wBAAwB,EACtC,MAAM,EAAE,4CAA4C,EACpD,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,+BAA+B,GAAG,qCAAqC,GAAG,wCAAwC,CAAC;YAoEhH,2CAA2C;YAa3C,yDAAyD;YAazD,qDAAqD;YAarD,kBAAkB;IAoBV,yBAAyB,CAC3C,YAAY,EAAE,+BAA+B,GAAG,qCAAqC,GAAG,wCAAwC,GAAG,kBAAkB,EACrJ,YAAY,EAAE,wBAAwB,EACtC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,iCAAiC,GAAG,IAAI,CAAC;CAgCvD"}
|
package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.ReadAttributeRequestItemProcessor = void 0;
|
|
|
7
7
|
const content_1 = require("@nmshd/content");
|
|
8
8
|
const transport_1 = require("@nmshd/transport");
|
|
9
9
|
const CoreErrors_1 = require("../../../../consumption/CoreErrors");
|
|
10
|
+
const attributes_1 = require("../../../attributes");
|
|
10
11
|
const LocalAttribute_1 = require("../../../attributes/local/LocalAttribute");
|
|
11
12
|
const ValidationResult_1 = require("../../../common/ValidationResult");
|
|
12
13
|
const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
|
|
@@ -24,13 +25,24 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
24
25
|
const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
|
|
25
26
|
if (parsedParams.isWithExistingAttribute()) {
|
|
26
27
|
const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.existingAttributeId);
|
|
27
|
-
if (!foundAttribute)
|
|
28
|
+
if (!foundAttribute)
|
|
28
29
|
return ValidationResult_1.ValidationResult.error(transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, requestInfo.id.toString()));
|
|
29
|
-
}
|
|
30
30
|
const ownerIsCurrentIdentity = this.accountController.identity.isMe(foundAttribute.content.owner);
|
|
31
31
|
if (!ownerIsCurrentIdentity && foundAttribute.content instanceof content_1.IdentityAttribute) {
|
|
32
32
|
return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters("The given Attribute belongs to someone else. You can only share own Attributes."));
|
|
33
33
|
}
|
|
34
|
+
const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.existingAttributeId, [requestInfo.peer], true);
|
|
35
|
+
if (latestSharedVersion.length > 0) {
|
|
36
|
+
if (!latestSharedVersion[0].shareInfo?.sourceAttribute) {
|
|
37
|
+
throw new Error(`The Attribute ${latestSharedVersion[0].id} doesn't have a 'shareInfo.sourceAttribute', even though it was found as shared version of an Attribute.`);
|
|
38
|
+
}
|
|
39
|
+
const latestSharedVersionSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(latestSharedVersion[0].shareInfo.sourceAttribute);
|
|
40
|
+
if (!latestSharedVersionSourceAttribute)
|
|
41
|
+
throw new Error(`The Attribute ${latestSharedVersion[0].shareInfo.sourceAttribute} was not found.`);
|
|
42
|
+
if (await this.consumptionController.attributes.isSubsequentInSuccession(foundAttribute, latestSharedVersionSourceAttribute)) {
|
|
43
|
+
return ValidationResult_1.ValidationResult.error(CoreErrors_1.CoreErrors.requests.invalidAcceptParameters("You cannot share the predecessor of an already shared Attribute version."));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
34
46
|
}
|
|
35
47
|
return ValidationResult_1.ValidationResult.success();
|
|
36
48
|
}
|
|
@@ -38,23 +50,97 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
38
50
|
const parsedParams = AcceptReadAttributeRequestItemParameters_1.AcceptReadAttributeRequestItemParameters.from(params);
|
|
39
51
|
let sharedLocalAttribute;
|
|
40
52
|
if (parsedParams.isWithExistingAttribute()) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
53
|
+
const existingSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(parsedParams.existingAttributeId);
|
|
54
|
+
if (!existingSourceAttribute) {
|
|
55
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, parsedParams.existingAttributeId.toString());
|
|
56
|
+
}
|
|
57
|
+
const latestSharedVersion = await this.consumptionController.attributes.getSharedVersionsOfAttribute(parsedParams.existingAttributeId, [requestInfo.peer], true);
|
|
58
|
+
if (latestSharedVersion.length === 0) {
|
|
59
|
+
sharedLocalAttribute = await this.consumptionController.attributes.createSharedLocalAttributeCopy({
|
|
60
|
+
sourceAttributeId: transport_1.CoreId.from(existingSourceAttribute.id),
|
|
61
|
+
peer: transport_1.CoreAddress.from(requestInfo.peer),
|
|
62
|
+
requestReference: transport_1.CoreId.from(requestInfo.id)
|
|
63
|
+
});
|
|
64
|
+
return content_1.ReadAttributeAcceptResponseItem.from({
|
|
65
|
+
result: content_1.ResponseItemResult.Accepted,
|
|
66
|
+
attributeId: sharedLocalAttribute.id,
|
|
67
|
+
attribute: sharedLocalAttribute.content
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const latestSharedAttribute = latestSharedVersion[0];
|
|
71
|
+
if (!latestSharedAttribute.shareInfo?.sourceAttribute) {
|
|
72
|
+
throw new Error(`The Attribute ${latestSharedAttribute.id} doesn't have a 'shareInfo.sourceAttribute', even though it was found as shared version of an Attribute.`);
|
|
73
|
+
}
|
|
74
|
+
if (latestSharedAttribute.shareInfo.sourceAttribute.toString() === existingSourceAttribute.id.toString()) {
|
|
75
|
+
return content_1.AttributeAlreadySharedAcceptResponseItem.from({
|
|
76
|
+
result: content_1.ResponseItemResult.Accepted,
|
|
77
|
+
attributeId: latestSharedAttribute.id
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const predecessorSourceAttribute = await this.consumptionController.attributes.getLocalAttribute(latestSharedAttribute.shareInfo.sourceAttribute);
|
|
81
|
+
if (!predecessorSourceAttribute)
|
|
82
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, latestSharedAttribute.shareInfo.sourceAttribute.toString());
|
|
83
|
+
if (await this.consumptionController.attributes.isSubsequentInSuccession(predecessorSourceAttribute, existingSourceAttribute)) {
|
|
84
|
+
let successorSharedAttribute;
|
|
85
|
+
if (existingSourceAttribute.isRepositoryAttribute(this.currentIdentityAddress)) {
|
|
86
|
+
successorSharedAttribute = await this.performOwnSharedIdentityAttributeSuccession(latestSharedAttribute.id, existingSourceAttribute, requestInfo);
|
|
87
|
+
}
|
|
88
|
+
else if (existingSourceAttribute.isOwnedBy(this.accountController.identity.address)) {
|
|
89
|
+
successorSharedAttribute = await this.performOwnSharedThirdPartyRelationshipAttributeSuccession(latestSharedAttribute.id, existingSourceAttribute, requestInfo);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
successorSharedAttribute = await this.performThirdPartyOwnedRelationshipAttributeSuccession(latestSharedAttribute.id, existingSourceAttribute, requestInfo);
|
|
93
|
+
}
|
|
94
|
+
return content_1.AttributeSuccessionAcceptResponseItem.from({
|
|
95
|
+
result: content_1.ResponseItemResult.Accepted,
|
|
96
|
+
successorId: successorSharedAttribute.id,
|
|
97
|
+
successorContent: successorSharedAttribute.content,
|
|
98
|
+
predecessorId: latestSharedAttribute.id
|
|
99
|
+
});
|
|
100
|
+
}
|
|
45
101
|
}
|
|
102
|
+
sharedLocalAttribute = await this.createNewAttribute(parsedParams.newAttribute, requestInfo);
|
|
46
103
|
return content_1.ReadAttributeAcceptResponseItem.from({
|
|
47
104
|
result: content_1.ResponseItemResult.Accepted,
|
|
48
105
|
attributeId: sharedLocalAttribute.id,
|
|
49
106
|
attribute: sharedLocalAttribute.content
|
|
50
107
|
});
|
|
51
108
|
}
|
|
52
|
-
async
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
109
|
+
async performOwnSharedIdentityAttributeSuccession(sharedPredecessorId, sourceSuccessor, requestInfo) {
|
|
110
|
+
const successorParams = {
|
|
111
|
+
content: sourceSuccessor.content,
|
|
112
|
+
shareInfo: attributes_1.LocalAttributeShareInfo.from({
|
|
113
|
+
peer: requestInfo.peer,
|
|
114
|
+
requestReference: requestInfo.id,
|
|
115
|
+
sourceAttribute: sourceSuccessor.id
|
|
116
|
+
})
|
|
117
|
+
};
|
|
118
|
+
const { successor } = await this.consumptionController.attributes.succeedOwnSharedIdentityAttribute(sharedPredecessorId, successorParams);
|
|
119
|
+
return successor;
|
|
120
|
+
}
|
|
121
|
+
async performOwnSharedThirdPartyRelationshipAttributeSuccession(sharedPredecessorId, sourceSuccessor, requestInfo) {
|
|
122
|
+
const successorParams = {
|
|
123
|
+
content: sourceSuccessor.content,
|
|
124
|
+
shareInfo: attributes_1.LocalAttributeShareInfo.from({
|
|
125
|
+
peer: requestInfo.peer,
|
|
126
|
+
requestReference: requestInfo.id,
|
|
127
|
+
sourceAttribute: sourceSuccessor.id
|
|
128
|
+
})
|
|
129
|
+
};
|
|
130
|
+
const { successor } = await this.consumptionController.attributes.succeedOwnSharedRelationshipAttribute(sharedPredecessorId, successorParams);
|
|
131
|
+
return successor;
|
|
132
|
+
}
|
|
133
|
+
async performThirdPartyOwnedRelationshipAttributeSuccession(sharedPredecessorId, sourceSuccessor, requestInfo) {
|
|
134
|
+
const successorParams = {
|
|
135
|
+
content: sourceSuccessor.content,
|
|
136
|
+
shareInfo: attributes_1.LocalAttributeShareInfo.from({
|
|
137
|
+
peer: requestInfo.peer,
|
|
138
|
+
requestReference: requestInfo.id,
|
|
139
|
+
sourceAttribute: sourceSuccessor.id
|
|
140
|
+
})
|
|
141
|
+
};
|
|
142
|
+
const { successor } = await this.consumptionController.attributes.succeedThirdPartyOwnedRelationshipAttribute(sharedPredecessorId, successorParams);
|
|
143
|
+
return successor;
|
|
58
144
|
}
|
|
59
145
|
async createNewAttribute(attribute, requestInfo) {
|
|
60
146
|
if (attribute instanceof content_1.IdentityAttribute) {
|
|
@@ -74,15 +160,35 @@ class ReadAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.Ge
|
|
|
74
160
|
});
|
|
75
161
|
}
|
|
76
162
|
async applyIncomingResponseItem(responseItem, _requestItem, requestInfo) {
|
|
77
|
-
if (
|
|
78
|
-
|
|
163
|
+
if (responseItem instanceof content_1.ReadAttributeAcceptResponseItem) {
|
|
164
|
+
await this.consumptionController.attributes.createPeerLocalAttribute({
|
|
165
|
+
id: responseItem.attributeId,
|
|
166
|
+
content: responseItem.attribute,
|
|
167
|
+
peer: requestInfo.peer,
|
|
168
|
+
requestReference: requestInfo.id
|
|
169
|
+
});
|
|
79
170
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
171
|
+
if (responseItem instanceof content_1.AttributeSuccessionAcceptResponseItem) {
|
|
172
|
+
const successorParams = attributes_1.AttributeSuccessorParams.from({
|
|
173
|
+
id: responseItem.successorId,
|
|
174
|
+
content: responseItem.successorContent,
|
|
175
|
+
shareInfo: attributes_1.LocalAttributeShareInfo.from({
|
|
176
|
+
peer: requestInfo.peer,
|
|
177
|
+
requestReference: requestInfo.id
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
if (responseItem.successorContent instanceof content_1.IdentityAttribute) {
|
|
181
|
+
const { predecessor, successor } = await this.consumptionController.attributes.succeedPeerSharedIdentityAttribute(responseItem.predecessorId, successorParams);
|
|
182
|
+
return new attributes_1.PeerSharedAttributeSucceededEvent(this.currentIdentityAddress.toString(), predecessor, successor);
|
|
183
|
+
}
|
|
184
|
+
else if (responseItem.successorContent.owner === requestInfo.peer) {
|
|
185
|
+
await this.consumptionController.attributes.succeedPeerSharedRelationshipAttribute(responseItem.predecessorId, successorParams);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
await this.consumptionController.attributes.succeedThirdPartyOwnedRelationshipAttribute(responseItem.predecessorId, successorParams);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return;
|
|
86
192
|
}
|
|
87
193
|
}
|
|
88
194
|
exports.ReadAttributeRequestItemProcessor = ReadAttributeRequestItemProcessor;
|
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,
|
|
1
|
+
{"version":3,"file":"ReadAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ export declare class OutgoingRequestsController extends ConsumptionBaseControlle
|
|
|
30
30
|
createAndCompleteFromRelationshipTemplateResponse(params: ICreateAndCompleteOutgoingRequestFromRelationshipTemplateResponseParameters): Promise<LocalRequest>;
|
|
31
31
|
sent(params: ISentOutgoingRequestParameters): Promise<LocalRequest>;
|
|
32
32
|
private _sent;
|
|
33
|
+
private _setDeletionInfo;
|
|
33
34
|
private getSourceType;
|
|
34
35
|
complete(params: ICompleteOutgoingRequestParameters): Promise<LocalRequest>;
|
|
35
36
|
private _complete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutgoingRequestsController.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/outgoing/OutgoingRequestsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACH,WAAW,EAEX,MAAM,EACN,YAAY,EACZ,OAAO,EAEP,YAAY,EAGZ,sBAAsB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"OutgoingRequestsController.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/outgoing/OutgoingRequestsController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACH,WAAW,EAEX,MAAM,EACN,YAAY,EACZ,OAAO,EAEP,YAAY,EAGZ,sBAAsB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAKnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAGzE,OAAO,EAAqC,kCAAkC,EAAE,MAAM,6DAA6D,CAAC;AACpJ,OAAO,EAEH,2EAA2E,EAC9E,MAAM,gIAAgI,CAAC;AACxI,OAAO,EAAsC,mCAAmC,EAAE,MAAM,4DAA4D,CAAC;AACrJ,OAAO,EAAmC,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAC5I,OAAO,EAAE,8BAA8B,EAAiC,MAAM,qDAAqD,CAAC;AAEpI,qBAAa,0BAA2B,SAAQ,yBAAyB;IAEjE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBALpB,aAAa,EAAE,sBAAsB,EACrC,iBAAiB,EAAE,4BAA4B,EAChE,MAAM,EAAE,qBAAqB,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,EAClC,oBAAoB,EAAE;QACnC,+BAA+B,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;KACxF;IAKQ,SAAS,CAAC,MAAM,EAAE,mCAAmC,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAUhF,cAAc;YAgBd,aAAa;YAKb,kBAAkB;IAanB,MAAM,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,YAAY,CAAC;YAYtE,OAAO;IAmBR,iDAAiD,CAAC,MAAM,EAAE,2EAA2E,GAAG,OAAO,CAAC,YAAY,CAAC;IAgC7J,IAAI,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,YAAY,CAAC;YAiBlE,KAAK;YAgBL,gBAAgB;IA8B9B,OAAO,CAAC,aAAa;IAkBR,QAAQ,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,YAAY,CAAC;YAe1E,SAAS;YAwCT,WAAW;YA+BX,UAAU;YAaV,SAAS;IAKV,mBAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAUzD,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;YAQjE,UAAU;YAQV,MAAM;IAQpB,OAAO,CAAC,mBAAmB;YAMb,mBAAmB;CAKpC"}
|
|
@@ -7,6 +7,7 @@ const ConsumptionBaseController_1 = require("../../../consumption/ConsumptionBas
|
|
|
7
7
|
const ConsumptionControllerName_1 = require("../../../consumption/ConsumptionControllerName");
|
|
8
8
|
const ConsumptionError_1 = require("../../../consumption/ConsumptionError");
|
|
9
9
|
const ConsumptionIds_1 = require("../../../consumption/ConsumptionIds");
|
|
10
|
+
const attributes_1 = require("../../attributes");
|
|
10
11
|
const ValidationResult_1 = require("../../common/ValidationResult");
|
|
11
12
|
const events_1 = require("../events");
|
|
12
13
|
const LocalRequest_1 = require("../local/LocalRequest");
|
|
@@ -69,9 +70,8 @@ class OutgoingRequestsController extends ConsumptionBaseController_1.Consumption
|
|
|
69
70
|
}
|
|
70
71
|
async _create(id, content, peer) {
|
|
71
72
|
const canCreateResult = await this.canCreate({ content, peer });
|
|
72
|
-
if (canCreateResult.isError())
|
|
73
|
+
if (canCreateResult.isError())
|
|
73
74
|
throw canCreateResult.error;
|
|
74
|
-
}
|
|
75
75
|
const request = LocalRequest_1.LocalRequest.from({
|
|
76
76
|
id: id,
|
|
77
77
|
content,
|
|
@@ -108,6 +108,7 @@ class OutgoingRequestsController extends ConsumptionBaseController_1.Consumption
|
|
|
108
108
|
async sent(params) {
|
|
109
109
|
const parsedParams = SentOutgoingRequestParameters_1.SentOutgoingRequestParameters.from(params);
|
|
110
110
|
const request = await this._sent(parsedParams.requestId, parsedParams.requestSourceObject);
|
|
111
|
+
await this._setDeletionInfo(request.content);
|
|
111
112
|
this.eventBus.publish(new events_1.OutgoingRequestStatusChangedEvent(this.identity.address.toString(), {
|
|
112
113
|
request: request,
|
|
113
114
|
oldStatus: LocalRequestStatus_1.LocalRequestStatus.Draft,
|
|
@@ -126,6 +127,33 @@ class OutgoingRequestsController extends ConsumptionBaseController_1.Consumption
|
|
|
126
127
|
await this.update(request);
|
|
127
128
|
return request;
|
|
128
129
|
}
|
|
130
|
+
async _setDeletionInfo(request) {
|
|
131
|
+
const requestItemsFromRequest = request.items.filter((item) => item instanceof content_1.RequestItem);
|
|
132
|
+
const requestItemGroupsFromRequest = request.items.filter((item) => item instanceof content_1.RequestItemGroup);
|
|
133
|
+
const requestItemsFromGroups = requestItemGroupsFromRequest.map((group) => group.items).flat();
|
|
134
|
+
const requestItems = [...requestItemsFromRequest, ...requestItemsFromGroups];
|
|
135
|
+
const deleteAttributeRequestItems = requestItems.filter((item) => item instanceof content_1.DeleteAttributeRequestItem);
|
|
136
|
+
if (deleteAttributeRequestItems.length === 0)
|
|
137
|
+
return;
|
|
138
|
+
const ownSharedAttributeIds = deleteAttributeRequestItems.map((item) => item.attributeId);
|
|
139
|
+
for (const ownSharedAttributeId of ownSharedAttributeIds) {
|
|
140
|
+
const ownSharedAttribute = await this.parent.attributes.getLocalAttribute(ownSharedAttributeId);
|
|
141
|
+
if (!ownSharedAttribute) {
|
|
142
|
+
throw new ConsumptionError_1.ConsumptionError(`The own shared Attribute ${ownSharedAttributeId} of a created DeleteAttributeRequestItem was not found.`);
|
|
143
|
+
}
|
|
144
|
+
const deletionInfo = attributes_1.LocalAttributeDeletionInfo.from({
|
|
145
|
+
deletionStatus: attributes_1.DeletionStatus.DeletionRequestSent,
|
|
146
|
+
deletionDate: transport_1.CoreDate.utc()
|
|
147
|
+
});
|
|
148
|
+
const predecessors = await this.parent.attributes.getPredecessorsOfAttribute(ownSharedAttributeId);
|
|
149
|
+
for (const attr of [ownSharedAttribute, ...predecessors]) {
|
|
150
|
+
if (attr.deletionInfo?.deletionStatus !== attributes_1.DeletionStatus.ToBeDeletedByPeer && attr.deletionInfo?.deletionStatus !== attributes_1.DeletionStatus.DeletedByPeer) {
|
|
151
|
+
attr.setDeletionInfo(deletionInfo, this.identity.address);
|
|
152
|
+
await this.parent.attributes.updateAttributeUnsafe(attr);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
129
157
|
getSourceType(sourceObject) {
|
|
130
158
|
if (sourceObject instanceof transport_1.Message) {
|
|
131
159
|
if (!sourceObject.isOwn) {
|
|
@@ -159,9 +187,8 @@ class OutgoingRequestsController extends ConsumptionBaseController_1.Consumption
|
|
|
159
187
|
throw new ConsumptionError_1.ConsumptionError("Cannot complete an expired request with a response that was created before the expiration date");
|
|
160
188
|
}
|
|
161
189
|
const canComplete = await this.canComplete(request, receivedResponse);
|
|
162
|
-
if (canComplete.isError())
|
|
190
|
+
if (canComplete.isError())
|
|
163
191
|
throw canComplete.error;
|
|
164
|
-
}
|
|
165
192
|
await this.applyItems(request.content.items, receivedResponse.items, request);
|
|
166
193
|
let responseSource;
|
|
167
194
|
if (responseSourceObject instanceof transport_1.Message) {
|