@nmshd/consumption 3.6.0 → 3.6.2

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.
@@ -0,0 +1,21 @@
1
+ import { Serializable } from "@js-soft/ts-serval";
2
+ import { ICoreDate, ICoreId } from "@nmshd/transport";
3
+ import { ILocalAttribute, LocalAttribute, LocalAttributeJSON } from "./LocalAttribute";
4
+ export type IAttributeSuccessorParams = Omit<ILocalAttribute, "id" | "createdAt"> & {
5
+ id?: ICoreId;
6
+ createdAt?: ICoreDate;
7
+ };
8
+ export type AttributeSuccessorParamsJSON = Omit<LocalAttributeJSON, "id" | "createdAt"> & {
9
+ id?: string;
10
+ createdAt?: string;
11
+ };
12
+ export declare class AttributeSuccessorParams extends Serializable implements IAttributeSuccessorParams {
13
+ id?: LocalAttribute["id"];
14
+ content: LocalAttribute["content"];
15
+ createdAt?: LocalAttribute["createdAt"];
16
+ succeeds: LocalAttribute["succeeds"];
17
+ succeededBy: LocalAttribute["succeededBy"];
18
+ shareInfo: LocalAttribute["shareInfo"];
19
+ parentId: LocalAttribute["parentId"];
20
+ static from(value: IAttributeSuccessorParams | AttributeSuccessorParamsJSON): AttributeSuccessorParams;
21
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AttributeSuccessorParams = void 0;
13
+ const ts_serval_1 = require("@js-soft/ts-serval");
14
+ const content_1 = require("@nmshd/content");
15
+ let AttributeSuccessorParams = class AttributeSuccessorParams extends ts_serval_1.Serializable {
16
+ static from(value) {
17
+ return this.fromAny(value);
18
+ }
19
+ };
20
+ exports.AttributeSuccessorParams = AttributeSuccessorParams;
21
+ __decorate([
22
+ (0, ts_serval_1.validate)({ nullable: true }),
23
+ (0, ts_serval_1.serialize)(),
24
+ __metadata("design:type", Object)
25
+ ], AttributeSuccessorParams.prototype, "id", void 0);
26
+ __decorate([
27
+ (0, ts_serval_1.validate)(),
28
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
29
+ __metadata("design:type", Object)
30
+ ], AttributeSuccessorParams.prototype, "content", void 0);
31
+ __decorate([
32
+ (0, ts_serval_1.validate)({ nullable: true }),
33
+ (0, ts_serval_1.serialize)(),
34
+ __metadata("design:type", Object)
35
+ ], AttributeSuccessorParams.prototype, "createdAt", void 0);
36
+ __decorate([
37
+ (0, ts_serval_1.validate)({ nullable: true }),
38
+ (0, ts_serval_1.serialize)(),
39
+ __metadata("design:type", Object)
40
+ ], AttributeSuccessorParams.prototype, "succeeds", void 0);
41
+ __decorate([
42
+ (0, ts_serval_1.validate)({ nullable: true }),
43
+ (0, ts_serval_1.serialize)(),
44
+ __metadata("design:type", Object)
45
+ ], AttributeSuccessorParams.prototype, "succeededBy", void 0);
46
+ __decorate([
47
+ (0, ts_serval_1.validate)({ nullable: true }),
48
+ (0, ts_serval_1.serialize)(),
49
+ __metadata("design:type", Object)
50
+ ], AttributeSuccessorParams.prototype, "shareInfo", void 0);
51
+ __decorate([
52
+ (0, ts_serval_1.validate)({ nullable: true }),
53
+ (0, ts_serval_1.serialize)(),
54
+ __metadata("design:type", Object)
55
+ ], AttributeSuccessorParams.prototype, "parentId", void 0);
56
+ exports.AttributeSuccessorParams = AttributeSuccessorParams = __decorate([
57
+ (0, ts_serval_1.type)("AttributeSuccessorParams")
58
+ ], AttributeSuccessorParams);
59
+ //# sourceMappingURL=AttributeSuccessorParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeSuccessorParams.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/AttributeSuccessorParams.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA4E;AAC5E,4CAAyE;AAelE,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,wBAAY;IA6B/C,MAAM,CAAC,IAAI,CAAC,KAA+D;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ,CAAA;AAhCY,4DAAwB;AAG1B;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;oDACoB;AAIzB;IAFN,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,2BAAiB,EAAE,+BAAqB,CAAC,EAAE,CAAC;;yDAC7B;AAIlC;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;2DACkC;AAIvC;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;0DAC+B;AAIpC;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;6DACqC;AAI1C;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;2DACiC;AAItC;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;0DAC+B;mCA3BlC,wBAAwB;IADpC,IAAA,gBAAI,EAAC,0BAA0B,CAAC;GACpB,wBAAwB,CAgCpC"}
@@ -78,6 +78,6 @@ export declare class LocalAttribute extends CoreSynchronizable implements ILocal
78
78
  isShared(): this is LocalAttribute & {
79
79
  shareInfo: LocalAttributeShareInfo;
80
80
  };
81
- static from(value: ILocalAttribute): LocalAttribute;
81
+ static from(value: ILocalAttribute | LocalAttributeJSON): LocalAttribute;
82
82
  static fromAttribute(content: IIdentityAttribute | IRelationshipAttribute, succeeds?: ICoreId, shareInfo?: ILocalAttributeShareInfo, id?: CoreId, parentId?: CoreId): Promise<LocalAttribute>;
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalAttribute.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/LocalAttribute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalAttribute.js","sourceRoot":"","sources":["../../../../src/modules/attributes/local/LocalAttribute.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
17
17
  const crypto_1 = __webpack_require__(/*! @nmshd/crypto */ "@nmshd/crypto");
18
18
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
19
19
  exports.buildInformation = {
20
- version: "3.6.0",
21
- build: "114",
22
- date: "2023-11-07T08:28:32+00:00",
23
- commit: "c08ff9c7bd340b25e5289f39c7d4c5bd0d59aef9",
20
+ version: "3.6.2",
21
+ build: "116",
22
+ date: "2023-11-09T16:33:07+00:00",
23
+ commit: "0b2e044d30a6200cf5f7b144ef6e290bbd142c6d",
24
24
  dependencies: {"@js-soft/docdb-querytranslator":"^1.1.1","@nmshd/iql":"^0.0.4","ts-simple-nameof":"^1.3.1"},
25
25
  libraries: {
26
26
  transport: transport_1.buildInformation,
@@ -228,6 +228,9 @@ exports.CoreErrors = void 0;
228
228
  const ts_utils_1 = __webpack_require__(/*! @js-soft/ts-utils */ "./node_modules/@js-soft/ts-utils/dist/index.js");
229
229
  const transport_1 = __webpack_require__(/*! @nmshd/transport */ "@nmshd/transport");
230
230
  class Attributes {
231
+ genericValidationError(error) {
232
+ return new transport_1.CoreError("error.consumption.attributes.genericValidationError", "Validation failed during creation of object.", error, undefined, error instanceof Error ? error : undefined);
233
+ }
231
234
  successionMustNotChangeKey() {
232
235
  return new transport_1.CoreError("error.consumption.attributes.successionMustNotChangeKey", "The predecessor attribute's key does not match that of the successor. The succession of a relationship attribute must not change the key.");
233
236
  }
@@ -648,6 +651,7 @@ const ConsumptionIds_1 = __webpack_require__(/*! ../../consumption/ConsumptionId
648
651
  const CoreErrors_1 = __webpack_require__(/*! ../../consumption/CoreErrors */ "./dist/consumption/CoreErrors.js");
649
652
  const common_1 = __webpack_require__(/*! ../common */ "./dist/modules/common/index.js");
650
653
  const events_1 = __webpack_require__(/*! ./events */ "./dist/modules/attributes/events/index.js");
654
+ const AttributeSuccessorParams_1 = __webpack_require__(/*! ./local/AttributeSuccessorParams */ "./dist/modules/attributes/local/AttributeSuccessorParams.js");
651
655
  const CreateLocalAttributeParams_1 = __webpack_require__(/*! ./local/CreateLocalAttributeParams */ "./dist/modules/attributes/local/CreateLocalAttributeParams.js");
652
656
  const CreateSharedLocalAttributeCopyParams_1 = __webpack_require__(/*! ./local/CreateSharedLocalAttributeCopyParams */ "./dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js");
653
657
  const LocalAttribute_1 = __webpack_require__(/*! ./local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js");
@@ -864,96 +868,101 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
864
868
  this.eventBus.publish(new events_1.AttributeDeletedEvent(this.identity.address.toString(), attribute));
865
869
  }
866
870
  async succeedRepositoryAttribute(predecessorId, successorParams, validate = true) {
871
+ const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
867
872
  if (validate) {
868
- const validationResult = await this.validateRepositoryAttributeSuccession(predecessorId, successorParams);
873
+ const validationResult = await this.validateRepositoryAttributeSuccession(predecessorId, parsedSuccessorParams);
869
874
  if (validationResult.isError()) {
870
875
  throw validationResult.error;
871
876
  }
872
877
  }
873
878
  const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
874
- id: successorParams.id,
875
- content: successorParams.content,
879
+ id: parsedSuccessorParams.id,
880
+ content: parsedSuccessorParams.content,
876
881
  succeeds: predecessorId,
877
- shareInfo: successorParams.shareInfo,
878
- parentId: successorParams.parentId,
879
- createdAt: successorParams.createdAt,
880
- succeededBy: successorParams.succeededBy
882
+ shareInfo: parsedSuccessorParams.shareInfo,
883
+ parentId: parsedSuccessorParams.parentId,
884
+ createdAt: parsedSuccessorParams.createdAt,
885
+ succeededBy: parsedSuccessorParams.succeededBy
881
886
  });
882
887
  this.eventBus.publish(new events_1.RepositoryAttributeSucceededEvent(this.identity.address.toString(), predecessor, successor));
883
888
  return { predecessor, successor };
884
889
  }
885
890
  async succeedOwnSharedIdentityAttribute(predecessorId, successorParams, validate = true) {
891
+ const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
886
892
  if (validate) {
887
- const validationResult = await this.validateOwnSharedIdentityAttributeSuccession(predecessorId, successorParams);
893
+ const validationResult = await this.validateOwnSharedIdentityAttributeSuccession(predecessorId, parsedSuccessorParams);
888
894
  if (validationResult.isError()) {
889
895
  throw validationResult.error;
890
896
  }
891
897
  }
892
898
  const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
893
- id: successorParams.id,
894
- content: successorParams.content,
899
+ id: parsedSuccessorParams.id,
900
+ content: parsedSuccessorParams.content,
895
901
  succeeds: predecessorId,
896
- shareInfo: successorParams.shareInfo,
897
- parentId: successorParams.parentId,
898
- createdAt: successorParams.createdAt,
899
- succeededBy: successorParams.succeededBy
902
+ shareInfo: parsedSuccessorParams.shareInfo,
903
+ parentId: parsedSuccessorParams.parentId,
904
+ createdAt: parsedSuccessorParams.createdAt,
905
+ succeededBy: parsedSuccessorParams.succeededBy
900
906
  });
901
907
  this.eventBus.publish(new events_1.OwnSharedAttributeSucceededEvent(this.identity.address.toString(), predecessor, successor));
902
908
  return { predecessor, successor };
903
909
  }
904
910
  async succeedOwnSharedRelationshipAttribute(predecessorId, successorParams, validate = true) {
911
+ const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
905
912
  if (validate) {
906
- const validationResult = await this.validateOwnSharedRelationshipAttributeSuccession(predecessorId, successorParams);
913
+ const validationResult = await this.validateOwnSharedRelationshipAttributeSuccession(predecessorId, parsedSuccessorParams);
907
914
  if (validationResult.isError()) {
908
915
  throw validationResult.error;
909
916
  }
910
917
  }
911
918
  const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
912
- id: successorParams.id,
913
- content: successorParams.content,
919
+ id: parsedSuccessorParams.id,
920
+ content: parsedSuccessorParams.content,
914
921
  succeeds: predecessorId,
915
- shareInfo: successorParams.shareInfo,
916
- parentId: successorParams.parentId,
917
- createdAt: successorParams.createdAt,
918
- succeededBy: successorParams.succeededBy
922
+ shareInfo: parsedSuccessorParams.shareInfo,
923
+ parentId: parsedSuccessorParams.parentId,
924
+ createdAt: parsedSuccessorParams.createdAt,
925
+ succeededBy: parsedSuccessorParams.succeededBy
919
926
  });
920
927
  this.eventBus.publish(new events_1.OwnSharedAttributeSucceededEvent(this.identity.address.toString(), predecessor, successor));
921
928
  return { predecessor, successor };
922
929
  }
923
930
  async succeedPeerSharedIdentityAttribute(predecessorId, successorParams, validate = true) {
931
+ const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
924
932
  if (validate) {
925
- const validationResult = await this.validatePeerSharedIdentityAttributeSuccession(predecessorId, successorParams);
933
+ const validationResult = await this.validatePeerSharedIdentityAttributeSuccession(predecessorId, parsedSuccessorParams);
926
934
  if (validationResult.isError()) {
927
935
  throw validationResult.error;
928
936
  }
929
937
  }
930
938
  const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
931
- id: successorParams.id,
932
- content: successorParams.content,
939
+ id: parsedSuccessorParams.id,
940
+ content: parsedSuccessorParams.content,
933
941
  succeeds: predecessorId,
934
- shareInfo: successorParams.shareInfo,
935
- parentId: successorParams.parentId,
936
- createdAt: successorParams.createdAt,
937
- succeededBy: successorParams.succeededBy
942
+ shareInfo: parsedSuccessorParams.shareInfo,
943
+ parentId: parsedSuccessorParams.parentId,
944
+ createdAt: parsedSuccessorParams.createdAt,
945
+ succeededBy: parsedSuccessorParams.succeededBy
938
946
  });
939
947
  /* No succeeded attribute event fired here. This is done by the notification system. */
940
948
  return { predecessor, successor };
941
949
  }
942
950
  async succeedPeerSharedRelationshipAttribute(predecessorId, successorParams, validate = true) {
951
+ const parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
943
952
  if (validate) {
944
- const validationResult = await this.validatePeerSharedRelationshipAttributeSuccession(predecessorId, successorParams);
953
+ const validationResult = await this.validatePeerSharedRelationshipAttributeSuccession(predecessorId, parsedSuccessorParams);
945
954
  if (validationResult.isError()) {
946
955
  throw validationResult.error;
947
956
  }
948
957
  }
949
958
  const { predecessor, successor } = await this._succeedAttributeUnsafe(predecessorId, {
950
- id: successorParams.id,
951
- content: successorParams.content,
959
+ id: parsedSuccessorParams.id,
960
+ content: parsedSuccessorParams.content,
952
961
  succeeds: predecessorId,
953
- shareInfo: successorParams.shareInfo,
954
- parentId: successorParams.parentId,
955
- createdAt: successorParams.createdAt,
956
- succeededBy: successorParams.succeededBy
962
+ shareInfo: parsedSuccessorParams.shareInfo,
963
+ parentId: parsedSuccessorParams.parentId,
964
+ createdAt: parsedSuccessorParams.createdAt,
965
+ succeededBy: parsedSuccessorParams.succeededBy
957
966
  });
958
967
  /* No succeeded attribute event fired here. This is done by the notification system. */
959
968
  return { predecessor, successor };
@@ -974,18 +983,25 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
974
983
  return { predecessor, successor };
975
984
  }
976
985
  async validateRepositoryAttributeSuccession(predecessorId, successorParams) {
977
- const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, successorParams);
986
+ let parsedSuccessorParams;
987
+ try {
988
+ parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
989
+ }
990
+ catch (e) {
991
+ return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.genericValidationError(e));
992
+ }
993
+ const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, parsedSuccessorParams);
978
994
  if (commonValidation.isError())
979
995
  return commonValidation;
980
996
  const predecessor = (await this.getLocalAttribute(predecessorId));
981
997
  const successor = LocalAttribute_1.LocalAttribute.from({
982
- id: transport_1.CoreId.from(successorParams.id ?? "dummy"),
983
- content: successorParams.content,
984
- createdAt: successorParams.createdAt ?? transport_1.CoreDate.utc(),
985
- succeeds: successorParams.succeeds,
986
- succeededBy: successorParams.succeededBy,
987
- shareInfo: successorParams.shareInfo,
988
- parentId: successorParams.parentId
998
+ id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
999
+ content: parsedSuccessorParams.content,
1000
+ createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
1001
+ succeeds: parsedSuccessorParams.succeeds,
1002
+ succeededBy: parsedSuccessorParams.succeededBy,
1003
+ shareInfo: parsedSuccessorParams.shareInfo,
1004
+ parentId: parsedSuccessorParams.parentId
989
1005
  });
990
1006
  if (!predecessor.isIdentityAttribute() || predecessor.isShared()) {
991
1007
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.invalidPredecessor("Predecessor is not a valid repository attribute."));
@@ -996,18 +1012,25 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
996
1012
  return common_1.ValidationResult.success();
997
1013
  }
998
1014
  async validateOwnSharedIdentityAttributeSuccession(predecessorId, successorParams) {
999
- const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, successorParams);
1015
+ let parsedSuccessorParams;
1016
+ try {
1017
+ parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
1018
+ }
1019
+ catch (e) {
1020
+ return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.genericValidationError(e));
1021
+ }
1022
+ const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, parsedSuccessorParams);
1000
1023
  if (commonValidation.isError())
