@carbonbox/domain 0.10.8 → 0.11.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.
Files changed (112) hide show
  1. package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.js +47 -4
  2. package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodEnd.js +20 -0
  3. package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodStart.js +20 -0
  4. package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionSegmentConfiguration.js +29 -0
  5. package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/CorporateCarbonFootprintSegmentConfiguration.js +10 -12
  6. package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.js +119 -0
  7. package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/domain/value-objects/CorporateCarbonFootprintConfigurationSegmentConfigurations.js +1 -1
  8. package/build/carbonbox/carbon-footprint-configurations/event-configurations/domain/value-objects/EventCarbonFootprintConfigurationEventEditionLifecycleStageConfigurations.js +1 -1
  9. package/build/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/EventEditionLifecycleStageConfiguration.js +10 -12
  10. package/build/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.js +119 -0
  11. package/build/carbonbox/carbon-footprint-configurations/product-configurations/domain/value-objects/ProductCarbonFootprintConfigurationSegmentConfigurations.js +1 -1
  12. package/build/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/ProductCarbonFootprintSegmentConfiguration.js +10 -12
  13. package/build/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.js +119 -0
  14. package/build/carbonbox/shared/domain/authorization/enums/Permission.js +2 -0
  15. package/build/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReference.js +2 -0
  16. package/build/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReferencePrimitives.js +2 -0
  17. package/build/carbonbox/shared/domain/types/EmissionSourceConfiguration.js +2 -0
  18. package/build/carbonbox/shared/domain/types/EmissionSourceConfigurationPrimitives.js +2 -0
  19. package/build/carbonbox/shared/domain/value-objects/CarbonFootprintSegmentConfigurationReference.js +193 -0
  20. package/build/carbonbox/shared/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationReferences.js +76 -185
  21. package/build/carbonbox/shared/domain/value-objects/EmissionSourceConfiguration.js +97 -0
  22. package/build/carbonbox/shared/domain/value-objects/EventEditionLifecycleStageConfigurationReferences.js +99 -252
  23. package/build/carbonbox/shared/domain/value-objects/ProductCarbonFootprintSegmentConfigurationReferences.js +106 -280
  24. package/build/main/index.js +32 -18
  25. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.d.ts +11 -0
  26. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.d.ts.map +1 -1
  27. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/IActivityDataSubmission.d.ts +8 -0
  28. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/IActivityDataSubmission.d.ts.map +1 -1
  29. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionPrimitives.d.ts +4 -0
  30. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionPrimitives.d.ts.map +1 -1
  31. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionProps.d.ts +4 -0
  32. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionProps.d.ts.map +1 -1
  33. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodEnd.d.ts +9 -0
  34. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodEnd.d.ts.map +1 -0
  35. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodStart.d.ts +9 -0
  36. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionPeriodStart.d.ts.map +1 -0
  37. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionSegmentConfiguration.d.ts +11 -0
  38. package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionSegmentConfiguration.d.ts.map +1 -0
  39. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/CorporateCarbonFootprintSegmentConfiguration.d.ts +2 -2
  40. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/CorporateCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
  41. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/ICorporateCarbonFootprintSegmentConfiguration.d.ts +2 -2
  42. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/entity/ICorporateCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
  43. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationPrimitives.d.ts +2 -2
  44. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationPrimitives.d.ts.map +1 -1
  45. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationProps.d.ts +2 -2
  46. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/types/CorporateCarbonFootprintSegmentConfigurationProps.d.ts.map +1 -1
  47. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts +23 -0
  48. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts.map +1 -0
  49. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/EventEditionLifecycleStageConfiguration.d.ts +2 -2
  50. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/EventEditionLifecycleStageConfiguration.d.ts.map +1 -1
  51. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/IEventEditionLifecycleStageConfiguration.d.ts +2 -2
  52. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/entity/IEventEditionLifecycleStageConfiguration.d.ts.map +1 -1
  53. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationPrimitives.d.ts +2 -2
  54. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationPrimitives.d.ts.map +1 -1
  55. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationProps.d.ts +2 -2
  56. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/types/EventEditionLifecycleStageConfigurationProps.d.ts.map +1 -1
  57. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.d.ts +23 -0
  58. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.d.ts.map +1 -0
  59. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/IProductCarbonFootprintSegmentConfiguration.d.ts +2 -2
  60. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/IProductCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
  61. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/ProductCarbonFootprintSegmentConfiguration.d.ts +2 -2
  62. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/entity/ProductCarbonFootprintSegmentConfiguration.d.ts.map +1 -1
  63. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationPrimitives.d.ts +2 -2
  64. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationPrimitives.d.ts.map +1 -1
  65. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationProps.d.ts +2 -2
  66. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/types/ProductCarbonFootprintSegmentConfigurationProps.d.ts.map +1 -1
  67. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts +23 -0
  68. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.d.ts.map +1 -0
  69. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts +2 -0
  70. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts.map +1 -1
  71. package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReference.d.ts +12 -0
  72. package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReference.d.ts.map +1 -0
  73. package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReferencePrimitives.d.ts +12 -0
  74. package/build/types/carbonbox/shared/domain/types/CarbonFootprintSegmentConfigurationReferencePrimitives.d.ts.map +1 -0
  75. package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReference.d.ts +2 -2
  76. package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReference.d.ts.map +1 -1
  77. package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts +2 -2
  78. package/build/types/carbonbox/shared/domain/types/CorporateCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts.map +1 -1
  79. package/build/types/carbonbox/shared/domain/types/EmissionSourceConfiguration.d.ts +6 -0
  80. package/build/types/carbonbox/shared/domain/types/EmissionSourceConfiguration.d.ts.map +1 -0
  81. package/build/types/carbonbox/shared/domain/types/EmissionSourceConfigurationPrimitives.d.ts +6 -0
  82. package/build/types/carbonbox/shared/domain/types/EmissionSourceConfigurationPrimitives.d.ts.map +1 -0
  83. package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReference.d.ts +2 -2
  84. package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReference.d.ts.map +1 -1
  85. package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReferencePrimitives.d.ts +2 -2
  86. package/build/types/carbonbox/shared/domain/types/EventEditionLifecycleStageConfigurationReferencePrimitives.d.ts.map +1 -1
  87. package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReference.d.ts +2 -2
  88. package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReference.d.ts.map +1 -1
  89. package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts +2 -2
  90. package/build/types/carbonbox/shared/domain/types/ProductCarbonFootprintSegmentConfigurationReferencePrimitives.d.ts.map +1 -1
  91. package/build/types/carbonbox/shared/domain/value-objects/CarbonFootprintSegmentConfigurationReference.d.ts +37 -0
  92. package/build/types/carbonbox/shared/domain/value-objects/CarbonFootprintSegmentConfigurationReference.d.ts.map +1 -0
  93. package/build/types/carbonbox/shared/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationReferences.d.ts +8 -142
  94. package/build/types/carbonbox/shared/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationReferences.d.ts.map +1 -1
  95. package/build/types/carbonbox/shared/domain/value-objects/EmissionSourceConfiguration.d.ts +24 -0
  96. package/build/types/carbonbox/shared/domain/value-objects/EmissionSourceConfiguration.d.ts.map +1 -0
  97. package/build/types/carbonbox/shared/domain/value-objects/EventEditionLifecycleStageConfigurationReferences.d.ts +17 -164
  98. package/build/types/carbonbox/shared/domain/value-objects/EventEditionLifecycleStageConfigurationReferences.d.ts.map +1 -1
  99. package/build/types/carbonbox/shared/domain/value-objects/ProductCarbonFootprintSegmentConfigurationReferences.d.ts +20 -176
  100. package/build/types/carbonbox/shared/domain/value-objects/ProductCarbonFootprintSegmentConfigurationReferences.d.ts.map +1 -1
  101. package/build/types/main/index.d.ts +12 -1
  102. package/build/types/main/index.d.ts.map +1 -1
  103. package/package.json +1 -1
  104. package/build/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSources.js +0 -90
  105. package/build/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSources.js +0 -22
  106. package/build/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources.js +0 -22
  107. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSources.d.ts +0 -44
  108. package/build/types/carbonbox/carbon-footprint-configurations/corporate-configurations/corporate-segment-configurations/domain/value-objects/CorporateCarbonFootprintSegmentConfigurationEmissionSources.d.ts.map +0 -1
  109. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSources.d.ts +0 -9
  110. package/build/types/carbonbox/carbon-footprint-configurations/event-configurations/event-edition-lifecycle-stage-configurations/domain/value-objects/EventEditionLifecycleStageConfigurationEmissionSources.d.ts.map +0 -1
  111. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources.d.ts +0 -9
  112. package/build/types/carbonbox/carbon-footprint-configurations/product-configurations/product-segment-configurations/domain/value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources.d.ts.map +0 -1
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EventEditionLifecycleStageConfigurationEmissionSourceConfigurations = void 0;
16
+ const InvalidPropertyTypeError_1 = require("../../../../../shared/domain/exceptions/InvalidPropertyTypeError");
17
+ const InvalidPropertyValueError_1 = require("../../../../../shared/domain/exceptions/InvalidPropertyValueError");
18
+ const EmissionSource_1 = require("../../../../../shared/domain/enums/EmissionSource");
19
+ const ValueObject_1 = require("../../../../../shared/domain/value-objects/ValueObject");
20
+ const String_1 = require("../../../../../shared/domain/value-objects/String");
21
+ class EventEditionLifecycleStageConfigurationEmissionSourceConfigurations extends ValueObject_1.ValueObject {
22
+ constructor(value, skipDomainValidation) {
23
+ super(value, skipDomainValidation, EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.PROPERTY_NAME, 'The provided value must be of type EmissionSourceConfiguration[] from the domain layer', { allowNull: false, allowUndefined: false });
24
+ _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations.set(this, void 0);
25
+ if (skipDomainValidation === false) {
26
+ EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.guardAgainstInvalidConfigurations(value, EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.PROPERTY_NAME);
27
+ }
28
+ __classPrivateFieldSet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, value.map((configuration) => ({
29
+ emissionSource: configuration.emissionSource,
30
+ dynamicFormCode: configuration.dynamicFormCode.trim(),
31
+ })), "f");
32
+ }
33
+ static create(value) {
34
+ return new EventEditionLifecycleStageConfigurationEmissionSourceConfigurations(value, false);
35
+ }
36
+ static fromPrimitives(primitives) {
37
+ return new EventEditionLifecycleStageConfigurationEmissionSourceConfigurations(primitives, true);
38
+ }
39
+ static guardAgainstInvalidConfigurations(value, propertyName) {
40
+ if (!Array.isArray(value)) {
41
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'array', typeof value);
42
+ }
43
+ if (value.length === 0) {
44
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'non-empty array', 'empty array');
45
+ }
46
+ const validEmissionSources = Object.values(EmissionSource_1.EmissionSource);
47
+ const seenEmissionSources = new Set();
48
+ value.forEach((configuration, index) => {
49
+ const elementPath = `${propertyName}[${index}]`;
50
+ if (!configuration || typeof configuration !== 'object') {
51
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(elementPath, 'EmissionSourceConfiguration object', typeof configuration);
52
+ }
53
+ if (typeof configuration.emissionSource !== 'string') {
54
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.emissionSource`, 'EmissionSource enum value', typeof configuration.emissionSource);
55
+ }
56
+ if (!validEmissionSources.includes(configuration.emissionSource)) {
57
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, `valid EmissionSource enum value (${validEmissionSources.join(', ')})`, configuration.emissionSource);
58
+ }
59
+ if (typeof configuration.dynamicFormCode !== 'string') {
60
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.dynamicFormCode`, 'string', typeof configuration.dynamicFormCode);
61
+ }
62
+ String_1.String.guardAgainstEmptyValue(configuration.dynamicFormCode, `${elementPath}.dynamicFormCode`);
63
+ if (seenEmissionSources.has(configuration.emissionSource)) {
64
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, 'unique emissionSource within configurations', `duplicate emissionSource '${configuration.emissionSource}'`);
65
+ }
66
+ seenEmissionSources.add(configuration.emissionSource);
67
+ });
68
+ }
69
+ getConfigurations() {
70
+ return Object.freeze([...__classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f")]);
71
+ }
72
+ getCount() {
73
+ return __classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").length;
74
+ }
75
+ hasMultipleConfigurations() {
76
+ return __classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").length > 1;
77
+ }
78
+ getEmissionSources() {
79
+ return __classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").map((configuration) => configuration.emissionSource);
80
+ }
81
+ hasEmissionSource(emissionSource) {
82
+ return __classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").some((configuration) => configuration.emissionSource === emissionSource);
83
+ }
84
+ getDynamicFormCodeFor(emissionSource) {
85
+ const match = __classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").find((configuration) => configuration.emissionSource === emissionSource);
86
+ return match ? match.dynamicFormCode : null;
87
+ }
88
+ toPrimitives() {
89
+ return __classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").map((configuration) => ({
90
+ emissionSource: configuration.emissionSource,
91
+ dynamicFormCode: configuration.dynamicFormCode,
92
+ }));
93
+ }
94
+ equals(other) {
95
+ if (!(other instanceof EventEditionLifecycleStageConfigurationEmissionSourceConfigurations)) {
96
+ return false;
97
+ }
98
+ if (__classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").length !== __classPrivateFieldGet(other, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").length) {
99
+ return false;
100
+ }
101
+ const thisSorted = [...__classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f")].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
102
+ const otherSorted = [...__classPrivateFieldGet(other, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f")].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
103
+ return thisSorted.every((configuration, index) => (configuration.emissionSource === otherSorted[index].emissionSource
104
+ && configuration.dynamicFormCode === otherSorted[index].dynamicFormCode));
105
+ }
106
+ hashCode() {
107
+ const sortedConfigurations = [...__classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f")]
108
+ .sort((left, right) => left.emissionSource.localeCompare(right.emissionSource))
109
+ .map((configuration) => `${configuration.emissionSource}:${configuration.dynamicFormCode}`)
110
+ .join('|');
111
+ return `eventEditionLifecycleStageEmissionSourceConfigurations_${sortedConfigurations}`;
112
+ }
113
+ toString() {
114
+ return `EventEditionLifecycleStageConfigurationEmissionSourceConfigurations(${__classPrivateFieldGet(this, _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations, "f").length})`;
115
+ }
116
+ }
117
+ exports.EventEditionLifecycleStageConfigurationEmissionSourceConfigurations = EventEditionLifecycleStageConfigurationEmissionSourceConfigurations;
118
+ _EventEditionLifecycleStageConfigurationEmissionSourceConfigurations_configurations = new WeakMap();
119
+ EventEditionLifecycleStageConfigurationEmissionSourceConfigurations.PROPERTY_NAME = 'emissionSourceConfigurations';
@@ -12,7 +12,7 @@ class ProductCarbonFootprintConfigurationSegmentConfigurations extends ProductCa
12
12
  static fromPrimitives(primitives) {
13
13
  const value = primitives.map((primitive) => ({
14
14
  id: primitive.id,
15
- emissionSources: primitive.emissionSources,
15
+ emissionSourceConfigurations: primitive.emissionSourceConfigurations,
16
16
  segment: primitive.segment,
17
17
  subsegment: primitive.subsegment,
18
18
  }));
@@ -10,11 +10,11 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _ProductCarbonFootprintSegmentConfiguration_segment, _ProductCarbonFootprintSegmentConfiguration_subsegment, _ProductCarbonFootprintSegmentConfiguration_emissionSources;
13
+ var _ProductCarbonFootprintSegmentConfiguration_segment, _ProductCarbonFootprintSegmentConfiguration_subsegment, _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ProductCarbonFootprintSegmentConfiguration = void 0;
16
16
  const AggregateRoot_1 = require("../../../../../shared/domain/entities/AggregateRoot");
17
- const ProductCarbonFootprintSegmentConfigurationEmissionSources_1 = require("../value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSources");
17
+ const ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_1 = require("../value-objects/ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations");
18
18
  const ProductCarbonFootprintSegmentConfigurationId_1 = require("../value-objects/ProductCarbonFootprintSegmentConfigurationId");
19
19
  const ProductCarbonFootprintSegmentConfigurationSegment_1 = require("../value-objects/ProductCarbonFootprintSegmentConfigurationSegment");
20
20
  const ProductCarbonFootprintSegmentConfigurationSubsegment_1 = require("../value-objects/ProductCarbonFootprintSegmentConfigurationSubsegment");
@@ -26,18 +26,16 @@ class ProductCarbonFootprintSegmentConfiguration extends AggregateRoot_1.Aggrega
26
26
  super({ id }, skipDomainValidation);
27
27
  _ProductCarbonFootprintSegmentConfiguration_segment.set(this, void 0);
28
28
  _ProductCarbonFootprintSegmentConfiguration_subsegment.set(this, void 0);
29
- _ProductCarbonFootprintSegmentConfiguration_emissionSources.set(this, void 0);
29
+ _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations.set(this, void 0);
30
30
  if (skipDomainValidation === false) {
31
- // Initialize with domain validation
32
31
  __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_segment, ProductCarbonFootprintSegmentConfigurationSegment_1.ProductCarbonFootprintSegmentConfigurationSegment.create(props.segment), "f");
33
32
  __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_subsegment, ProductCarbonFootprintSegmentConfigurationSubsegment_1.ProductCarbonFootprintSegmentConfigurationSubsegment.create(props.subsegment), "f");
34
- __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSources, ProductCarbonFootprintSegmentConfigurationEmissionSources_1.ProductCarbonFootprintSegmentConfigurationEmissionSources.create(props.emissionSources), "f");
33
+ __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations, ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_1.ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.create(props.emissionSourceConfigurations), "f");
35
34
  }
