@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
package/dist/buildInformation.js
CHANGED
|
@@ -6,10 +6,10 @@ const content_1 = require("@nmshd/content");
|
|
|
6
6
|
const crypto_1 = require("@nmshd/crypto");
|
|
7
7
|
const transport_1 = require("@nmshd/transport");
|
|
8
8
|
exports.buildInformation = {
|
|
9
|
-
version: "3.
|
|
10
|
-
build: "
|
|
11
|
-
date: "2024-
|
|
12
|
-
commit: "
|
|
9
|
+
version: "3.12.0",
|
|
10
|
+
build: "109",
|
|
11
|
+
date: "2024-06-12T08:27:28+00:00",
|
|
12
|
+
commit: "0d41ea8835ed5990c6b1ffc797086dd6daf6dbbb",
|
|
13
13
|
dependencies: {"@js-soft/docdb-querytranslator":"^1.1.4","@nmshd/iql":"^1.0.2","ts-simple-nameof":"^1.3.1"},
|
|
14
14
|
libraries: {
|
|
15
15
|
transport: transport_1.buildInformation,
|
|
@@ -17,11 +17,13 @@ declare class Attributes {
|
|
|
17
17
|
predecessorIsNotPeerSharedIdentityAttribute(): CoreError;
|
|
18
18
|
predecessorIsNotOwnSharedRelationshipAttribute(): CoreError;
|
|
19
19
|
predecessorIsNotPeerSharedRelationshipAttribute(): CoreError;
|
|
20
|
+
predecessorIsNotThirdPartyOwnedRelationshipAttribute(): CoreError;
|
|
20
21
|
successorIsNotRepositoryAttribute(): CoreError;
|
|
21
22
|
successorIsNotOwnSharedIdentityAttribute(): CoreError;
|
|
22
23
|
successorIsNotPeerSharedIdentityAttribute(): CoreError;
|
|
23
24
|
successorIsNotOwnSharedRelationshipAttribute(): CoreError;
|
|
24
25
|
successorIsNotPeerSharedRelationshipAttribute(): CoreError;
|
|
26
|
+
successorIsNotThirdPartyOwnedRelationshipAttribute(): CoreError;
|
|
25
27
|
setPredecessorIdDoesNotMatchActualPredecessorId(): CoreError;
|
|
26
28
|
predecessorDoesNotExist(): CoreError;
|
|
27
29
|
successorDoesNotExist(): CoreError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreErrors.d.ts","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElE,cAAM,UAAU;IACL,6BAA6B,CAAC,KAAK,EAAE,GAAG;IAUxC,0BAA0B;IAO1B,wBAAwB;IAIxB,kDAAkD;IAIlD,gDAAgD;IAIhD,8CAA8C;IAO9C,+CAA+C;IAO/C,6CAA6C;IAO7C,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO9D,wBAAwB;IAOxB,8BAA8B,CAAC,OAAO,CAAC,EAAE,MAAM;IAM/C,mCAAmC;IAInC,0CAA0C;IAI1C,2CAA2C;IAI3C,8CAA8C;IAI9C,+CAA+C;IAI/C,iCAAiC;IAIjC,wCAAwC;IAIxC,yCAAyC;IAIzC,4CAA4C;IAI5C,6CAA6C;IAI7C,+CAA+C;IAO/C,uBAAuB;IAIvB,qBAAqB;IAIrB,sCAAsC;IAItC,oCAAoC;IAIpC,4BAA4B;IAO5B,gCAAgC;IAOhC,kCAAkC;IAOlC,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM;IAM5C,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOlE,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAIzD,uCAAuC;IAOvC,2CAA2C;IAO3C,uCAAuC;IAOvC,wCAAwC;IAOxC,yDAAyD;IAOzD,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAIpC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIjD,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIpD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIrD,yCAAyC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOtE,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAMvG;AAED,cAAM,QAAQ;IACH,0CAA0C,CAAC,KAAK,EAAE,GAAG;IAUrD,sCAAsC,CAAC,KAAK,EAAE,GAAG;IAUjD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAI1D,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CA0BvC;IAEF,SAAgB,gBAAgB;sCA3BS,MAAM;kDAIM,MAAM,GAAG,gBAAgB;+CAI5B,MAAM,GAAG,gBAAgB;iDAIvB,gBAAgB;iDAOhB,gBAAgB;MAQA;CACvE;AAED,qBAAa,UAAU;IACnB,OAAc,UAAU,aAAoB;IAC5C,OAAc,QAAQ,WAAkB;CAC3C"}
|
|
1
|
+
{"version":3,"file":"CoreErrors.d.ts","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElE,cAAM,UAAU;IACL,6BAA6B,CAAC,KAAK,EAAE,GAAG;IAUxC,0BAA0B;IAO1B,wBAAwB;IAIxB,kDAAkD;IAIlD,gDAAgD;IAIhD,8CAA8C;IAO9C,+CAA+C;IAO/C,6CAA6C;IAO7C,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAO9D,wBAAwB;IAOxB,8BAA8B,CAAC,OAAO,CAAC,EAAE,MAAM;IAM/C,mCAAmC;IAInC,0CAA0C;IAI1C,2CAA2C;IAI3C,8CAA8C;IAI9C,+CAA+C;IAI/C,oDAAoD;IAIpD,iCAAiC;IAIjC,wCAAwC;IAIxC,yCAAyC;IAIzC,4CAA4C;IAI5C,6CAA6C;IAI7C,kDAAkD;IAIlD,+CAA+C;IAO/C,uBAAuB;IAIvB,qBAAqB;IAIrB,sCAAsC;IAItC,oCAAoC;IAIpC,4BAA4B;IAO5B,gCAAgC;IAOhC,kCAAkC;IAOlC,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM;IAM5C,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOlE,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAIzD,uCAAuC;IAOvC,2CAA2C;IAO3C,uCAAuC;IAOvC,wCAAwC;IAOxC,yDAAyD;IAOzD,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAIpC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIjD,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIpD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIrD,yCAAyC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAOtE,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAMvG;AAED,cAAM,QAAQ;IACH,0CAA0C,CAAC,KAAK,EAAE,GAAG;IAUrD,sCAAsC,CAAC,KAAK,EAAE,GAAG;IAUjD,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAI1D,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAIzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CA0BvC;IAEF,SAAgB,gBAAgB;sCA3BS,MAAM;kDAIM,MAAM,GAAG,gBAAgB;+CAI5B,MAAM,GAAG,gBAAgB;iDAIvB,gBAAgB;iDAOhB,gBAAgB;MAQA;CACvE;AAED,qBAAa,UAAU;IACnB,OAAc,UAAU,aAAoB;IAC5C,OAAc,QAAQ,WAAkB;CAC3C"}
|
|
@@ -55,6 +55,9 @@ class Attributes {
|
|
|
55
55
|
predecessorIsNotPeerSharedRelationshipAttribute() {
|
|
56
56
|
return new transport_1.CoreError("error.consumption.attributes.predecessorIsNotPeerSharedRelationshipAttribute", "Predecessor is not a peer shared relationship attribute.");
|
|
57
57
|
}
|
|
58
|
+
predecessorIsNotThirdPartyOwnedRelationshipAttribute() {
|
|
59
|
+
return new transport_1.CoreError("error.consumption.attributes.predecessorIsNotThirdPartyOwnedRelationshipAttribute", "Predecessor is not a third party owned relationship attribute.");
|
|
60
|
+
}
|
|
58
61
|
successorIsNotRepositoryAttribute() {
|
|
59
62
|
return new transport_1.CoreError("error.consumption.attributes.successorIsNotRepositoryAttribute", "Successor is not a repository attribute.");
|
|
60
63
|
}
|
|
@@ -70,6 +73,9 @@ class Attributes {
|
|
|
70
73
|
successorIsNotPeerSharedRelationshipAttribute() {
|
|
71
74
|
return new transport_1.CoreError("error.consumption.attributes.successorIsNotPeerSharedRelationshipAttribute", "Successor is not a peer shared relationship attribute.");
|
|
72
75
|
}
|
|
76
|
+
successorIsNotThirdPartyOwnedRelationshipAttribute() {
|
|
77
|
+
return new transport_1.CoreError("error.consumption.attributes.successorIsNotThirdPartyOwnedRelationshipAttribute", "Successor is not a third party owned relationship attribute.");
|
|
78
|
+
}
|
|
73
79
|
setPredecessorIdDoesNotMatchActualPredecessorId() {
|
|
74
80
|
return new transport_1.CoreError("error.consumption.attributes.setPredecessorIdDoesNotMatchActualPredecessorId", "The predecessor's id and the explicitly set value for the successor's succeeds field don't match.");
|
|
75
81
|
}
|
|
@@ -113,7 +119,7 @@ class Attributes {
|
|
|
113
119
|
return new transport_1.CoreError("error.consumption.attributes.cannotSetDeletionInfoOfRepositoryAttributes", "RepositoryAttributes can not have a deletionInfo, since they are not shared with a peer and you can delete them directly.");
|
|
114
120
|
}
|
|
115
121
|
invalidDeletionInfoOfOwnSharedAttribute() {
|
|
116
|
-
return new transport_1.CoreError("error.consumption.attributes.invalidDeletionInfoOfOwnSharedAttribute", "The only valid deletionStatuses for own shared Attributes are 'DeletedByPeer' or 'ToBeDeletedByPeer'.");
|
|
122
|
+
return new transport_1.CoreError("error.consumption.attributes.invalidDeletionInfoOfOwnSharedAttribute", "The only valid deletionStatuses for own shared Attributes are 'DeletionRequestSent', 'DeletionRequestRejected', 'DeletedByPeer' or 'ToBeDeletedByPeer'.");
|
|
117
123
|
}
|
|
118
124
|
invalidDeletionInfoOfPeerSharedAttribute() {
|
|
119
125
|
return new transport_1.CoreError("error.consumption.attributes.invalidDeletionInfoOfPeerSharedAttribute", "The only valid deletionStatuses for peer shared Attributes are 'DeletedByOwner' or 'ToBeDeleted'.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreErrors.js","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CoreErrors.js","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,10 @@ export declare class AttributesController extends ConsumptionBaseController {
|
|
|
54
54
|
predecessor: LocalAttribute;
|
|
55
55
|
successor: LocalAttribute;
|
|
56
56
|
}>;
|
|
57
|
+
succeedThirdPartyOwnedRelationshipAttribute(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON, validate?: boolean): Promise<{
|
|
58
|
+
predecessor: LocalAttribute;
|
|
59
|
+
successor: LocalAttribute;
|
|
60
|
+
}>;
|
|
57
61
|
private succeedChildrenOfComplexAttribute;
|
|
58
62
|
private getChildAttributesByValueType;
|
|
59
63
|
private _succeedAttributeUnsafe;
|
|
@@ -62,6 +66,7 @@ export declare class AttributesController extends ConsumptionBaseController {
|
|
|
62
66
|
validateOwnSharedRelationshipAttributeSuccession(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON): Promise<ValidationResult>;
|
|
63
67
|
validatePeerSharedIdentityAttributeSuccession(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON): Promise<ValidationResult>;
|
|
64
68
|
validatePeerSharedRelationshipAttributeSuccession(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON): Promise<ValidationResult>;
|
|
69
|
+
validateThirdPartyOwnedRelationshipAttributeSuccession(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON): Promise<ValidationResult>;
|
|
65
70
|
validateAttributeSuccessionCommon(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON): Promise<ValidationResult>;
|
|
66
71
|
createAttributeUnsafe(attributeData: Omit<ILocalAttribute, "id" | "createdAt"> & {
|
|
67
72
|
id?: ICoreId;
|
|
@@ -79,8 +84,9 @@ export declare class AttributesController extends ConsumptionBaseController {
|
|
|
79
84
|
getVersionsOfAttribute(id: CoreId): Promise<LocalAttribute[]>;
|
|
80
85
|
getPredecessorsOfAttribute(id: CoreId): Promise<LocalAttribute[]>;
|
|
81
86
|
getSuccessorsOfAttribute(id: CoreId): Promise<LocalAttribute[]>;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
87
|
+
isSubsequentInSuccession(predecessor: LocalAttribute, successor: LocalAttribute): Promise<boolean>;
|
|
88
|
+
getSharedVersionsOfAttribute(id: CoreId, peers?: CoreAddress[], onlyLatestVersions?: boolean): Promise<LocalAttribute[]>;
|
|
89
|
+
getSharedPredecessorsOfAttribute(sourceAttribute: LocalAttribute, query?: any): Promise<LocalAttribute[]>;
|
|
90
|
+
getSharedSuccessorsOfAttribute(sourceAttribute: LocalAttribute, query?: any): Promise<LocalAttribute[]>;
|
|
85
91
|
}
|
|
86
92
|
//# sourceMappingURL=AttributesController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributesController.d.ts","sourceRoot":"","sources":["../../../src/modules/attributes/AttributesController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAMH,uBAAuB,EACvB,SAAS,EACT,2BAA2B,EAC3B,qCAAqC,EAIxC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAY,MAAM,EAAE,SAAS,EAAE,OAAO,EAA6D,MAAM,kBAAkB,CAAC;AAGhJ,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAKhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributesController.d.ts","sourceRoot":"","sources":["../../../src/modules/attributes/AttributesController.ts"],"names":[],"mappings":"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"}
|
|
@@ -267,9 +267,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
267
267
|
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
268
268
|
if (validate) {
|
|
269
269
|
const validationResult = await this.validateRepositoryAttributeSuccession(predecessorId, parsedSuccessorParams);
|
|
270
|
-
if (validationResult.isError())
|
|
270
|
+
if (validationResult.isError())
|
|
271
271
|
throw validationResult.error;
|
|
272
|
-
}
|
|
273
272
|
}
|
|
274
273
|
const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
|
|
275
274
|
id: parsedSuccessorParams.id,
|
|
@@ -290,9 +289,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
290
289
|
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
291
290
|
if (validate) {
|
|
292
291
|
const validationResult = await this.validateOwnSharedIdentityAttributeSuccession(predecessorId, parsedSuccessorParams);
|
|
293
|
-
if (validationResult.isError())
|
|
292
|
+
if (validationResult.isError())
|
|
294
293
|
throw validationResult.error;
|
|
295
|
-
}
|
|
296
294
|
}
|
|
297
295
|
const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
|
|
298
296
|
id: parsedSuccessorParams.id,
|
|
@@ -310,9 +308,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
310
308
|
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
311
309
|
if (validate) {
|
|
312
310
|
const validationResult = await this.validateOwnSharedRelationshipAttributeSuccession(predecessorId, parsedSuccessorParams);
|
|
313
|
-
if (validationResult.isError())
|
|
311
|
+
if (validationResult.isError())
|
|
314
312
|
throw validationResult.error;
|
|
315
|
-
}
|
|
316
313
|
}
|
|
317
314
|
const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
|
|
318
315
|
id: parsedSuccessorParams.id,
|
|
@@ -330,9 +327,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
330
327
|
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
331
328
|
if (validate) {
|
|
332
329
|
const validationResult = await this.validatePeerSharedIdentityAttributeSuccession(predecessorId, parsedSuccessorParams);
|
|
333
|
-
if (validationResult.isError())
|
|
330
|
+
if (validationResult.isError())
|
|
334
331
|
throw validationResult.error;
|
|
335
|
-
}
|
|
336
332
|
}
|
|
337
333
|
const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
|
|
338
334
|
id: parsedSuccessorParams.id,
|
|
@@ -350,6 +346,25 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
350
346
|
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
351
347
|
if (validate) {
|
|
352
348
|
const validationResult = await this.validatePeerSharedRelationshipAttributeSuccession(predecessorId, parsedSuccessorParams);
|
|
349
|
+
if (validationResult.isError())
|
|
350
|
+
throw validationResult.error;
|
|
351
|
+
}
|
|
352
|
+
const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
|
|
353
|
+
id: parsedSuccessorParams.id,
|
|
354
|
+
content: parsedSuccessorParams.content,
|
|
355
|
+
succeeds: predecessorId,
|
|
356
|
+
shareInfo: parsedSuccessorParams.shareInfo,
|
|
357
|
+
parentId: parsedSuccessorParams.parentId,
|
|
358
|
+
createdAt: parsedSuccessorParams.createdAt,
|
|
359
|
+
succeededBy: parsedSuccessorParams.succeededBy
|
|
360
|
+
});
|
|
361
|
+
/* No succeeded attribute event fired here. This is done by the notification system. */
|
|
362
|
+
return { predecessor, successor };
|
|
363
|
+
}
|
|
364
|
+
async succeedThirdPartyOwnedRelationshipAttribute(predecessorId, successorParams, validate = true) {
|
|
365
|
+
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
366
|
+
if (validate) {
|
|
367
|
+
const validationResult = await this.validateThirdPartyOwnedRelationshipAttributeSuccession(predecessorId, parsedSuccessorParams);
|
|
353
368
|
if (validationResult.isError()) {
|
|
354
369
|
throw validationResult.error;
|
|
355
370
|
}
|
|
@@ -363,25 +378,24 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
363
378
|
createdAt: parsedSuccessorParams.createdAt,
|
|
364
379
|
succeededBy: parsedSuccessorParams.succeededBy
|
|
365
380
|
});
|
|
366
|
-
|
|
381
|
+
this.eventBus.publish(new events_1.ThirdPartyOwnedRelationshipAttributeSucceededEvent(this.identity.address.toString(), predecessor, successor));
|
|
367
382
|
return { predecessor, successor };
|
|
368
383
|
}
|
|
369
384
|
async succeedChildrenOfComplexAttribute(parentSuccessorId) {
|
|
370
385
|
const parentSuccessor = await this.getLocalAttribute(parentSuccessorId);
|
|
371
|
-
if (
|
|
372
|
-
throw CoreErrors_1.CoreErrors.attributes.invalidParentSuccessor;
|
|
373
|
-
}
|
|
386
|
+
if (!parentSuccessor)
|
|
387
|
+
throw CoreErrors_1.CoreErrors.attributes.invalidParentSuccessor(parentSuccessorId);
|
|
374
388
|
const childAttributeValues = Object.values(parentSuccessor.content.value).filter((elem) => elem instanceof content_1.AbstractAttributeValue);
|
|
375
389
|
for (const childAttributeValue of childAttributeValues) {
|
|
376
390
|
let currentParent = await this.getLocalAttribute(parentSuccessorId);
|
|
377
391
|
let child;
|
|
378
|
-
while (
|
|
392
|
+
while (!child && currentParent?.succeeds) {
|
|
379
393
|
const currentPredecessor = (await this.getLocalAttribute(currentParent.succeeds));
|
|
380
394
|
currentParent = currentPredecessor;
|
|
381
395
|
child = await this.getChildAttributesByValueType(currentParent.id, childAttributeValue.constructor);
|
|
382
396
|
}
|
|
383
397
|
const childPredecessorId = child?.id;
|
|
384
|
-
if (
|
|
398
|
+
if (childPredecessorId) {
|
|
385
399
|
await this._succeedAttributeUnsafe(childPredecessorId, {
|
|
386
400
|
content: content_1.IdentityAttribute.from({
|
|
387
401
|
value: childAttributeValue.toJSON(),
|
|
@@ -413,9 +427,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
413
427
|
}
|
|
414
428
|
async _succeedAttributeUnsafe(predecessorId, successorParams) {
|
|
415
429
|
const predecessor = await this.getLocalAttribute(predecessorId);
|
|
416
|
-
if (
|
|
417
|
-
throw CoreErrors_1.CoreErrors.attributes.predecessorDoesNotExist;
|
|
418
|
-
}
|
|
430
|
+
if (!predecessor)
|
|
431
|
+
throw CoreErrors_1.CoreErrors.attributes.predecessorDoesNotExist();
|
|
419
432
|
const successor = await this.createAttributeUnsafe({
|
|
420
433
|
id: successorParams.id,
|
|
421
434
|
content: successorParams.content,
|
|
@@ -488,11 +501,11 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
488
501
|
if (!predecessor.shareInfo.peer.equals(successor.shareInfo.peer)) {
|
|
489
502
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successionMustNotChangePeer());
|
|
490
503
|
}
|
|
491
|
-
if (
|
|
504
|
+
if (!successor.shareInfo.sourceAttribute) {
|
|
492
505
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceAttributeIsNotSpecified());
|
|
493
506
|
}
|
|
494
507
|
const successorSource = await this.getLocalAttribute(successor.shareInfo.sourceAttribute);
|
|
495
|
-
if (
|
|
508
|
+
if (!successorSource) {
|
|
496
509
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceAttributeDoesNotExist());
|
|
497
510
|
}
|
|
498
511
|
if (!successorSource.isRepositoryAttribute(this.identity.address)) {
|
|
@@ -502,15 +515,14 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
502
515
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceContentIsNotEqualToCopyContent());
|
|
503
516
|
}
|
|
504
517
|
let predecessorSource = undefined;
|
|
505
|
-
if (
|
|
518
|
+
if (predecessor.shareInfo.sourceAttribute)
|
|
506
519
|
predecessorSource = await this.getLocalAttribute(predecessor.shareInfo.sourceAttribute);
|
|
507
|
-
|
|
508
|
-
if (typeof predecessorSource !== "undefined") {
|
|
520
|
+
if (predecessorSource) {
|
|
509
521
|
if (!predecessorSource.isRepositoryAttribute(this.identity.address)) {
|
|
510
522
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.predecessorSourceAttributeIsNotRepositoryAttribute());
|
|
511
523
|
}
|
|
512
524
|
const successorSourceVersionIds = (await this.getVersionsOfAttribute(successorSource.id)).map((x) => x.id.toString());
|
|
513
|
-
if (
|
|
525
|
+
if (!predecessorSource.succeededBy || !successorSourceVersionIds.some((id) => id === predecessorSource.succeededBy?.toString())) {
|
|
514
526
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceDoesNotSucceedPredecessorSource());
|
|
515
527
|
}
|
|
516
528
|
if (!lodash_1.default.isEqual(predecessorSource.content, predecessor.content)) {
|
|
@@ -621,6 +633,41 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
621
633
|
}
|
|
622
634
|
return common_1.ValidationResult.success();
|
|
623
635
|
}
|
|
636
|
+
async validateThirdPartyOwnedRelationshipAttributeSuccession(predecessorId, successorParams) {
|
|
637
|
+
let parsedSuccessorParams;
|
|
638
|
+
try {
|
|
639
|
+
parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
640
|
+
}
|
|
641
|
+
catch (e) {
|
|
642
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorIsNotAValidAttribute(e));
|
|
643
|
+
}
|
|
644
|
+
const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, parsedSuccessorParams);
|
|
645
|
+
if (commonValidation.isError())
|
|
646
|
+
return commonValidation;
|
|
647
|
+
const predecessor = (await this.getLocalAttribute(predecessorId));
|
|
648
|
+
const successor = LocalAttribute_1.LocalAttribute.from({
|
|
649
|
+
id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
|
|
650
|
+
content: parsedSuccessorParams.content,
|
|
651
|
+
createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
|
|
652
|
+
succeeds: parsedSuccessorParams.succeeds,
|
|
653
|
+
succeededBy: parsedSuccessorParams.succeededBy,
|
|
654
|
+
shareInfo: parsedSuccessorParams.shareInfo,
|
|
655
|
+
parentId: parsedSuccessorParams.parentId
|
|
656
|
+
});
|
|
657
|
+
if (!predecessor.isThirdPartyOwnedRelationshipAttribute(this.identity.address)) {
|
|
658
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.predecessorIsNotThirdPartyOwnedRelationshipAttribute());
|
|
659
|
+
}
|
|
660
|
+
if (!successor.isThirdPartyOwnedRelationshipAttribute(this.identity.address)) {
|
|
661
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorIsNotThirdPartyOwnedRelationshipAttribute());
|
|
662
|
+
}
|
|
663
|
+
if (successor.content.key !== predecessor.content.key) {
|
|
664
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successionMustNotChangeKey());
|
|
665
|
+
}
|
|
666
|
+
if (!predecessor.shareInfo.peer.equals(successor.shareInfo.peer)) {
|
|
667
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successionMustNotChangePeer());
|
|
668
|
+
}
|
|
669
|
+
return common_1.ValidationResult.success();
|
|
670
|
+
}
|
|
624
671
|
async validateAttributeSuccessionCommon(predecessorId, successorParams) {
|
|
625
672
|
let parsedSuccessorParams;
|
|
626
673
|
try {
|
|
@@ -638,29 +685,28 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
638
685
|
shareInfo: parsedSuccessorParams.shareInfo,
|
|
639
686
|
parentId: parsedSuccessorParams.parentId
|
|
640
687
|
});
|
|
641
|
-
if (
|
|
688
|
+
if (parsedSuccessorParams.id) {
|
|
642
689
|
const successor = await this.getLocalAttribute(transport_1.CoreId.from(parsedSuccessorParams.id));
|
|
643
|
-
if (
|
|
690
|
+
if (successor)
|
|
644
691
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorMustNotYetExist());
|
|
645
|
-
}
|
|
646
692
|
}
|
|
647
|
-
if (
|
|
693
|
+
if (successor.succeeds && !predecessorId.equals(successor.succeeds.toString())) {
|
|
648
694
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.setPredecessorIdDoesNotMatchActualPredecessorId());
|
|
649
695
|
}
|
|
650
|
-
if (
|
|
696
|
+
if (successor.succeededBy) {
|
|
651
697
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorMustNotHaveASuccessor());
|
|
652
698
|
}
|
|
653
|
-
if (
|
|
699
|
+
if (successor.parentId) {
|
|
654
700
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.cannotSucceedChildOfComplexAttribute(predecessorId.toString()));
|
|
655
701
|
}
|
|
656
702
|
const predecessor = await this.getLocalAttribute(predecessorId);
|
|
657
|
-
if (
|
|
703
|
+
if (!predecessor) {
|
|
658
704
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.predecessorDoesNotExist());
|
|
659
705
|
}
|
|
660
|
-
if (
|
|
706
|
+
if (predecessor.succeededBy) {
|
|
661
707
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.cannotSucceedAttributesWithASuccessor(predecessor.succeededBy.toString()));
|
|
662
708
|
}
|
|
663
|
-
if (
|
|
709
|
+
if (predecessor.parentId) {
|
|
664
710
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.cannotSucceedChildOfComplexAttribute(predecessorId.toString()));
|
|
665
711
|
}
|
|
666
712
|
if (!predecessor.content.owner.equals(transport_1.CoreAddress.from(successor.content.owner))) {
|
|
@@ -717,18 +763,17 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
717
763
|
}
|
|
718
764
|
async executeFullAttributeDeletionProcess(attribute) {
|
|
719
765
|
const validationResult = await this.validateFullAttributeDeletionProcess(attribute);
|
|
720
|
-
if (validationResult.isError())
|
|
766
|
+
if (validationResult.isError())
|
|
721
767
|
throw validationResult.error;
|
|
722
|
-
|
|
723
|
-
if (typeof attribute.succeededBy !== "undefined") {
|
|
768
|
+
if (attribute.succeededBy) {
|
|
724
769
|
const successor = await this.getLocalAttribute(attribute.succeededBy);
|
|
725
|
-
if (
|
|
770
|
+
if (!successor) {
|
|
726
771
|
throw CoreErrors_1.CoreErrors.attributes.successorDoesNotExist();
|
|
727
772
|
}
|
|
728
773
|
await this.detachSuccessor(successor);
|
|
729
774
|
}
|
|
730
775
|
const attributeCopies = await this.getLocalAttributes({ "shareInfo.sourceAttribute": attribute.id.toString() });
|
|
731
|
-
const attributePredecessorCopies = await this.
|
|
776
|
+
const attributePredecessorCopies = await this.getSharedPredecessorsOfAttribute(attribute);
|
|
732
777
|
const attributeCopiesToDetach = [...attributeCopies, ...attributePredecessorCopies];
|
|
733
778
|
await this.detachAttributeCopies(attributeCopiesToDetach);
|
|
734
779
|
await this.deletePredecessorsOfAttribute(attribute.id);
|
|
@@ -740,15 +785,15 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
740
785
|
return validateSuccessorResult;
|
|
741
786
|
}
|
|
742
787
|
const attributeCopies = await this.getLocalAttributes({ "shareInfo.sourceAttribute": attribute.id.toString() });
|
|
743
|
-
const attributePredecessorCopies = await this.
|
|
788
|
+
const attributePredecessorCopies = await this.getSharedPredecessorsOfAttribute(attribute);
|
|
744
789
|
const attributeCopiesToDetach = [...attributeCopies, ...attributePredecessorCopies];
|
|
745
790
|
const validateSharedAttributesResult = this.validateSharedAttributes(attributeCopiesToDetach);
|
|
746
791
|
return validateSharedAttributesResult;
|
|
747
792
|
}
|
|
748
793
|
async validateSuccessor(predecessor) {
|
|
749
|
-
if (
|
|
794
|
+
if (predecessor.succeededBy) {
|
|
750
795
|
const successor = await this.getLocalAttribute(predecessor.succeededBy);
|
|
751
|
-
if (
|
|
796
|
+
if (!successor) {
|
|
752
797
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorDoesNotExist());
|
|
753
798
|
}
|
|
754
799
|
}
|
|
@@ -783,7 +828,7 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
783
828
|
}
|
|
784
829
|
async getVersionsOfAttribute(id) {
|
|
785
830
|
const attribute = await this.getLocalAttribute(id);
|
|
786
|
-
if (
|
|
831
|
+
if (!attribute) {
|
|
787
832
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
788
833
|
}
|
|
789
834
|
const predecessors = await this.getPredecessorsOfAttribute(id);
|
|
@@ -793,13 +838,13 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
793
838
|
}
|
|
794
839
|
async getPredecessorsOfAttribute(id) {
|
|
795
840
|
let attribute = await this.getLocalAttribute(id);
|
|
796
|
-
if (
|
|
841
|
+
if (!attribute) {
|
|
797
842
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
798
843
|
}
|
|
799
844
|
const predecessors = [];
|
|
800
|
-
while (
|
|
845
|
+
while (attribute.succeeds) {
|
|
801
846
|
const predecessor = await this.getLocalAttribute(attribute.succeeds);
|
|
802
|
-
if (
|
|
847
|
+
if (!predecessor) {
|
|
803
848
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, attribute.succeeds.toString());
|
|
804
849
|
}
|
|
805
850
|
attribute = predecessor;
|
|
@@ -809,13 +854,13 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
809
854
|
}
|
|
810
855
|
async getSuccessorsOfAttribute(id) {
|
|
811
856
|
let attribute = await this.getLocalAttribute(id);
|
|
812
|
-
if (
|
|
857
|
+
if (!attribute) {
|
|
813
858
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
814
859
|
}
|
|
815
860
|
const successors = [];
|
|
816
|
-
while (
|
|
861
|
+
while (attribute.succeededBy) {
|
|
817
862
|
const successor = await this.getLocalAttribute(attribute.succeededBy);
|
|
818
|
-
if (
|
|
863
|
+
if (!successor) {
|
|
819
864
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, attribute.succeededBy.toString());
|
|
820
865
|
}
|
|
821
866
|
attribute = successor;
|
|
@@ -823,54 +868,57 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
823
868
|
}
|
|
824
869
|
return successors;
|
|
825
870
|
}
|
|
826
|
-
async
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
871
|
+
async isSubsequentInSuccession(predecessor, successor) {
|
|
872
|
+
while (predecessor.succeededBy) {
|
|
873
|
+
const directSuccessor = await this.getLocalAttribute(predecessor.succeededBy);
|
|
874
|
+
if (!directSuccessor)
|
|
875
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, predecessor.succeededBy.toString());
|
|
876
|
+
if (predecessor.succeededBy.toString() === successor.id.toString())
|
|
877
|
+
return true;
|
|
878
|
+
predecessor = directSuccessor;
|
|
830
879
|
}
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
const
|
|
835
|
-
if (
|
|
880
|
+
return false;
|
|
881
|
+
}
|
|
882
|
+
async getSharedVersionsOfAttribute(id, peers, onlyLatestVersions = true) {
|
|
883
|
+
const sourceAttribute = await this.getLocalAttribute(id);
|
|
884
|
+
if (!sourceAttribute)
|
|
885
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
886
|
+
const query = { "shareInfo.sourceAttribute": sourceAttribute.id.toString() };
|
|
887
|
+
if (peers)
|
|
836
888
|
query["shareInfo.peer"] = { $in: peers.map((address) => address.toString()) };
|
|
837
|
-
|
|
838
|
-
if (onlyLatestVersions) {
|
|
889
|
+
if (onlyLatestVersions)
|
|
839
890
|
query["succeededBy"] = { $exists: false };
|
|
840
|
-
|
|
841
|
-
const
|
|
842
|
-
const
|
|
843
|
-
const
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
repositoryAttribute = predecessor;
|
|
855
|
-
query["shareInfo.sourceAttribute"] = repositoryAttribute.id.toString();
|
|
891
|
+
const ownSharedAttributes = await this.getLocalAttributes(query);
|
|
892
|
+
const ownSharedAttributePredecessors = await this.getSharedPredecessorsOfAttribute(sourceAttribute, query);
|
|
893
|
+
const ownSharedAttributeSuccessors = await this.getSharedSuccessorsOfAttribute(sourceAttribute, query);
|
|
894
|
+
const ownSharedAttributeVersions = [...ownSharedAttributeSuccessors.reverse(), ...ownSharedAttributes, ...ownSharedAttributePredecessors];
|
|
895
|
+
return ownSharedAttributeVersions;
|
|
896
|
+
}
|
|
897
|
+
async getSharedPredecessorsOfAttribute(sourceAttribute, query = {}) {
|
|
898
|
+
const ownSharedAttributePredecessors = [];
|
|
899
|
+
while (sourceAttribute.succeeds) {
|
|
900
|
+
const predecessor = await this.getLocalAttribute(sourceAttribute.succeeds);
|
|
901
|
+
if (!predecessor)
|
|
902
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, sourceAttribute.succeeds.toString());
|
|
903
|
+
sourceAttribute = predecessor;
|
|
904
|
+
query["shareInfo.sourceAttribute"] = sourceAttribute.id.toString();
|
|
856
905
|
const sharedCopies = await this.getLocalAttributes(query);
|
|
857
|
-
|
|
858
|
-
}
|
|
859
|
-
return
|
|
860
|
-
}
|
|
861
|
-
async
|
|
862
|
-
const
|
|
863
|
-
while (
|
|
864
|
-
const successor = await this.getLocalAttribute(
|
|
865
|
-
if (
|
|
866
|
-
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute,
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
query["shareInfo.sourceAttribute"] = repositoryAttribute.id.toString();
|
|
906
|
+
ownSharedAttributePredecessors.push(...sharedCopies);
|
|
907
|
+
}
|
|
908
|
+
return ownSharedAttributePredecessors;
|
|
909
|
+
}
|
|
910
|
+
async getSharedSuccessorsOfAttribute(sourceAttribute, query = {}) {
|
|
911
|
+
const ownSharedAttributeSuccessors = [];
|
|
912
|
+
while (sourceAttribute.succeededBy) {
|
|
913
|
+
const successor = await this.getLocalAttribute(sourceAttribute.succeededBy);
|
|
914
|
+
if (!successor)
|
|
915
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, sourceAttribute.succeededBy.toString());
|
|
916
|
+
sourceAttribute = successor;
|
|
917
|
+
query["shareInfo.sourceAttribute"] = sourceAttribute.id.toString();
|
|
870
918
|
const sharedCopies = await this.getLocalAttributes(query);
|
|
871
|
-
|
|
919
|
+
ownSharedAttributeSuccessors.push(...sharedCopies);
|
|
872
920
|
}
|
|
873
|
-
return
|
|
921
|
+
return ownSharedAttributeSuccessors;
|
|
874
922
|
}
|
|
875
923
|
}
|
|
876
924
|
exports.AttributesController = AttributesController;
|