1001
1024
  return commonValidation;
1002
1025
  const predecessor = (await this.getLocalAttribute(predecessorId));
1003
1026
  const successor = LocalAttribute_1.LocalAttribute.from({
1004
- id: transport_1.CoreId.from(successorParams.id ?? "dummy"),
1005
- content: successorParams.content,
1006
- createdAt: successorParams.createdAt ?? transport_1.CoreDate.utc(),
1007
- succeeds: successorParams.succeeds,
1008
- succeededBy: successorParams.succeededBy,
1009
- shareInfo: successorParams.shareInfo,
1010
- parentId: successorParams.parentId
1027
+ id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
1028
+ content: parsedSuccessorParams.content,
1029
+ createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
1030
+ succeeds: parsedSuccessorParams.succeeds,
1031
+ succeededBy: parsedSuccessorParams.succeededBy,
1032
+ shareInfo: parsedSuccessorParams.shareInfo,
1033
+ parentId: parsedSuccessorParams.parentId
1011
1034
  });
1012
1035
  if (!predecessor.isOwnSharedIdentityAttribute(this.identity.address)) {
1013
1036
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.invalidPredecessor("Predecessor is not a valid own shared identity attribute."));
@@ -1042,18 +1065,25 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
1042
1065
  return common_1.ValidationResult.success();