36
35
  else {
37
- // Initialize from primitives (no domain validation)
38
36
  __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_segment, ProductCarbonFootprintSegmentConfigurationSegment_1.ProductCarbonFootprintSegmentConfigurationSegment.fromPrimitives(props.segment), "f");
39
37
  __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_subsegment, ProductCarbonFootprintSegmentConfigurationSubsegment_1.ProductCarbonFootprintSegmentConfigurationSubsegment.fromPrimitives(props.subsegment), "f");
40
- __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSources, ProductCarbonFootprintSegmentConfigurationEmissionSources_1.ProductCarbonFootprintSegmentConfigurationEmissionSources.fromPrimitives(props.emissionSources), "f");
38
+ __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations, ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_1.ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.fromPrimitives(props.emissionSourceConfigurations), "f");
41
39
  }
42
40
  }
43
41
  static create(props) {
@@ -48,7 +46,7 @@ class ProductCarbonFootprintSegmentConfiguration extends AggregateRoot_1.Aggrega
48
46
  id: primitives.id,
49
47
  segment: primitives.segment,
50
48
  subsegment: primitives.subsegment,
51
- emissionSources: primitives.emissionSources,
49
+ emissionSourceConfigurations: primitives.emissionSourceConfigurations,
52
50
  };
53
51
  return new ProductCarbonFootprintSegmentConfiguration(props, true);
