@nmshd/consumption 3.9.7 → 3.10.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/ConsumptionController.d.ts.map +1 -1
- package/dist/consumption/ConsumptionController.js +5 -1
- package/dist/consumption/ConsumptionController.js.map +1 -1
- package/dist/consumption/CoreErrors.d.ts +17 -3
- package/dist/consumption/CoreErrors.d.ts.map +1 -1
- package/dist/consumption/CoreErrors.js +46 -4
- package/dist/consumption/CoreErrors.js.map +1 -1
- package/dist/modules/attributes/AttributesController.d.ts +12 -0
- package/dist/modules/attributes/AttributesController.d.ts.map +1 -1
- package/dist/modules/attributes/AttributesController.js +167 -52
- package/dist/modules/attributes/AttributesController.js.map +1 -1
- package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.d.ts +7 -0
- package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.d.ts.map +1 -0
- package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.js +12 -0
- package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.js.map +1 -0
- package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.d.ts +7 -0
- package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.d.ts.map +1 -0
- package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.js +12 -0
- package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.js.map +1 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeDeletedByPeerEvent.d.ts +7 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeDeletedByPeerEvent.d.ts.map +1 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeDeletedByPeerEvent.js +12 -0
- package/dist/modules/attributes/events/ThirdPartyOwnedRelationshipAttributeDeletedByPeerEvent.js.map +1 -0
- package/dist/modules/attributes/events/index.d.ts +3 -0
- package/dist/modules/attributes/events/index.d.ts.map +1 -1
- package/dist/modules/attributes/events/index.js +3 -0
- package/dist/modules/attributes/events/index.js.map +1 -1
- package/dist/modules/attributes/index.d.ts +1 -0
- package/dist/modules/attributes/index.d.ts.map +1 -1
- package/dist/modules/attributes/index.js +1 -0
- package/dist/modules/attributes/index.js.map +1 -1
- package/dist/modules/attributes/local/LocalAttribute.d.ts +20 -9
- package/dist/modules/attributes/local/LocalAttribute.d.ts.map +1 -1
- package/dist/modules/attributes/local/LocalAttribute.js +48 -13
- package/dist/modules/attributes/local/LocalAttribute.js.map +1 -1
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.d.ts +21 -0
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.d.ts.map +1 -0
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.js +40 -0
- package/dist/modules/attributes/local/LocalAttributeDeletionInfo.js.map +1 -0
- package/dist/modules/notifications/index.d.ts +3 -0
- package/dist/modules/notifications/index.d.ts.map +1 -1
- package/dist/modules/notifications/index.js +3 -0
- package/dist/modules/notifications/index.js.map +1 -1
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.d.ts +14 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.d.ts.map +1 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js +56 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js.map +1 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.d.ts +14 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js +57 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts +14 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.js +57 -0
- package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -0
- package/dist/modules/requests/index.d.ts +2 -0
- package/dist/modules/requests/index.d.ts.map +1 -1
- package/dist/modules/requests/index.js +2 -0
- package/dist/modules/requests/index.js.map +1 -1
- package/dist/modules/requests/itemProcessors/deleteAttribute/AcceptDeleteAttributeRequestItemParameters.d.ts +11 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/AcceptDeleteAttributeRequestItemParameters.d.ts.map +1 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/AcceptDeleteAttributeRequestItemParameters.js +29 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/AcceptDeleteAttributeRequestItemParameters.js.map +1 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.d.ts +13 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.d.ts.map +1 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js +87 -0
- package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js.map +1 -0
- package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js +1 -1
- package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js.map +1 -1
- package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js +1 -1
- package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +1 -1
- package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +1 -1
- package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
- package/lib-web/nmshd.consumption.js +735 -78
- 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 +1 -1
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-04-
|
|
12
|
-
commit: "
|
|
9
|
+
version: "3.10.0",
|
|
10
|
+
build: "73",
|
|
11
|
+
date: "2024-04-22T15:09:27+00:00",
|
|
12
|
+
commit: "af98434e2550967725b8ccbe38a854e88140cb7f",
|
|
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,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsumptionController.d.ts","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConsumptionController.d.ts","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EAGpB,gBAAgB,EAGhB,0BAA0B,EAC1B,2BAA2B,EAC3B,oCAAoC,EAEpC,uBAAuB,EACvB,0BAA0B,EAO1B,sBAAsB,EACtB,+BAA+B,EAE/B,kBAAkB,EAGrB,MAAM,YAAY,CAAC;AAEpB,qBAAa,qBAAqB;aAEV,SAAS,EAAE,SAAS;aACpB,iBAAiB,EAAE,iBAAiB;gBADpC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB;IAGxD,OAAO,CAAC,WAAW,CAAuB;IAC1C,IAAW,UAAU,IAAI,oBAAoB,CAE5C;IAED,OAAO,CAAC,OAAO,CAAmB;IAClC,IAAW,MAAM,IAAI,gBAAgB,CAEpC;IAED,OAAO,CAAC,iBAAiB,CAA6B;IACtD,IAAW,gBAAgB,IAAI,0BAA0B,CAExD;IAED,OAAO,CAAC,iBAAiB,CAA6B;IACtD,IAAW,gBAAgB,IAAI,0BAA0B,CAExD;IAED,OAAO,CAAC,SAAS,CAAqB;IACtC,IAAW,QAAQ,IAAI,kBAAkB,CAExC;IAED,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,IAAW,kBAAkB,IAAI,4BAA4B,CAE5D;IAED,OAAO,CAAC,cAAc,CAA0B;IAChD,IAAW,aAAa,IAAI,uBAAuB,CAElD;IAEY,IAAI,CACb,6BAA6B,+DAAqE,EAClG,kCAAkC,yEAA+E,GAClH,OAAO,CAAC,qBAAqB,CAAC;IA6CjC,OAAO,CAAC,+BAA+B;IAcvC,OAAO,CAAC,oCAAoC;CAQ/C"}
|
|
@@ -51,6 +51,7 @@ class ConsumptionController {
|
|
|
51
51
|
return new Map([
|
|
52
52
|
[content_1.ShareAttributeRequestItem, modules_1.ShareAttributeRequestItemProcessor],
|
|
53
53
|
[content_1.CreateAttributeRequestItem, modules_1.CreateAttributeRequestItemProcessor],
|
|
54
|
+
[content_1.DeleteAttributeRequestItem, modules_1.DeleteAttributeRequestItemProcessor],
|
|
54
55
|
[content_1.ReadAttributeRequestItem, modules_1.ReadAttributeRequestItemProcessor],
|
|
55
56
|
[content_1.ProposeAttributeRequestItem, modules_1.ProposeAttributeRequestItemProcessor],
|
|
56
57
|
[content_1.ConsentRequestItem, modules_1.GenericRequestItemProcessor],
|
|
@@ -61,7 +62,10 @@ class ConsumptionController {
|
|
|
61
62
|
}
|
|
62
63
|
getDefaultNotificationItemProcessors() {
|
|
63
64
|
return new Map([
|
|
64
|
-
[content_1.PeerSharedAttributeSucceededNotificationItem, modules_1.PeerSharedAttributeSucceededNotificationItemProcessor]
|
|
65
|
+
[content_1.PeerSharedAttributeSucceededNotificationItem, modules_1.PeerSharedAttributeSucceededNotificationItemProcessor],
|
|
66
|
+
[content_1.OwnSharedAttributeDeletedByOwnerNotificationItem, modules_1.OwnSharedAttributeDeletedByOwnerNotificationItemProcessor],
|
|
67
|
+
[content_1.PeerSharedAttributeDeletedByPeerNotificationItem, modules_1.PeerSharedAttributeDeletedByPeerNotificationItemProcessor],
|
|
68
|
+
[content_1.ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItem, modules_1.ThirdPartyOwnedRelationshipAttributeDeletedByPeerNotificationItemProcessor]
|
|
65
69
|
]);
|
|
66
70
|
}
|
|
67
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ConsumptionController.js","sourceRoot":"","sources":["../../src/consumption/ConsumptionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApplicationError } from "@js-soft/ts-utils";
|
|
2
|
-
import { CoreError, CoreId } from "@nmshd/transport";
|
|
2
|
+
import { CoreAddress, CoreError, CoreId } from "@nmshd/transport";
|
|
3
3
|
declare class Attributes {
|
|
4
4
|
successorIsNotAValidAttribute(error: any): CoreError;
|
|
5
5
|
successionMustNotChangeKey(): CoreError;
|
|
@@ -7,7 +7,8 @@ declare class Attributes {
|
|
|
7
7
|
predecessorSourceAttributeIsNotRepositoryAttribute(): CoreError;
|
|
8
8
|
successorSourceAttributeIsNotRepositoryAttribute(): CoreError;
|
|
9
9
|
successorSourceDoesNotSucceedPredecessorSource(): CoreError;
|
|
10
|
-
|
|
10
|
+
predecessorSourceContentIsNotEqualToCopyContent(): CoreError;
|
|
11
|
+
successorSourceContentIsNotEqualToCopyContent(): CoreError;
|
|
11
12
|
cannotSucceedChildOfComplexAttribute(parentId: string | CoreId): CoreError;
|
|
12
13
|
successorMustNotYetExist(): CoreError;
|
|
13
14
|
successorMustNotHaveASuccessor(comment?: string): CoreError;
|
|
@@ -23,18 +24,31 @@ declare class Attributes {
|
|
|
23
24
|
successorIsNotPeerSharedRelationshipAttribute(): CoreError;
|
|
24
25
|
setPredecessorIdDoesNotMatchActualPredecessorId(): CoreError;
|
|
25
26
|
predecessorDoesNotExist(): CoreError;
|
|
27
|
+
successorDoesNotExist(): CoreError;
|
|
28
|
+
successorSourceAttributeIsNotSpecified(): CoreError;
|
|
29
|
+
successorSourceAttributeDoesNotExist(): CoreError;
|
|
26
30
|
successionMustNotChangeOwner(): CoreError;
|
|
27
31
|
successionMustNotChangeValueType(): CoreError;
|
|
28
32
|
successionMustNotChangeContentType(): CoreError;
|
|
29
33
|
successionMustNotChangePeer(comment?: string): CoreError;
|
|
30
34
|
cannotSucceedAttributesWithASuccessor(successorId: string | CoreId): CoreError;
|
|
31
35
|
invalidParentSuccessor(parentSuccessorId: string | CoreId): CoreError;
|
|
36
|
+
cannotSucceedAttributesWithDeletionInfo(): CoreError;
|
|
37
|
+
cannotSetDeletionInfoOfRepositoryAttributes(): CoreError;
|
|
38
|
+
invalidDeletionInfoOfOwnSharedAttribute(): CoreError;
|
|
39
|
+
invalidDeletionInfoOfPeerSharedAttribute(): CoreError;
|
|
40
|
+
invalidDeletionInfoOfThirdPartyOwnedRelationshipAttribute(): CoreError;
|
|
32
41
|
invalidPropertyValue(message: string): CoreError;
|
|
42
|
+
isNotSharedAttribute(attributeId: string | CoreId): CoreError;
|
|
43
|
+
isNotOwnSharedAttribute(attributeId: string | CoreId): CoreError;
|
|
44
|
+
isNotPeerSharedAttribute(attributeId: string | CoreId): CoreError;
|
|
45
|
+
isNotThirdPartyOwnedRelationshipAttribute(attributeId: string | CoreId): CoreError;
|
|
46
|
+
senderIsNotPeerOfSharedAttribute(senderId: string | CoreAddress, attributeId: string | CoreId): CoreError;
|
|
33
47
|
}
|
|
34
48
|
declare class Requests {
|
|
35
49
|
unexpectedErrorDuringRequestItemProcessing(error: any): CoreError;
|
|
36
50
|
servalErrorDuringRequestItemProcessing(error: any): CoreError;
|
|
37
|
-
invalidAcceptParameters(): ApplicationError;
|
|
51
|
+
invalidAcceptParameters(message: string): ApplicationError;
|
|
38
52
|
invalidRequestItem(message: string): CoreError;
|
|
39
53
|
private static readonly _decideValidation;
|
|
40
54
|
readonly decideValidation: {
|
|
@@ -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,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
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"}
|
|
@@ -22,8 +22,11 @@ class Attributes {
|
|
|
22
22
|
successorSourceDoesNotSucceedPredecessorSource() {
|
|
23
23
|
return new transport_1.CoreError("error.consumption.attributes.successorSourceDoesNotSucceedPredecessorSource", "Predecessor source attribute is not succeeded by successor source attribute.");
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
return new transport_1.CoreError("error.consumption.attributes.
|
|
25
|
+
predecessorSourceContentIsNotEqualToCopyContent() {
|
|
26
|
+
return new transport_1.CoreError("error.consumption.attributes.predecessorSourceContentIsNotEqualToCopyContent", "Predecessor source attribute content doesn't match predecessor shared attribute copy.");
|
|
27
|
+
}
|
|
28
|
+
successorSourceContentIsNotEqualToCopyContent() {
|
|
29
|
+
return new transport_1.CoreError("error.consumption.attributes.successorSourceContentIsNotEqualToCopyContent", "Successor source attribute content doesn't match successor shared attribute copy.");
|
|
27
30
|
}
|
|
28
31
|
cannotSucceedChildOfComplexAttribute(parentId) {
|
|
29
32
|
return new transport_1.CoreError("error.consumption.attributes.cannotSucceedChildOfComplexAttribute", `The attribute you want to succeed is child attribute of a complex attribute (id: ${parentId}), and cannot be succeeded on its own. Instead, succeed the parent which will implicitly succeed all its children.`);
|
|
@@ -73,6 +76,15 @@ class Attributes {
|
|
|
73
76
|
predecessorDoesNotExist() {
|
|
74
77
|
return new transport_1.CoreError("error.consumption.attributes.predecessorDoesNotExist", "The predecessor does not exist.");
|
|
75
78
|
}
|
|
79
|
+
successorDoesNotExist() {
|
|
80
|
+
return new transport_1.CoreError("error.consumption.attributes.successorDoesNotExist", "The successor does not exist.");
|
|
81
|
+
}
|
|
82
|
+
successorSourceAttributeIsNotSpecified() {
|
|
83
|
+
return new transport_1.CoreError("error.consumption.attributes.successorSourceAttributeIsNotSpecified", "You must specify the source attribute of the successor.");
|
|
84
|
+
}
|
|
85
|
+
successorSourceAttributeDoesNotExist() {
|
|
86
|
+
return new transport_1.CoreError("error.consumption.attributes.successorSourceAttributeDoesNotExist", "The successor source Attribute does not exist.");
|
|
87
|
+
}
|
|
76
88
|
successionMustNotChangeOwner() {
|
|
77
89
|
return new transport_1.CoreError("error.consumption.attributes.successionMustNotChangeOwner", "The successor attribute's owner does not match that of the predecessor. An attribute succession must not change the attribute's owner.");
|
|
78
90
|
}
|
|
@@ -94,9 +106,39 @@ class Attributes {
|
|
|
94
106
|
invalidParentSuccessor(parentSuccessorId) {
|
|
95
107
|
return new transport_1.CoreError("error.consumption.attributes.invalidParentSuccessor", `The complex parent successor (id: ${parentSuccessorId}) does not exist.`);
|
|
96
108
|
}
|
|
109
|
+
cannotSucceedAttributesWithDeletionInfo() {
|
|
110
|
+
return new transport_1.CoreError("error.consumption.attributes.cannotSucceedAttributesWithDeletionInfo", "You cannot succeed attributes with a deletionInfo, since the peer may have already deleted it or marked it for deletion.");
|
|
111
|
+
}
|
|
112
|
+
cannotSetDeletionInfoOfRepositoryAttributes() {
|
|
113
|
+
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
|
+
}
|
|
115
|
+
invalidDeletionInfoOfOwnSharedAttribute() {
|
|
116
|
+
return new transport_1.CoreError("error.consumption.attributes.invalidDeletionInfoOfOwnSharedAttribute", "The only valid deletionStatuses for own shared Attributes are 'DeletedByPeer' or 'ToBeDeletedByPeer'.");
|
|
117
|
+
}
|
|
118
|
+
invalidDeletionInfoOfPeerSharedAttribute() {
|
|
119
|
+
return new transport_1.CoreError("error.consumption.attributes.invalidDeletionInfoOfPeerSharedAttribute", "The only valid deletionStatuses for peer shared Attributes are 'DeletedByOwner' or 'ToBeDeleted'.");
|
|
120
|
+
}
|
|
121
|
+
invalidDeletionInfoOfThirdPartyOwnedRelationshipAttribute() {
|
|
122
|
+
return new transport_1.CoreError("error.consumption.attributes.invalidDeletionInfoOfThirdPartyOwnedRelationshipAttribute", "The only valid deletionStatus for third party owned RelationshipAttributes is 'DeletedByPeer'.");
|
|
123
|
+
}
|
|
97
124
|
invalidPropertyValue(message) {
|
|
98
125
|
return new transport_1.CoreError("error.consumption.attributes.invalidPropertyValue", message);
|
|
99
126
|
}
|
|
127
|
+
isNotSharedAttribute(attributeId) {
|
|
128
|
+
return new transport_1.CoreError("error.consumption.attributes.isNotSharedAttribute", `The attribute (id: ${attributeId}) is not a shared attribute.`);
|
|
129
|
+
}
|
|
130
|
+
isNotOwnSharedAttribute(attributeId) {
|
|
131
|
+
return new transport_1.CoreError("error.consumption.attributes.isNotOwnSharedAttribute", `The attribute (id: ${attributeId}) is not an own shared attribute.`);
|
|
132
|
+
}
|
|
133
|
+
isNotPeerSharedAttribute(attributeId) {
|
|
134
|
+
return new transport_1.CoreError("error.consumption.attributes.isNotPeerSharedAttribute", `The attribute (id: ${attributeId}) is not a peer shared attribute.`);
|
|
135
|
+
}
|
|
136
|
+
isNotThirdPartyOwnedRelationshipAttribute(attributeId) {
|
|
137
|
+
return new transport_1.CoreError("error.consumption.attributes.isNotThirdPartyOwnedRelationshipAttribute", `The attribute (id: ${attributeId}) is not a third party owned RelationshipAttribute.`);
|
|
138
|
+
}
|
|
139
|
+
senderIsNotPeerOfSharedAttribute(senderId, attributeId) {
|
|
140
|
+
return new transport_1.CoreError("error.consumption.attributes.senderIsNotPeerOfSharedAttribute", `The sender (id: ${senderId}) is not the peer you shared the attribute (id: ${attributeId}) with.`);
|
|
141
|
+
}
|
|
100
142
|
}
|
|
101
143
|
class Requests {
|
|
102
144
|
constructor() {
|
|
@@ -108,8 +150,8 @@ class Requests {
|
|
|
108
150
|
servalErrorDuringRequestItemProcessing(error) {
|
|
109
151
|
return new transport_1.CoreError("error.consumption.requests.servalErrorDuringRequestItemProcessing", error instanceof Error ? error.message : `Serval error: '${JSON.stringify(error)}'`, undefined, undefined, error);
|
|
110
152
|
}
|
|
111
|
-
invalidAcceptParameters() {
|
|
112
|
-
return new ts_utils_1.ApplicationError("error.consumption.requests.
|
|
153
|
+
invalidAcceptParameters(message) {
|
|
154
|
+
return new ts_utils_1.ApplicationError("error.consumption.requests.invalidAcceptParameters", message);
|
|
113
155
|
}
|
|
114
156
|
invalidRequestItem(message) {
|
|
115
157
|
return new transport_1.CoreError("error.consumption.requests.invalidRequestItem", message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreErrors.js","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"CoreErrors.js","sourceRoot":"","sources":["../../src/consumption/CoreErrors.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,gDAAkE;AAElE,MAAM,UAAU;IACL,6BAA6B,CAAC,KAAU;QAC3C,OAAO,IAAI,qBAAS,CAChB,4DAA4D,EAC5D,iDAAiD,EACjD,KAAK,EACL,SAAS,EACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;IACN,CAAC;IAEM,0BAA0B;QAC7B,OAAO,IAAI,qBAAS,CAChB,yDAAyD,EACzD,2IAA2I,CAC9I,CAAC;IACN,CAAC;IAEM,wBAAwB;QAC3B,OAAO,IAAI,qBAAS,CAAC,uDAAuD,EAAE,2FAA2F,CAAC,CAAC;IAC/K,CAAC;IAEM,kDAAkD;QACrD,OAAO,IAAI,qBAAS,CAAC,iFAAiF,EAAE,6DAA6D,CAAC,CAAC;IAC3K,CAAC;IAEM,gDAAgD;QACnD,OAAO,IAAI,qBAAS,CAAC,+EAA+E,EAAE,2DAA2D,CAAC,CAAC;IACvK,CAAC;IAEM,8CAA8C;QACjD,OAAO,IAAI,qBAAS,CAChB,6EAA6E,EAC7E,8EAA8E,CACjF,CAAC;IACN,CAAC;IAEM,+CAA+C;QAClD,OAAO,IAAI,qBAAS,CAChB,8EAA8E,EAC9E,uFAAuF,CAC1F,CAAC;IACN,CAAC;IAEM,6CAA6C;QAChD,OAAO,IAAI,qBAAS,CAChB,4EAA4E,EAC5E,mFAAmF,CACtF,CAAC;IACN,CAAC;IAEM,oCAAoC,CAAC,QAAyB;QACjE,OAAO,IAAI,qBAAS,CAChB,mEAAmE,EACnE,oFAAoF,QAAQ,oHAAoH,CACnN,CAAC;IACN,CAAC;IAEM,wBAAwB;QAC3B,OAAO,IAAI,qBAAS,CAChB,uDAAuD,EACvD,uIAAuI,CAC1I,CAAC;IACN,CAAC;IAEM,8BAA8B,CAAC,OAAgB;QAClD,IAAI,YAAY,GAAG,iDAAiD,CAAC;QACrE,IAAI,OAAO;YAAE,YAAY,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3C,OAAO,IAAI,qBAAS,CAAC,6DAA6D,EAAE,YAAY,CAAC,CAAC;IACtG,CAAC;IAEM,mCAAmC;QACtC,OAAO,IAAI,qBAAS,CAAC,kEAAkE,EAAE,4CAA4C,CAAC,CAAC;IAC3I,CAAC;IAEM,0CAA0C;QAC7C,OAAO,IAAI,qBAAS,CAAC,yEAAyE,EAAE,sDAAsD,CAAC,CAAC;IAC5J,CAAC;IAEM,2CAA2C;QAC9C,OAAO,IAAI,qBAAS,CAAC,0EAA0E,EAAE,sDAAsD,CAAC,CAAC;IAC7J,CAAC;IAEM,8CAA8C;QACjD,OAAO,IAAI,qBAAS,CAAC,6EAA6E,EAAE,0DAA0D,CAAC,CAAC;IACpK,CAAC;IAEM,+CAA+C;QAClD,OAAO,IAAI,qBAAS,CAAC,8EAA8E,EAAE,0DAA0D,CAAC,CAAC;IACrK,CAAC;IAEM,iCAAiC;QACpC,OAAO,IAAI,qBAAS,CAAC,gEAAgE,EAAE,0CAA0C,CAAC,CAAC;IACvI,CAAC;IAEM,wCAAwC;QAC3C,OAAO,IAAI,qBAAS,CAAC,uEAAuE,EAAE,oDAAoD,CAAC,CAAC;IACxJ,CAAC;IAEM,yCAAyC;QAC5C,OAAO,IAAI,qBAAS,CAAC,wEAAwE,EAAE,oDAAoD,CAAC,CAAC;IACzJ,CAAC;IAEM,4CAA4C;QAC/C,OAAO,IAAI,qBAAS,CAAC,2EAA2E,EAAE,wDAAwD,CAAC,CAAC;IAChK,CAAC;IAEM,6CAA6C;QAChD,OAAO,IAAI,qBAAS,CAAC,4EAA4E,EAAE,wDAAwD,CAAC,CAAC;IACjK,CAAC;IAEM,+CAA+C;QAClD,OAAO,IAAI,qBAAS,CAChB,8EAA8E,EAC9E,mGAAmG,CACtG,CAAC;IACN,CAAC;IAEM,uBAAuB;QAC1B,OAAO,IAAI,qBAAS,CAAC,sDAAsD,EAAE,iCAAiC,CAAC,CAAC;IACpH,CAAC;IAEM,qBAAqB;QACxB,OAAO,IAAI,qBAAS,CAAC,oDAAoD,EAAE,+BAA+B,CAAC,CAAC;IAChH,CAAC;IAEM,sCAAsC;QACzC,OAAO,IAAI,qBAAS,CAAC,qEAAqE,EAAE,yDAAyD,CAAC,CAAC;IAC3J,CAAC;IAEM,oCAAoC;QACvC,OAAO,IAAI,qBAAS,CAAC,mEAAmE,EAAE,gDAAgD,CAAC,CAAC;IAChJ,CAAC;IAEM,4BAA4B;QAC/B,OAAO,IAAI,qBAAS,CAChB,2DAA2D,EAC3D,wIAAwI,CAC3I,CAAC;IACN,CAAC;IAEM,gCAAgC;QACnC,OAAO,IAAI,qBAAS,CAChB,+DAA+D,EAC/D,kJAAkJ,CACrJ,CAAC;IACN,CAAC;IAEM,kCAAkC;QACrC,OAAO,IAAI,qBAAS,CAChB,iEAAiE,EACjE,4OAA4O,CAC/O,CAAC;IACN,CAAC;IAEM,2BAA2B,CAAC,OAAgB;QAC/C,IAAI,YAAY,GAAG,mDAAmD,CAAC;QACvE,IAAI,OAAO;YAAE,YAAY,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3C,OAAO,IAAI,qBAAS,CAAC,0DAA0D,EAAE,YAAY,CAAC,CAAC;IACnG,CAAC;IAEM,qCAAqC,CAAC,WAA4B;QACrE,OAAO,IAAI,qBAAS,CAChB,oEAAoE,EACpE,0DAA0D,WAAW,oFAAoF,CAC5J,CAAC;IACN,CAAC;IAEM,sBAAsB,CAAC,iBAAkC;QAC5D,OAAO,IAAI,qBAAS,CAAC,qDAAqD,EAAE,qCAAqC,iBAAiB,mBAAmB,CAAC,CAAC;IAC3J,CAAC;IAEM,uCAAuC;QAC1C,OAAO,IAAI,qBAAS,CAChB,sEAAsE,EACtE,0HAA0H,CAC7H,CAAC;IACN,CAAC;IAEM,2CAA2C;QAC9C,OAAO,IAAI,qBAAS,CAChB,0EAA0E,EAC1E,2HAA2H,CAC9H,CAAC;IACN,CAAC;IAEM,uCAAuC;QAC1C,OAAO,IAAI,qBAAS,CAChB,sEAAsE,EACtE,uGAAuG,CAC1G,CAAC;IACN,CAAC;IAEM,wCAAwC;QAC3C,OAAO,IAAI,qBAAS,CAChB,uEAAuE,EACvE,mGAAmG,CACtG,CAAC;IACN,CAAC;IAEM,yDAAyD;QAC5D,OAAO,IAAI,qBAAS,CAChB,wFAAwF,EACxF,gGAAgG,CACnG,CAAC;IACN,CAAC;IAEM,oBAAoB,CAAC,OAAe;QACvC,OAAO,IAAI,qBAAS,CAAC,mDAAmD,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IAEM,oBAAoB,CAAC,WAA4B;QACpD,OAAO,IAAI,qBAAS,CAAC,mDAAmD,EAAE,sBAAsB,WAAW,8BAA8B,CAAC,CAAC;IAC/I,CAAC;IAEM,uBAAuB,CAAC,WAA4B;QACvD,OAAO,IAAI,qBAAS,CAAC,sDAAsD,EAAE,sBAAsB,WAAW,mCAAmC,CAAC,CAAC;IACvJ,CAAC;IAEM,wBAAwB,CAAC,WAA4B;QACxD,OAAO,IAAI,qBAAS,CAAC,uDAAuD,EAAE,sBAAsB,WAAW,mCAAmC,CAAC,CAAC;IACxJ,CAAC;IAEM,yCAAyC,CAAC,WAA4B;QACzE,OAAO,IAAI,qBAAS,CAChB,wEAAwE,EACxE,sBAAsB,WAAW,qDAAqD,CACzF,CAAC;IACN,CAAC;IAEM,gCAAgC,CAAC,QAA8B,EAAE,WAA4B;QAChG,OAAO,IAAI,qBAAS,CAChB,+DAA+D,EAC/D,mBAAmB,QAAQ,mDAAmD,WAAW,SAAS,CACrG,CAAC;IACN,CAAC;CACJ;AAED,MAAM,QAAQ;IAAd;QAyDoB,qBAAgB,GAAG,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACxE,CAAC;IAzDU,0CAA0C,CAAC,KAAU;QACxD,OAAO,IAAI,qBAAS,CAChB,uEAAuE,EACvE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EACpF,SAAS,EACT,SAAS,EACT,KAAK,CACR,CAAC;IACN,CAAC;IAEM,sCAAsC,CAAC,KAAU;QACpD,OAAO,IAAI,qBAAS,CAChB,mEAAmE,EACnE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EACnF,SAAS,EACT,SAAS,EACT,KAAK,CACR,CAAC;IACN,CAAC;IAEM,uBAAuB,CAAC,OAAe;QAC1C,OAAO,IAAI,2BAAgB,CAAC,oDAAoD,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAEM,kBAAkB,CAAC,OAAe;QACrC,OAAO,IAAI,qBAAS,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;aAEuB,sBAAiB,GAAG;QACjC,oBAAoB,CAAC,OAAe;YACvC,OAAO,IAAI,2BAAgB,CAAC,mEAAmE,EAAE,OAAO,CAAC,CAAC;QAC9G,CAAC;QAEM,gCAAgC,CAAC,OAAe;YACnD,OAAO,IAAI,2BAAgB,CAAC,+EAA+E,EAAE,OAAO,CAAC,CAAC;QAC1H,CAAC;QAEM,6BAA6B,CAAC,OAAe;YAChD,OAAO,IAAI,2BAAgB,CAAC,4EAA4E,EAAE,OAAO,CAAC,CAAC;QACvH,CAAC;QAEM,qCAAqC;YACxC,OAAO,IAAI,2BAAgB,CACvB,oFAAoF,EACpF,qDAAqD,CACxD,CAAC;QACN,CAAC;QAEM,qCAAqC;YACxC,OAAO,IAAI,2BAAgB,CACvB,oFAAoF,EACpF,qDAAqD,CACxD,CAAC;QACN,CAAC;KACJ,AA1BwC,CA0BvC;;AAKN,MAAa,UAAU;aACL,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;aAC9B,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;;AAF5C,gCAGC"}
|
|
@@ -33,6 +33,7 @@ export declare class AttributesController extends ConsumptionBaseController {
|
|
|
33
33
|
createSharedLocalAttributeCopy(params: ICreateSharedLocalAttributeCopyParams): Promise<LocalAttribute>;
|
|
34
34
|
createPeerLocalAttribute(params: ICreatePeerLocalAttributeParams): Promise<LocalAttribute>;
|
|
35
35
|
deleteAttribute(attribute: LocalAttribute): Promise<void>;
|
|
36
|
+
private deleteChildAttributesOfComplexAttribute;
|
|
36
37
|
succeedRepositoryAttribute(predecessorId: CoreId, successorParams: IAttributeSuccessorParams | AttributeSuccessorParamsJSON, validate?: boolean): Promise<{
|
|
37
38
|
predecessor: LocalAttribute;
|
|
38
39
|
successor: LocalAttribute;
|
|
@@ -68,7 +69,18 @@ export declare class AttributesController extends ConsumptionBaseController {
|
|
|
68
69
|
}): Promise<LocalAttribute>;
|
|
69
70
|
updateAttributeUnsafe(attributeParams: ILocalAttribute): Promise<LocalAttribute>;
|
|
70
71
|
deleteAttributeUnsafe(id: CoreId): Promise<void>;
|
|
72
|
+
executeFullAttributeDeletionProcess(attribute: LocalAttribute): Promise<void>;
|
|
73
|
+
validateFullAttributeDeletionProcess(attribute: LocalAttribute): Promise<ValidationResult>;
|
|
74
|
+
private validateSuccessor;
|
|
75
|
+
private validateSharedAttributes;
|
|
76
|
+
private detachSuccessor;
|
|
77
|
+
private detachAttributeCopies;
|
|
78
|
+
private deletePredecessorsOfAttribute;
|
|
71
79
|
getVersionsOfAttribute(id: CoreId): Promise<LocalAttribute[]>;
|
|
80
|
+
getPredecessorsOfAttribute(id: CoreId): Promise<LocalAttribute[]>;
|
|
81
|
+
getSuccessorsOfAttribute(id: CoreId): Promise<LocalAttribute[]>;
|
|
72
82
|
getSharedVersionsOfRepositoryAttribute(id: CoreId, peers?: CoreAddress[], onlyLatestVersions?: boolean): Promise<LocalAttribute[]>;
|
|
83
|
+
getSharedPredecessorsOfRepositoryAttribute(repositoryAttribute: LocalAttribute, query?: any): Promise<LocalAttribute[]>;
|
|
84
|
+
getSharedSuccessorsOfRepositoryAttribute(repositoryAttribute: LocalAttribute, query?: any): Promise<LocalAttribute[]>;
|
|
73
85
|
}
|
|
74
86
|
//# 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;AAE7C,OAAO,EAA4B,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACrI,OAAO,EAA8B,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAC7G,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAwC,qCAAqC,EAAE,MAAM,8CAA8C,CAAC;AAC3I,OAAO,EAAE,eAAe,EAAE,cAAc,EAAsB,MAAM,wBAAwB,CAAC;AAI7F,qBAAa,oBAAqB,SAAQ,yBAAyB;IAK3D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL7B,OAAO,CAAC,UAAU,CAAyB;gBAGvC,MAAM,EAAE,qBAAqB,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;IAKjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,UAAU,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO;IAc9C,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,cAAc,GAAG,SAAS;IAarE,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAcvD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IASlE,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,aAAa,UAAQ,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IASjH,OAAO,CAAC,WAAW;IA0BN,uBAAuB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,aAAa,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAItF,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuB5D,iCAAiC,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAY1G,2CAA2C,CAAC,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAWpH,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAWxF,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;YAyBjF,kDAAkD;IAoBnD,8BAA8B,CAAC,MAAM,EAAE,qCAAqC,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBtG,wBAAwB,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB1F,eAAe,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributesController.d.ts","sourceRoot":"","sources":["../../../src/modules/attributes/AttributesController.ts"],"names":[],"mappings":"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"}
|
|
@@ -202,7 +202,7 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
202
202
|
}
|
|
203
203
|
async createLocalAttributesForChildrenOfComplexAttribute(localAttribute) {
|
|
204
204
|
if (!(localAttribute.content instanceof content_1.IdentityAttribute)) {
|
|
205
|
-
throw new ConsumptionError_1.ConsumptionError("Only
|
|
205
|
+
throw new ConsumptionError_1.ConsumptionError("Only IdentityAttributes may have child Attributes.");
|
|
206
206
|
}
|
|
207
207
|
const childAttributeValues = Object.values(localAttribute.content.value).filter((p) => p instanceof content_1.AbstractAttributeValue);
|
|
208
208
|
for (const propertyValue of childAttributeValues) {
|
|
@@ -248,9 +248,21 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
248
248
|
return peerLocalAttribute;
|
|
249
249
|
}
|
|
250
250
|
async deleteAttribute(attribute) {
|
|
251
|
+
if (attribute.content instanceof content_1.IdentityAttribute && attribute.content.value instanceof content_1.AbstractComplexValue) {
|
|
252
|
+
await this.deleteChildAttributesOfComplexAttribute(attribute);
|
|
253
|
+
}
|
|
251
254
|
await this.deleteAttributeUnsafe(attribute.id);
|
|
252
255
|
this.eventBus.publish(new events_1.AttributeDeletedEvent(this.identity.address.toString(), attribute));
|
|
253
256
|
}
|
|
257
|
+
async deleteChildAttributesOfComplexAttribute(complexAttribute) {
|
|
258
|
+
if (!(complexAttribute.content instanceof content_1.IdentityAttribute)) {
|
|
259
|
+
throw new ConsumptionError_1.ConsumptionError("Only IdentityAttributes may have child Attributes.");
|
|
260
|
+
}
|
|
261
|
+
const childAttributes = await this.getLocalAttributes({ parentId: complexAttribute.id.toString() });
|
|
262
|
+
for (const childAttribute of childAttributes) {
|
|
263
|
+
await this.deleteAttribute(childAttribute);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
254
266
|
async succeedRepositoryAttribute(predecessorId, successorParams, validate = true) {
|
|
255
267
|
const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
|
|
256
268
|
if (validate) {
|
|
@@ -476,27 +488,34 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
476
488
|
if (!predecessor.shareInfo.peer.equals(successor.shareInfo.peer)) {
|
|
477
489
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successionMustNotChangePeer());
|
|
478
490
|
}
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
491
|
+
if (typeof successor.shareInfo.sourceAttribute === "undefined") {
|
|
492
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceAttributeIsNotSpecified());
|
|
493
|
+
}
|
|
482
494
|
const successorSource = await this.getLocalAttribute(successor.shareInfo.sourceAttribute);
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
if (typeof predecessorSource === "undefined" || !predecessorSource.isRepositoryAttribute(this.identity.address)) {
|
|
486
|
-
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.predecessorSourceAttributeIsNotRepositoryAttribute());
|
|
495
|
+
if (typeof successorSource === "undefined") {
|
|
496
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceAttributeDoesNotExist());
|
|
487
497
|
}
|
|
488
|
-
if (
|
|
498
|
+
if (!successorSource.isRepositoryAttribute(this.identity.address)) {
|
|
489
499
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceAttributeIsNotRepositoryAttribute());
|
|
490
500
|
}
|
|
491
|
-
if (
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
501
|
+
if (!lodash_1.default.isEqual(successorSource.content, successor.content)) {
|
|
502
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceContentIsNotEqualToCopyContent());
|
|
503
|
+
}
|
|
504
|
+
let predecessorSource = undefined;
|
|
505
|
+
if (typeof predecessor.shareInfo.sourceAttribute !== "undefined") {
|
|
506
|
+
predecessorSource = await this.getLocalAttribute(predecessor.shareInfo.sourceAttribute);
|
|
496
507
|
}
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
508
|
+
if (typeof predecessorSource !== "undefined") {
|
|
509
|
+
if (!predecessorSource.isRepositoryAttribute(this.identity.address)) {
|
|
510
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.predecessorSourceAttributeIsNotRepositoryAttribute());
|
|
511
|
+
}
|
|
512
|
+
const successorSourceVersionIds = (await this.getVersionsOfAttribute(successorSource.id)).map((x) => x.id.toString());
|
|
513
|
+
if (typeof predecessorSource.succeededBy === "undefined" || !successorSourceVersionIds.some((id) => id === predecessorSource.succeededBy?.toString())) {
|
|
514
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorSourceDoesNotSucceedPredecessorSource());
|
|
515
|
+
}
|
|
516
|
+
if (!lodash_1.default.isEqual(predecessorSource.content, predecessor.content)) {
|
|
517
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.predecessorSourceContentIsNotEqualToCopyContent());
|
|
518
|
+
}
|
|
500
519
|
}
|
|
501
520
|
return common_1.ValidationResult.success();
|
|
502
521
|
}
|
|
@@ -653,6 +672,9 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
653
672
|
if (predecessor.content.value.constructor !== successor.content.value.constructor) {
|
|
654
673
|
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successionMustNotChangeValueType());
|
|
655
674
|
}
|
|
675
|
+
if (predecessor.hasDeletionInfo()) {
|
|
676
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.cannotSucceedAttributesWithDeletionInfo());
|
|
677
|
+
}
|
|
656
678
|
return common_1.ValidationResult.success();
|
|
657
679
|
}
|
|
658
680
|
async createAttributeUnsafe(attributeData) {
|
|
@@ -663,7 +685,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
663
685
|
shareInfo: attributeData.shareInfo,
|
|
664
686
|
parentId: attributeData.parentId,
|
|
665
687
|
succeededBy: attributeData.succeededBy,
|
|
666
|
-
succeeds: attributeData.succeeds
|
|
688
|
+
succeeds: attributeData.succeeds,
|
|
689
|
+
deletionInfo: attributeData.deletionInfo
|
|
667
690
|
});
|
|
668
691
|
await this.attributes.create(localAttribute);
|
|
669
692
|
return localAttribute;
|
|
@@ -682,7 +705,8 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
682
705
|
parentId: attributeParams.parentId,
|
|
683
706
|
shareInfo: attributeParams.shareInfo,
|
|
684
707
|
succeededBy: attributeParams.succeededBy,
|
|
685
|
-
succeeds: attributeParams.succeeds
|
|
708
|
+
succeeds: attributeParams.succeeds,
|
|
709
|
+
deletionInfo: attributeParams.deletionInfo
|
|
686
710
|
};
|
|
687
711
|
const newAttribute = LocalAttribute_1.LocalAttribute.from(params);
|
|
688
712
|
await this.attributes.update(doc, newAttribute);
|
|
@@ -691,50 +715,122 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
691
715
|
async deleteAttributeUnsafe(id) {
|
|
692
716
|
await this.attributes.delete({ id: id });
|
|
693
717
|
}
|
|
718
|
+
async executeFullAttributeDeletionProcess(attribute) {
|
|
719
|
+
const validationResult = await this.validateFullAttributeDeletionProcess(attribute);
|
|
720
|
+
if (validationResult.isError()) {
|
|
721
|
+
throw validationResult.error;
|
|
722
|
+
}
|
|
723
|
+
if (typeof attribute.succeededBy !== "undefined") {
|
|
724
|
+
const successor = await this.getLocalAttribute(attribute.succeededBy);
|
|
725
|
+
if (typeof successor === "undefined") {
|
|
726
|
+
throw CoreErrors_1.CoreErrors.attributes.successorDoesNotExist();
|
|
727
|
+
}
|
|
728
|
+
await this.detachSuccessor(successor);
|
|
729
|
+
}
|
|
730
|
+
const attributeCopies = await this.getLocalAttributes({ "shareInfo.sourceAttribute": attribute.id.toString() });
|
|
731
|
+
const attributePredecessorCopies = await this.getSharedPredecessorsOfRepositoryAttribute(attribute);
|
|
732
|
+
const attributeCopiesToDetach = [...attributeCopies, ...attributePredecessorCopies];
|
|
733
|
+
await this.detachAttributeCopies(attributeCopiesToDetach);
|
|
734
|
+
await this.deletePredecessorsOfAttribute(attribute.id);
|
|
735
|
+
await this.deleteAttribute(attribute);
|
|
736
|
+
}
|
|
737
|
+
async validateFullAttributeDeletionProcess(attribute) {
|
|
738
|
+
const validateSuccessorResult = await this.validateSuccessor(attribute);
|
|
739
|
+
if (validateSuccessorResult.isError()) {
|
|
740
|
+
return validateSuccessorResult;
|
|
741
|
+
}
|
|
742
|
+
const attributeCopies = await this.getLocalAttributes({ "shareInfo.sourceAttribute": attribute.id.toString() });
|
|
743
|
+
const attributePredecessorCopies = await this.getSharedPredecessorsOfRepositoryAttribute(attribute);
|
|
744
|
+
const attributeCopiesToDetach = [...attributeCopies, ...attributePredecessorCopies];
|
|
745
|
+
const validateSharedAttributesResult = this.validateSharedAttributes(attributeCopiesToDetach);
|
|
746
|
+
return validateSharedAttributesResult;
|
|
747
|
+
}
|
|
748
|
+
async validateSuccessor(predecessor) {
|
|
749
|
+
if (typeof predecessor.succeededBy !== "undefined") {
|
|
750
|
+
const successor = await this.getLocalAttribute(predecessor.succeededBy);
|
|
751
|
+
if (typeof successor === "undefined") {
|
|
752
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorDoesNotExist());
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
return common_1.ValidationResult.success();
|
|
756
|
+
}
|
|
757
|
+
validateSharedAttributes(sharedAttributes) {
|
|
758
|
+
for (const sharedAttribute of sharedAttributes) {
|
|
759
|
+
if (!sharedAttribute.isShared()) {
|
|
760
|
+
return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.isNotSharedAttribute(sharedAttribute.id));
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
return common_1.ValidationResult.success();
|
|
764
|
+
}
|
|
765
|
+
async detachSuccessor(successor) {
|
|
766
|
+
successor.succeeds = undefined;
|
|
767
|
+
await this.updateAttributeUnsafe(successor);
|
|
768
|
+
}
|
|
769
|
+
async detachAttributeCopies(sharedAttributes) {
|
|
770
|
+
for (const sharedAttribute of sharedAttributes) {
|
|
771
|
+
if (!sharedAttribute.isShared()) {
|
|
772
|
+
throw CoreErrors_1.CoreErrors.attributes.isNotSharedAttribute(sharedAttribute.id);
|
|
773
|
+
}
|
|
774
|
+
sharedAttribute.shareInfo.sourceAttribute = undefined;
|
|
775
|
+
await this.updateAttributeUnsafe(sharedAttribute);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
async deletePredecessorsOfAttribute(attributeId) {
|
|
779
|
+
const predecessors = await this.getPredecessorsOfAttribute(attributeId);
|
|
780
|
+
for (const predecessor of predecessors) {
|
|
781
|
+
await this.deleteAttribute(predecessor);
|
|
782
|
+
}
|
|
783
|
+
}
|
|
694
784
|
async getVersionsOfAttribute(id) {
|
|
695
|
-
|
|
785
|
+
const attribute = await this.getLocalAttribute(id);
|
|
696
786
|
if (typeof attribute === "undefined") {
|
|
697
787
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
698
788
|
}
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
789
|
+
const predecessors = await this.getPredecessorsOfAttribute(id);
|
|
790
|
+
const successors = await this.getSuccessorsOfAttribute(id);
|
|
791
|
+
const allAttributeVersions = [...successors.reverse(), attribute, ...predecessors];
|
|
792
|
+
return allAttributeVersions;
|
|
793
|
+
}
|
|
794
|
+
async getPredecessorsOfAttribute(id) {
|
|
795
|
+
let attribute = await this.getLocalAttribute(id);
|
|
796
|
+
if (typeof attribute === "undefined") {
|
|
797
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
707
798
|
}
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
while (attribute.succeeds && j < 1000) {
|
|
799
|
+
const predecessors = [];
|
|
800
|
+
while (typeof attribute.succeeds !== "undefined") {
|
|
711
801
|
const predecessor = await this.getLocalAttribute(attribute.succeeds);
|
|
712
|
-
if (
|
|
802
|
+
if (typeof predecessor === "undefined") {
|
|
713
803
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, attribute.succeeds.toString());
|
|
714
804
|
}
|
|
715
805
|
attribute = predecessor;
|
|
716
|
-
|
|
717
|
-
|
|
806
|
+
predecessors.push(attribute);
|
|
807
|
+
}
|
|
808
|
+
return predecessors;
|
|
809
|
+
}
|
|
810
|
+
async getSuccessorsOfAttribute(id) {
|
|
811
|
+
let attribute = await this.getLocalAttribute(id);
|
|
812
|
+
if (typeof attribute === "undefined") {
|
|
813
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
814
|
+
}
|
|
815
|
+
const successors = [];
|
|
816
|
+
while (typeof attribute.succeededBy !== "undefined") {
|
|
817
|
+
const successor = await this.getLocalAttribute(attribute.succeededBy);
|
|
818
|
+
if (typeof successor === "undefined") {
|
|
819
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, attribute.succeededBy.toString());
|
|
820
|
+
}
|
|
821
|
+
attribute = successor;
|
|
822
|
+
successors.push(successor);
|
|
718
823
|
}
|
|
719
|
-
return
|
|
824
|
+
return successors;
|
|
720
825
|
}
|
|
721
826
|
async getSharedVersionsOfRepositoryAttribute(id, peers, onlyLatestVersions = true) {
|
|
722
|
-
|
|
827
|
+
const repositoryAttribute = await this.getLocalAttribute(id);
|
|
723
828
|
if (typeof repositoryAttribute === "undefined") {
|
|
724
829
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, id.toString());
|
|
725
830
|
}
|
|
726
831
|
if (!repositoryAttribute.isRepositoryAttribute(this.identity.address)) {
|
|
727
832
|
throw CoreErrors_1.CoreErrors.attributes.invalidPropertyValue(`Attribute '${id}' isn't a repository attribute.`);
|
|
728
833
|
}
|
|
729
|
-
let i = 0;
|
|
730
|
-
while (repositoryAttribute.succeededBy && i < 1000) {
|
|
731
|
-
const successor = await this.getLocalAttribute(repositoryAttribute.succeededBy);
|
|
732
|
-
if (!successor) {
|
|
733
|
-
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, repositoryAttribute.succeededBy.toString());
|
|
734
|
-
}
|
|
735
|
-
repositoryAttribute = successor;
|
|
736
|
-
i++;
|
|
737
|
-
}
|
|
738
834
|
const query = { "shareInfo.sourceAttribute": repositoryAttribute.id.toString() };
|
|
739
835
|
if (typeof peers !== "undefined") {
|
|
740
836
|
query["shareInfo.peer"] = { $in: peers.map((address) => address.toString()) };
|
|
@@ -742,20 +838,39 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
|
|
|
742
838
|
if (onlyLatestVersions) {
|
|
743
839
|
query["succeededBy"] = { $exists: false };
|
|
744
840
|
}
|
|
745
|
-
const
|
|
746
|
-
|
|
747
|
-
|
|
841
|
+
const ownSharedIdentityAttributes = await this.getLocalAttributes(query);
|
|
842
|
+
const ownSharedIdentityAttributePredecessors = await this.getSharedPredecessorsOfRepositoryAttribute(repositoryAttribute, query);
|
|
843
|
+
const ownSharedIdentityAttributeSuccessors = await this.getSharedSuccessorsOfRepositoryAttribute(repositoryAttribute, query);
|
|
844
|
+
const ownSharedIdentityAttributeVersions = [...ownSharedIdentityAttributeSuccessors.reverse(), ...ownSharedIdentityAttributes, ...ownSharedIdentityAttributePredecessors];
|
|
845
|
+
return ownSharedIdentityAttributeVersions;
|
|
846
|
+
}
|
|
847
|
+
async getSharedPredecessorsOfRepositoryAttribute(repositoryAttribute, query = {}) {
|
|
848
|
+
const ownSharedIdentityAttributePredecessors = [];
|
|
849
|
+
while (typeof repositoryAttribute.succeeds !== "undefined") {
|
|
748
850
|
const predecessor = await this.getLocalAttribute(repositoryAttribute.succeeds);
|
|
749
|
-
if (
|
|
851
|
+
if (typeof predecessor === "undefined") {
|
|
750
852
|
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, repositoryAttribute.succeeds.toString());
|
|
751
853
|
}
|
|
752
854
|
repositoryAttribute = predecessor;
|
|
753
855
|
query["shareInfo.sourceAttribute"] = repositoryAttribute.id.toString();
|
|
754
856
|
const sharedCopies = await this.getLocalAttributes(query);
|
|
755
|
-
|
|
756
|
-
j++;
|
|
857
|
+
ownSharedIdentityAttributePredecessors.push(...sharedCopies);
|
|
757
858
|
}
|
|
758
|
-
return
|
|
859
|
+
return ownSharedIdentityAttributePredecessors;
|
|
860
|
+
}
|
|
861
|
+
async getSharedSuccessorsOfRepositoryAttribute(repositoryAttribute, query = {}) {
|
|
862
|
+
const ownSharedIdentityAttributeSuccessors = [];
|
|
863
|
+
while (typeof repositoryAttribute.succeededBy !== "undefined") {
|
|
864
|
+
const successor = await this.getLocalAttribute(repositoryAttribute.succeededBy);
|
|
865
|
+
if (typeof successor === "undefined") {
|
|
866
|
+
throw transport_1.CoreErrors.general.recordNotFound(LocalAttribute_1.LocalAttribute, repositoryAttribute.succeededBy.toString());
|
|
867
|
+
}
|
|
868
|
+
repositoryAttribute = successor;
|
|
869
|
+
query["shareInfo.sourceAttribute"] = repositoryAttribute.id.toString();
|
|
870
|
+
const sharedCopies = await this.getLocalAttributes(query);
|
|
871
|
+
ownSharedIdentityAttributeSuccessors.push(...sharedCopies);
|
|
872
|
+
}
|
|
873
|
+
return ownSharedIdentityAttributeSuccessors;
|
|
759
874
|
}
|
|
760
875
|
}
|
|
761
876
|
exports.AttributesController = AttributesController;
|