1043
1066
  }
1044
1067
  async validateOwnSharedRelationshipAttributeSuccession(predecessorId, successorParams) {
1045
- const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, successorParams);
1068
+ let parsedSuccessorParams;
1069
+ try {
1070
+ parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
1071
+ }
1072
+ catch (e) {
1073
+ return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.genericValidationError(e));
1074
+ }
1075
+ const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, parsedSuccessorParams);
1046
1076
  if (commonValidation.isError())
1047
1077
  return commonValidation;
1048
1078
  const predecessor = (await this.getLocalAttribute(predecessorId));
1049
1079
  const successor = LocalAttribute_1.LocalAttribute.from({
1050
- id: transport_1.CoreId.from(successorParams.id ?? "dummy"),
1051
- content: successorParams.content,
1052
- createdAt: successorParams.createdAt ?? transport_1.CoreDate.utc(),
1053
- succeeds: successorParams.succeeds,
1054
- succeededBy: successorParams.succeededBy,
1055
- shareInfo: successorParams.shareInfo,
1056
- parentId: successorParams.parentId
1080
+ id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
1081
+ content: parsedSuccessorParams.content,
1082
+ createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
1083
+ succeeds: parsedSuccessorParams.succeeds,
1084
+ succeededBy: parsedSuccessorParams.succeededBy,
1085
+ shareInfo: parsedSuccessorParams.shareInfo,
1086
+ parentId: parsedSuccessorParams.parentId
1057
1087
  });