54
52
  }
@@ -58,17 +56,17 @@ class ProductCarbonFootprintSegmentConfiguration extends AggregateRoot_1.Aggrega
58
56
  get subsegment() {
59
57
  return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_subsegment, "f");
60
58
  }
61
- get emissionSources() {
62
- return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSources, "f");
59
+ get emissionSourceConfigurations() {
60
+ return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations, "f");
63
61
  }
64
62
  get toPrimitives() {
65
63
  return {
66
64
  id: this.id.toPrimitives(),
67
65
  segment: __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_segment, "f").toPrimitives(),
68
66
  subsegment: __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_subsegment, "f").toPrimitives(),
69
- emissionSources: __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSources, "f").toEnums(),
67
+ emissionSourceConfigurations: __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations, "f").toPrimitives(),
70
68
  };
71
69
  }
72
70
  }
73
71
  exports.ProductCarbonFootprintSegmentConfiguration = ProductCarbonFootprintSegmentConfiguration;
74
- _ProductCarbonFootprintSegmentConfiguration_segment = new WeakMap(), _ProductCarbonFootprintSegmentConfiguration_subsegment = new WeakMap(), _ProductCarbonFootprintSegmentConfiguration_emissionSources = new WeakMap();
72
+ _ProductCarbonFootprintSegmentConfiguration_segment = new WeakMap(), _ProductCarbonFootprintSegmentConfiguration_subsegment = new WeakMap(), _ProductCarbonFootprintSegmentConfiguration_emissionSourceConfigurations = new WeakMap();
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations = void 0;
16
+ const InvalidPropertyTypeError_1 = require("../../../../../shared/domain/exceptions/InvalidPropertyTypeError");
17
+ const InvalidPropertyValueError_1 = require("../../../../../shared/domain/exceptions/InvalidPropertyValueError");
18
+ const EmissionSource_1 = require("../../../../../shared/domain/enums/EmissionSource");
19
+ const ValueObject_1 = require("../../../../../shared/domain/value-objects/ValueObject");
20
+ const String_1 = require("../../../../../shared/domain/value-objects/String");
21
+ class ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations extends ValueObject_1.ValueObject {
22
+ constructor(value, skipDomainValidation) {
23
+ super(value, skipDomainValidation, ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.PROPERTY_NAME, 'The provided value must be of type EmissionSourceConfiguration[] from the domain layer', { allowNull: false, allowUndefined: false });
24
+ _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations.set(this, void 0);
25
+ if (skipDomainValidation === false) {
26
+ ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.guardAgainstInvalidConfigurations(value, ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.PROPERTY_NAME);
27
+ }
28
+ __classPrivateFieldSet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, value.map((configuration) => ({
29
+ emissionSource: configuration.emissionSource,
30
+ dynamicFormCode: configuration.dynamicFormCode.trim(),
31
+ })), "f");
32
+ }
33
+ static create(value) {
34
+ return new ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations(value, false);
35
+ }
36
+ static fromPrimitives(primitives) {
37
+ return new ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations(primitives, true);
38
+ }
39
+ static guardAgainstInvalidConfigurations(value, propertyName) {
40
+ if (!Array.isArray(value)) {
41
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'array', typeof value);
42
+ }
43
+ if (value.length === 0) {
44
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'non-empty array', 'empty array');
45
+ }
46
+ const validEmissionSources = Object.values(EmissionSource_1.EmissionSource);
47
+ const seenEmissionSources = new Set();
48
+ value.forEach((configuration, index) => {
49
+ const elementPath = `${propertyName}[${index}]`;
50
+ if (!configuration || typeof configuration !== 'object') {
51
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(elementPath, 'EmissionSourceConfiguration object', typeof configuration);
52
+ }
53
+ if (typeof configuration.emissionSource !== 'string') {
54
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.emissionSource`, 'EmissionSource enum value', typeof configuration.emissionSource);
55
+ }
56
+ if (!validEmissionSources.includes(configuration.emissionSource)) {
57
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, `valid EmissionSource enum value (${validEmissionSources.join(', ')})`, configuration.emissionSource);
58
+ }
59
+ if (typeof configuration.dynamicFormCode !== 'string') {
60
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.dynamicFormCode`, 'string', typeof configuration.dynamicFormCode);
61
+ }
62
+ String_1.String.guardAgainstEmptyValue(configuration.dynamicFormCode, `${elementPath}.dynamicFormCode`);
63
+ if (seenEmissionSources.has(configuration.emissionSource)) {
64
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, 'unique emissionSource within configurations', `duplicate emissionSource '${configuration.emissionSource}'`);
65
+ }
66
+ seenEmissionSources.add(configuration.emissionSource);
67
+ });
68
+ }
69
+ getConfigurations() {
70
+ return Object.freeze([...__classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f")]);
71
+ }
72
+ getCount() {
73
+ return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").length;
74
+ }
75
+ hasMultipleConfigurations() {
76
+ return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").length > 1;
77
+ }
78
+ getEmissionSources() {
79
+ return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").map((configuration) => configuration.emissionSource);
80
+ }
81
+ hasEmissionSource(emissionSource) {
82
+ return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").some((configuration) => configuration.emissionSource === emissionSource);
83
+ }
84
+ getDynamicFormCodeFor(emissionSource) {
85
+ const match = __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").find((configuration) => configuration.emissionSource === emissionSource);
86
+ return match ? match.dynamicFormCode : null;
87
+ }
88
+ toPrimitives() {
89
+ return __classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").map((configuration) => ({
90
+ emissionSource: configuration.emissionSource,
91
+ dynamicFormCode: configuration.dynamicFormCode,
92
+ }));
93
+ }
94
+ equals(other) {
95
+ if (!(other instanceof ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations)) {
96
+ return false;
97
+ }
98
+ if (__classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").length !== __classPrivateFieldGet(other, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").length) {
99
+ return false;
100
+ }
101
+ const thisSorted = [...__classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f")].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
102
+ const otherSorted = [...__classPrivateFieldGet(other, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f")].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
103
+ return thisSorted.every((configuration, index) => (configuration.emissionSource === otherSorted[index].emissionSource
104
+ && configuration.dynamicFormCode === otherSorted[index].dynamicFormCode));
105
+ }
106
+ hashCode() {
107
+ const sortedConfigurations = [...__classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f")]
108
+ .sort((left, right) => left.emissionSource.localeCompare(right.emissionSource))
109
+ .map((configuration) => `${configuration.emissionSource}:${configuration.dynamicFormCode}`)
110
+ .join('|');
111
+ return `productEmissionSourceConfigurations_${sortedConfigurations}`;
112
+ }
113
+ toString() {
114
+ return `ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations(${__classPrivateFieldGet(this, _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations, "f").length})`;
115
+ }
116
+ }
117
+ exports.ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations = ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations;
118
+ _ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations_configurations = new WeakMap();
119
+ ProductCarbonFootprintSegmentConfigurationEmissionSourceConfigurations.PROPERTY_NAME = 'emissionSourceConfigurations';
@@ -203,6 +203,8 @@ var Permission;
203
203
  Permission["ACTIVITY_DATA_COLLECTION_VIEW_ACTIVITY_DATA_SUBMISSION"] = "ACTIVITY_DATA_COLLECTION_VIEW_ACTIVITY_DATA_SUBMISSION";
204
204
  Permission["ACTIVITY_DATA_COLLECTION_VIEW_ACTIVITY_DATA_SUBMISSION_LIST"] = "ACTIVITY_DATA_COLLECTION_VIEW_ACTIVITY_DATA_SUBMISSION_LIST";
205
205
  Permission["ACTIVITY_DATA_COLLECTION_DELETE_ACTIVITY_DATA_SUBMISSION"] = "ACTIVITY_DATA_COLLECTION_DELETE_ACTIVITY_DATA_SUBMISSION";
206
+ Permission["ACTIVITY_DATA_COLLECTION_BULK_LOAD_ACTIVITY_DATA_SUBMISSION"] = "ACTIVITY_DATA_COLLECTION_BULK_LOAD_ACTIVITY_DATA_SUBMISSION";
207
+ Permission["ACTIVITY_DATA_COLLECTION_VIEW_BULK_IMPORT_JOB"] = "ACTIVITY_DATA_COLLECTION_VIEW_BULK_IMPORT_JOB";
206
208
  Permission["ACTIVITY_DATA_COLLECTION_CREATE_NEW_CONTEXTUAL_LABEL"] = "ACTIVITY_DATA_COLLECTION_CREATE_NEW_CONTEXTUAL_LABEL";
207
209
  Permission["ACTIVITY_DATA_COLLECTION_DELETE_CONTEXTUAL_LABEL"] = "ACTIVITY_DATA_COLLECTION_DELETE_CONTEXTUAL_LABEL";
208
210
  Permission["ACTIVITY_DATA_COLLECTION_UPDATE_CONTEXTUAL_LABEL"] = "ACTIVITY_DATA_COLLECTION_UPDATE_CONTEXTUAL_LABEL";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _CarbonFootprintSegmentConfigurationReference_id, _CarbonFootprintSegmentConfigurationReference_segmentId, _CarbonFootprintSegmentConfigurationReference_subsegmentId, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CarbonFootprintSegmentConfigurationReference = void 0;
16
+ const InvalidPropertyTypeError_1 = require("../exceptions/InvalidPropertyTypeError");
17
+ const InvalidPropertyValueError_1 = require("../exceptions/InvalidPropertyValueError");
18
+ const EmissionSource_1 = require("../enums/EmissionSource");
19
+ const ObjectValueObject_1 = require("./ObjectValueObject");
20
+ const String_1 = require("./String");
21
+ const AggregateId_1 = require("./AggregateId");
22
+ class CarbonFootprintSegmentConfigurationReference extends ObjectValueObject_1.ObjectValueObject {
23
+ constructor(value, skipDomainValidation, propertyName = CarbonFootprintSegmentConfigurationReference.DEFAULT_PROPERTY_NAME) {
24
+ super(value, skipDomainValidation, propertyName, 'The provided value must be of type CarbonFootprintSegmentConfigurationReference from the domain layer', { allowNull: false, allowUndefined: false });
25
+ _CarbonFootprintSegmentConfigurationReference_id.set(this, void 0);
26
+ _CarbonFootprintSegmentConfigurationReference_segmentId.set(this, void 0);
27
+ _CarbonFootprintSegmentConfigurationReference_subsegmentId.set(this, void 0);
28
+ _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations.set(this, void 0);
29
+ if (skipDomainValidation === false) {
30
+ CarbonFootprintSegmentConfigurationReference.validateCarbonFootprintSegmentConfigurationReference(value, propertyName);
31
+ }
32
+ __classPrivateFieldSet(this, _CarbonFootprintSegmentConfigurationReference_id, value.id.trim(), "f");
33
+ __classPrivateFieldSet(this, _CarbonFootprintSegmentConfigurationReference_segmentId, value.segment.id.trim(), "f");
34
+ __classPrivateFieldSet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, value.subsegment ? value.subsegment.id.trim() : null, "f");
35
+ __classPrivateFieldSet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, value.emissionSourceConfigurations.map((configuration) => ({
36
+ emissionSource: configuration.emissionSource,
37
+ dynamicFormCode: configuration.dynamicFormCode.trim(),
38
+ })), "f");
39
+ }
40
+ static validateCarbonFootprintSegmentConfigurationReference(value, propertyName) {
41
+ this.guardAgainstInvalidStructure(value, propertyName);
42
+ this.guardAgainstInvalidId(value.id, `${propertyName}.id`);
43
+ this.guardAgainstInvalidSegment(value.segment, `${propertyName}.segment`);
44
+ this.guardAgainstInvalidSubsegment(value.subsegment, `${propertyName}.subsegment`);
45
+ this.guardAgainstInvalidEmissionSourceConfigurations(value.emissionSourceConfigurations, `${propertyName}.emissionSourceConfigurations`);
46
+ }
47
+ static guardAgainstInvalidStructure(value, propertyName) {
48
+ if (!value || typeof value !== 'object') {
49
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'CarbonFootprintSegmentConfigurationReference object', typeof value);
50
+ }
51
+ if (typeof value.id !== 'string') {
52
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.id`, 'string', typeof value.id);
53
+ }
54
+ if (!value.segment || typeof value.segment !== 'object') {
55
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.segment`, 'segment reference object', typeof value.segment);
56
+ }
57
+ if (value.subsegment !== null && (typeof value.subsegment !== 'object' || !value.subsegment)) {
58
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.subsegment`, 'subsegment reference object or null', typeof value.subsegment);
59
+ }
60
+ if (!Array.isArray(value.emissionSourceConfigurations)) {
61
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.emissionSourceConfigurations`, 'EmissionSourceConfiguration array', typeof value.emissionSourceConfigurations);
62
+ }
63
+ }
64
+ static guardAgainstInvalidId(id, propertyName) {
65
+ String_1.String.guardAgainstEmptyValue(id, propertyName);
66
+ AggregateId_1.AggregateId.guardAgainstInvalidId(id, propertyName);
67
+ }
68
+ static guardAgainstInvalidSegment(segment, propertyName) {
69
+ if (typeof segment.id !== 'string') {
70
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.id`, 'string', typeof segment.id);
71
+ }
72
+ String_1.String.guardAgainstEmptyValue(segment.id, `${propertyName}.id`);
73
+ AggregateId_1.AggregateId.guardAgainstInvalidId(segment.id, `${propertyName}.id`);
74
+ }
75
+ static guardAgainstInvalidSubsegment(subsegment, propertyName) {
76
+ if (subsegment === null) {
77
+ return;
78
+ }
79
+ if (typeof subsegment.id !== 'string') {
80
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}.id`, 'string', typeof subsegment.id);
81
+ }
82
+ String_1.String.guardAgainstEmptyValue(subsegment.id, `${propertyName}.id`);
83
+ AggregateId_1.AggregateId.guardAgainstInvalidId(subsegment.id, `${propertyName}.id`);
84
+ }
85
+ static guardAgainstInvalidEmissionSourceConfigurations(configurations, propertyName) {
86
+ if (configurations.length === 0) {
87
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'non-empty array', 'empty array');
88
+ }
89
+ const seenEmissionSources = new Set();
90
+ const validEmissionSources = Object.values(EmissionSource_1.EmissionSource);
91
+ configurations.forEach((configuration, index) => {
92
+ const elementPath = `${propertyName}[${index}]`;
93
+ if (!configuration || typeof configuration !== 'object') {
94
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(elementPath, 'EmissionSourceConfiguration object', typeof configuration);
95
+ }
96
+ if (typeof configuration.emissionSource !== 'string') {
97
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.emissionSource`, 'EmissionSource enum value', typeof configuration.emissionSource);
98
+ }
99
+ if (!validEmissionSources.includes(configuration.emissionSource)) {
100
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, `valid EmissionSource enum value (${validEmissionSources.join(', ')})`, configuration.emissionSource);
101
+ }
102
+ if (typeof configuration.dynamicFormCode !== 'string') {
103
+ throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${elementPath}.dynamicFormCode`, 'string', typeof configuration.dynamicFormCode);
104
+ }
105
+ String_1.String.guardAgainstEmptyValue(configuration.dynamicFormCode, `${elementPath}.dynamicFormCode`);
106
+ if (seenEmissionSources.has(configuration.emissionSource)) {
107
+ throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${elementPath}.emissionSource`, 'unique emissionSource within emissionSourceConfigurations', `duplicate emissionSource '${configuration.emissionSource}'`);
108
+ }
109
+ seenEmissionSources.add(configuration.emissionSource);
110
+ });
111
+ }
112
+ get id() {
113
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_id, "f");
114
+ }
115
+ get segmentId() {
116
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_segmentId, "f");
117
+ }
118
+ get subsegmentId() {
119
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f");
120
+ }
121
+ get emissionSourceConfigurations() {
122
+ return Object.freeze([...__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f")]);
123
+ }
124
+ hasId(id) {
125
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_id, "f") === id.trim();
126
+ }
127
+ hasSegmentId(segmentId) {
128
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_segmentId, "f") === segmentId.trim();
129
+ }
130
+ hasSubsegmentId(subsegmentId) {
131
+ if (subsegmentId === null) {
132
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f") === null;
133
+ }
134
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f") === subsegmentId.trim();
135
+ }
136
+ hasEmissionSource(emissionSource) {
137
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f").some((configuration) => configuration.emissionSource === emissionSource);
138
+ }
139
+ getDynamicFormCodeFor(emissionSource) {
140
+ const match = __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f").find((configuration) => configuration.emissionSource === emissionSource);
141
+ return match ? match.dynamicFormCode : null;
142
+ }
143
+ getEmissionSources() {
144
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f").map((configuration) => configuration.emissionSource);
145
+ }
146
+ equals(other) {
147
+ if (!(other instanceof CarbonFootprintSegmentConfigurationReference)) {
148
+ return false;
149
+ }
150
+ if (__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_id, "f") !== __classPrivateFieldGet(other, _CarbonFootprintSegmentConfigurationReference_id, "f"))
151
+ return false;
152
+ if (__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_segmentId, "f") !== __classPrivateFieldGet(other, _CarbonFootprintSegmentConfigurationReference_segmentId, "f"))
153
+ return false;
154
+ if (__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f") !== __classPrivateFieldGet(other, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f"))
155
+ return false;
156
+ if (__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f").length !== __classPrivateFieldGet(other, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f").length)
157
+ return false;
158
+ const thisSorted = [...__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f")].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
159
+ const otherSorted = [...__classPrivateFieldGet(other, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f")].sort((left, right) => left.emissionSource.localeCompare(right.emissionSource));
160
+ return thisSorted.every((configuration, index) => (configuration.emissionSource === otherSorted[index].emissionSource
161
+ && configuration.dynamicFormCode === otherSorted[index].dynamicFormCode));
162
+ }
163
+ hashCode() {
164
+ const sortedConfigurations = [...__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f")]
165
+ .sort((left, right) => left.emissionSource.localeCompare(right.emissionSource))
166
+ .map((configuration) => `${configuration.emissionSource}:${configuration.dynamicFormCode}`)
167
+ .join('|');
168
+ return `${__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_id, "f")}__${__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_segmentId, "f")}__${__classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f") ?? 'null'}__${sortedConfigurations}`;
169
+ }
170
+ toPrimitives() {
171
+ return {
172
+ id: __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_id, "f"),
173
+ segment: { id: __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_segmentId, "f") },
174
+ subsegment: __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f") ? { id: __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_subsegmentId, "f") } : null,
175
+ emissionSourceConfigurations: __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations, "f").map((configuration) => ({
176
+ emissionSource: configuration.emissionSource,
177
+ dynamicFormCode: configuration.dynamicFormCode,
178
+ })),
179
+ };
180
+ }
181
+ toString() {
182
+ return __classPrivateFieldGet(this, _CarbonFootprintSegmentConfigurationReference_id, "f");
183
+ }
184
+ toJSON() {
185
+ return this.toPrimitives();
186
+ }
187
+ static validateCompletely(value, propertyName = CarbonFootprintSegmentConfigurationReference.DEFAULT_PROPERTY_NAME) {
188
+ this.validateCarbonFootprintSegmentConfigurationReference(value, propertyName);
189
+ }
190
+ }
191
+ exports.CarbonFootprintSegmentConfigurationReference = CarbonFootprintSegmentConfigurationReference;
192
+ _CarbonFootprintSegmentConfigurationReference_id = new WeakMap(), _CarbonFootprintSegmentConfigurationReference_segmentId = new WeakMap(), _CarbonFootprintSegmentConfigurationReference_subsegmentId = new WeakMap(), _CarbonFootprintSegmentConfigurationReference_emissionSourceConfigurations = new WeakMap();
193
+ CarbonFootprintSegmentConfigurationReference.DEFAULT_PROPERTY_NAME = 'carbonFootprintSegmentConfigurationReference';