1058
1088
  if (!predecessor.isOwnSharedRelationshipAttribute(this.identity.address)) {
1059
1089
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.invalidPredecessor("Predecessor is not a valid own shared relationship attribute."));
@@ -1070,18 +1100,25 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
1070
1100
  return common_1.ValidationResult.success();
1071
1101
  }
1072
1102
  async validatePeerSharedIdentityAttributeSuccession(predecessorId, successorParams) {
1073
- const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, successorParams);
1103
+ let parsedSuccessorParams;
1104
+ try {
1105
+ parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
1106
+ }
1107
+ catch (e) {
1108
+ return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.genericValidationError(e));
1109
+ }
1110
+ const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, parsedSuccessorParams);
1074
1111
  if (commonValidation.isError())
1075
1112
  return commonValidation;
1076
1113
  const predecessor = (await this.getLocalAttribute(predecessorId));
1077
1114
  const successor = LocalAttribute_1.LocalAttribute.from({
1078
- id: transport_1.CoreId.from(successorParams.id ?? "dummy"),
1079
- content: successorParams.content,
1080
- createdAt: successorParams.createdAt ?? transport_1.CoreDate.utc(),
1081
- succeeds: successorParams.succeeds,
1082
- succeededBy: successorParams.succeededBy,
1083
- shareInfo: successorParams.shareInfo,
1084
- parentId: successorParams.parentId
1115
+ id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
1116
+ content: parsedSuccessorParams.content,
1117
+ createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
1118
+ succeeds: parsedSuccessorParams.succeeds,
1119
+ succeededBy: parsedSuccessorParams.succeededBy,
1120
+ shareInfo: parsedSuccessorParams.shareInfo,
1121
+ parentId: parsedSuccessorParams.parentId
1085
1122
  });
1086
1123
  if (!predecessor.isPeerSharedIdentityAttribute()) {
1087
1124
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.invalidPredecessor("Predecessor is not a valid peer shared identity attribute."));
@@ -1095,18 +1132,25 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
1095
1132
  return common_1.ValidationResult.success();
1096
1133
  }
1097
1134
  async validatePeerSharedRelationshipAttributeSuccession(predecessorId, successorParams) {
1098
- const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, successorParams);
1135
+ let parsedSuccessorParams;
1136
+ try {
1137
+ parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
1138
+ }
1139
+ catch (e) {
1140
+ return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.genericValidationError(e));
1141
+ }
1142
+ const commonValidation = await this.validateAttributeSuccessionCommon(predecessorId, parsedSuccessorParams);
1099
1143
  if (commonValidation.isError())
1100
1144
  return commonValidation;
1101
1145
  const predecessor = (await this.getLocalAttribute(predecessorId));
1102
1146
  const successor = LocalAttribute_1.LocalAttribute.from({
1103
- id: transport_1.CoreId.from(successorParams.id ?? "dummy"),
1104
- content: successorParams.content,
1105
- createdAt: successorParams.createdAt ?? transport_1.CoreDate.utc(),
1106
- succeeds: successorParams.succeeds,
1107
- succeededBy: successorParams.succeededBy,
1108
- shareInfo: successorParams.shareInfo,
1109
- parentId: successorParams.parentId
1147
+ id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
1148
+ content: parsedSuccessorParams.content,
1149
+ createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
1150
+ succeeds: parsedSuccessorParams.succeeds,
1151
+ succeededBy: parsedSuccessorParams.succeededBy,
1152
+ shareInfo: parsedSuccessorParams.shareInfo,
1153
+ parentId: parsedSuccessorParams.parentId
1110
1154
  });
1111
1155
  if (!predecessor.isPeerSharedRelationshipAttribute()) {
1112
1156
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.invalidPredecessor("Predecessor is not a valid peer shared relationship attribute."));
@@ -1123,17 +1167,24 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
1123
1167
  return common_1.ValidationResult.success();
1124
1168
  }
1125
1169
  async validateAttributeSuccessionCommon(predecessorId, successorParams) {
1170
+ let parsedSuccessorParams;
1171
+ try {
1172
+ parsedSuccessorParams = AttributeSuccessorParams_1.AttributeSuccessorParams.from(successorParams);
1173
+ }
1174
+ catch (e) {
1175
+ return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.genericValidationError(e));
1176
+ }
1126
1177
  const successor = LocalAttribute_1.LocalAttribute.from({
1127
- id: transport_1.CoreId.from(successorParams.id ?? "dummy"),
1128
- content: successorParams.content,
1129
- createdAt: successorParams.createdAt ?? transport_1.CoreDate.utc(),
1130
- succeeds: successorParams.succeeds,
1131
- succeededBy: successorParams.succeededBy,
1132
- shareInfo: successorParams.shareInfo,
1133
- parentId: successorParams.parentId
1178
+ id: transport_1.CoreId.from(parsedSuccessorParams.id ?? "dummy"),
1179
+ content: parsedSuccessorParams.content,
1180
+ createdAt: parsedSuccessorParams.createdAt ?? transport_1.CoreDate.utc(),
1181
+ succeeds: parsedSuccessorParams.succeeds,
1182
+ succeededBy: parsedSuccessorParams.succeededBy,
1183
+ shareInfo: parsedSuccessorParams.shareInfo,
1184
+ parentId: parsedSuccessorParams.parentId
1134
1185
  });
1135
- if (typeof successorParams.id !== "undefined") {
1136
- const successor = await this.getLocalAttribute(transport_1.CoreId.from(successorParams.id));
1186
+ if (typeof parsedSuccessorParams.id !== "undefined") {
1187
+ const successor = await this.getLocalAttribute(transport_1.CoreId.from(parsedSuccessorParams.id));
1137
1188
  if (typeof successor !== "undefined") {
1138
1189
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.successorMustNotYetExist());
1139
1190
  }
@@ -1154,7 +1205,7 @@ class AttributesController extends ConsumptionBaseController_1.ConsumptionBaseCo
1154
1205
  if (typeof predecessor.succeededBy !== "undefined") {
1155
1206
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.cannotSucceedAttributesWithASuccessor(predecessor.succeededBy.toString()));
1156
1207
  }
1157
- if (predecessor.parentId) {
1208
+ if (typeof predecessor.parentId !== "undefined") {
1158
1209
  return common_1.ValidationResult.error(CoreErrors_1.CoreErrors.attributes.cannotSucceedPartOfComplexAttribute(predecessorId.toString()));
1159
1210
  }
1160
1211
  if (!predecessor.content.owner.equals(transport_1.CoreAddress.from(successor.content.owner))) {
@@ -1437,16 +1488,85 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
1437
1488
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1438
1489
  __exportStar(__webpack_require__(/*! ./AttributesController */ "./dist/modules/attributes/AttributesController.js"), exports);
1439
1490
  __exportStar(__webpack_require__(/*! ./events */ "./dist/modules/attributes/events/index.js"), exports);
1491
+ __exportStar(__webpack_require__(/*! ./local/AttributeSuccessorParams */ "./dist/modules/attributes/local/AttributeSuccessorParams.js"), exports);
1440
1492
  __exportStar(__webpack_require__(/*! ./local/CreateLocalAttributeParams */ "./dist/modules/attributes/local/CreateLocalAttributeParams.js"), exports);
1441
1493
  __exportStar(__webpack_require__(/*! ./local/CreatePeerLocalAttributeParams */ "./dist/modules/attributes/local/CreatePeerLocalAttributeParams.js"), exports);
1442
1494
  __exportStar(__webpack_require__(/*! ./local/CreateSharedLocalAttributeCopyParams */ "./dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js"), exports);
1443
- __exportStar(__webpack_require__(/*! ./local/IAttributeSuccessorParams */ "./dist/modules/attributes/local/IAttributeSuccessorParams.js"), exports);
1444
1495
  __exportStar(__webpack_require__(/*! ./local/LocalAttribute */ "./dist/modules/attributes/local/LocalAttribute.js"), exports);
1445
1496
  __exportStar(__webpack_require__(/*! ./local/LocalAttributeShareInfo */ "./dist/modules/attributes/local/LocalAttributeShareInfo.js"), exports);
1446
1497
  //# sourceMappingURL=index.js.map
1447
1498
 
1448
1499
  /***/ }),
1449
1500
 
1501
+ /***/ "./dist/modules/attributes/local/AttributeSuccessorParams.js":
1502
+ /*!*******************************************************************!*\
1503
+ !*** ./dist/modules/attributes/local/AttributeSuccessorParams.js ***!
1504
+ \*******************************************************************/
1505
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1506
+
1507
+ "use strict";
1508
+
1509
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1510
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1511
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1512
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1513
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1514
+ };
1515
+ var __metadata = (this && this.__metadata) || function (k, v) {
1516
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1517
+ };
1518
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
1519
+ exports.AttributeSuccessorParams = void 0;
1520
+ const ts_serval_1 = __webpack_require__(/*! @js-soft/ts-serval */ "@js-soft/ts-serval");
1521
+ const content_1 = __webpack_require__(/*! @nmshd/content */ "@nmshd/content");
1522
+ let AttributeSuccessorParams = class AttributeSuccessorParams extends ts_serval_1.Serializable {
1523
+ static from(value) {
1524
+ return this.fromAny(value);
1525
+ }
1526
+ };
1527
+ exports.AttributeSuccessorParams = AttributeSuccessorParams;
1528
+ __decorate([
1529
+ (0, ts_serval_1.validate)({ nullable: true }),
1530
+ (0, ts_serval_1.serialize)(),
1531
+ __metadata("design:type", Object)
1532
+ ], AttributeSuccessorParams.prototype, "id", void 0);
1533
+ __decorate([
1534
+ (0, ts_serval_1.validate)(),
1535
+ (0, ts_serval_1.serialize)({ unionTypes: [content_1.IdentityAttribute, content_1.RelationshipAttribute] }),
1536
+ __metadata("design:type", Object)
1537
+ ], AttributeSuccessorParams.prototype, "content", void 0);
1538
+ __decorate([
1539
+ (0, ts_serval_1.validate)({ nullable: true }),
1540
+ (0, ts_serval_1.serialize)(),
1541
+ __metadata("design:type", Object)
1542
+ ], AttributeSuccessorParams.prototype, "createdAt", void 0);
1543
+ __decorate([
1544
+ (0, ts_serval_1.validate)({ nullable: true }),
1545
+ (0, ts_serval_1.serialize)(),
1546
+ __metadata("design:type", Object)
1547
+ ], AttributeSuccessorParams.prototype, "succeeds", void 0);
1548
+ __decorate([
1549
+ (0, ts_serval_1.validate)({ nullable: true }),
1550
+ (0, ts_serval_1.serialize)(),
1551
+ __metadata("design:type", Object)
1552
+ ], AttributeSuccessorParams.prototype, "succeededBy", void 0);
1553
+ __decorate([
1554
+ (0, ts_serval_1.validate)({ nullable: true }),
1555
+ (0, ts_serval_1.serialize)(),
1556
+ __metadata("design:type", Object)
1557
+ ], AttributeSuccessorParams.prototype, "shareInfo", void 0);
1558
+ __decorate([
1559
+ (0, ts_serval_1.validate)({ nullable: true }),
1560
+ (0, ts_serval_1.serialize)(),
1561
+ __metadata("design:type", Object)
1562
+ ], AttributeSuccessorParams.prototype, "parentId", void 0);
1563
+ exports.AttributeSuccessorParams = AttributeSuccessorParams = __decorate([
1564
+ (0, ts_serval_1.type)("AttributeSuccessorParams")
1565
+ ], AttributeSuccessorParams);
1566
+ //# sourceMappingURL=AttributeSuccessorParams.js.map
1567
+
1568
+ /***/ }),
1569
+
1450
1570
  /***/ "./dist/modules/attributes/local/CreateLocalAttributeParams.js":
1451
1571
  /*!*********************************************************************!*\
1452
1572
  !*** ./dist/modules/attributes/local/CreateLocalAttributeParams.js ***!
@@ -1608,19 +1728,6 @@ __decorate([
1608
1728
 
1609
1729
  /***/ }),
1610
1730
 
1611
- /***/ "./dist/modules/attributes/local/IAttributeSuccessorParams.js":
1612
- /*!********************************************************************!*\
1613
- !*** ./dist/modules/attributes/local/IAttributeSuccessorParams.js ***!
1614
- \********************************************************************/
1615
- /***/ ((__unused_webpack_module, exports) => {
1616
-
1617
- "use strict";
1618
-
1619
- Object.defineProperty(exports, "__esModule", ({ value: true }));
1620
- //# sourceMappingURL=IAttributeSuccessorParams.js.map
1621
-
1622
- /***/ }),
1623
-
1624
1731
  /***/ "./dist/modules/attributes/local/LocalAttribute.js":
1625
1732
  /*!*********************************************************!*\
1626
1733
  !*** ./dist/modules/attributes/local/LocalAttribute.js ***!