@carbonbox/domain 0.2.2 → 0.2.4

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 (151) hide show
  1. package/build/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldCollectionType.js +1 -1
  2. package/build/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldDataType.js +3 -3
  3. package/build/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldDefaultValue.js +2 -2
  4. package/build/carbonbox/activity-data-collection/conditional-logic/domain/value-objects/ConditionalFieldRuleAction.js +20 -16
  5. package/build/carbonbox/activity-data-collection/conditional-logic/domain/value-objects/ConditionalFieldRuleTriggerValue.js +14 -10
  6. package/build/carbonbox/activity-data-collection/contextual-labels/domain/value-objects/ContextualLabelLabelMappings.js +7 -7
  7. package/build/carbonbox/activity-data-collection/contextual-labels/domain/value-objects/ContextualLabelPlaceholderMappings.js +6 -6
  8. package/build/carbonbox/activity-data-collection/stakeholder-adaptations/domain/value-objects/StakeholderAdaptationFootprintType.js +1 -1
  9. package/build/carbonbox/activity-data-collection/stakeholder-adaptations/domain/value-objects/StakeholderAdaptationStakeholderType.js +1 -1
  10. package/build/carbonbox/emission-calculation-process/calculation-processes/domain/entity/CalculationProcess.js +2 -1
  11. package/build/carbonbox/purchase-management-system/service-catalog/domain/entity/IServiceCatalog.js +2 -0
  12. package/build/carbonbox/purchase-management-system/service-catalog/domain/entity/ServiceCatalog.js +263 -0
  13. package/build/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogCategory.js +20 -0
  14. package/build/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogStatus.js +9 -0
  15. package/build/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogType.js +10 -0
  16. package/build/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogCategoryError.js +19 -0
  17. package/build/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogStatusError.js +19 -0
  18. package/build/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogTypeError.js +19 -0
  19. package/build/carbonbox/purchase-management-system/service-catalog/domain/repository/IServiceCatalogRepository.js +2 -0
  20. package/build/carbonbox/purchase-management-system/service-catalog/domain/types/ServiceCatalogPrimitives.js +2 -0
  21. package/build/carbonbox/purchase-management-system/service-catalog/domain/types/ServiceCatalogProps.js +2 -0
  22. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAdditionalUserRoles.js +131 -0
  23. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAllowsDocumentReading.js +22 -0
  24. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAllowsSectoralComparison.js +22 -0
  25. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogBasePricePercentage.js +140 -0
  26. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCategory.js +247 -0
  27. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCode.js +24 -0
  28. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCreatedByStakeholder.js +26 -0
  29. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogDependsOnServiceCode.js +21 -0
  30. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogDescription.js +23 -0
  31. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogExpertDedicationLevel.js +212 -0
  32. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogFixedPriceAmount.js +193 -0
  33. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogHasBasePrice.js +22 -0
  34. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogHasFixedPrice.js +22 -0
  35. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogId.js +24 -0
  36. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIncludesCarbonBoxAcademy.js +22 -0
  37. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIncludesESGIndicators.js +22 -0
  38. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForCorporate.js +22 -0
  39. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForEvent.js +22 -0
  40. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForProduct.js +22 -0
  41. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsRequiredService.js +22 -0
  42. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogMaxUsers.js +246 -0
  43. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogName.js +23 -0
  44. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogReportTypes.js +246 -0
  45. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogStatus.js +221 -0
  46. package/build/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogType.js +235 -0
  47. package/build/carbonbox/purchase-management-system/service-pricing/domain/value-objects/ServicePricingService.js +2 -2
  48. package/build/carbonbox/shared/domain/types/ServiceCatalogReference.js +2 -0
  49. package/build/carbonbox/shared/domain/types/ServiceCatalogReferencePrimitives.js +2 -0
  50. package/build/carbonbox/shared/domain/value-objects/ServiceCatalogReference.js +301 -0
  51. package/build/carbonbox/shared/domain/value-objects/ServiceReference.js +75 -75
  52. package/build/main/index.js +43 -37
  53. package/build/types/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldDataType.d.ts +1 -1
  54. package/build/types/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldDataType.d.ts.map +1 -1
  55. package/build/types/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldDefaultValue.d.ts +1 -1
  56. package/build/types/carbonbox/activity-data-collection/collection-fields/domain/value-objects/CollectionFieldDefaultValue.d.ts.map +1 -1
  57. package/build/types/carbonbox/activity-data-collection/conditional-logic/domain/value-objects/ConditionalFieldRuleAction.d.ts +1 -4
  58. package/build/types/carbonbox/activity-data-collection/conditional-logic/domain/value-objects/ConditionalFieldRuleAction.d.ts.map +1 -1
  59. package/build/types/carbonbox/activity-data-collection/conditional-logic/domain/value-objects/ConditionalFieldRuleTriggerValue.d.ts +2 -5
  60. package/build/types/carbonbox/activity-data-collection/conditional-logic/domain/value-objects/ConditionalFieldRuleTriggerValue.d.ts.map +1 -1
  61. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/entity/IServiceCatalog.d.ts +52 -0
  62. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/entity/IServiceCatalog.d.ts.map +1 -0
  63. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/entity/ServiceCatalog.d.ts +60 -0
  64. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/entity/ServiceCatalog.d.ts.map +1 -0
  65. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogCategory.d.ts +17 -0
  66. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogCategory.d.ts.map +1 -0
  67. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogStatus.d.ts +6 -0
  68. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogStatus.d.ts.map +1 -0
  69. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogType.d.ts +7 -0
  70. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/enums/ServiceCatalogType.d.ts.map +1 -0
  71. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogCategoryError.d.ts +8 -0
  72. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogCategoryError.d.ts.map +1 -0
  73. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogStatusError.d.ts +8 -0
  74. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogStatusError.d.ts.map +1 -0
  75. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogTypeError.d.ts +8 -0
  76. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/exceptions/InvalidServiceCatalogTypeError.d.ts.map +1 -0
  77. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/repository/IServiceCatalogRepository.d.ts +22 -0
  78. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/repository/IServiceCatalogRepository.d.ts.map +1 -0
  79. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/repository/IServiceRepository.d.ts +19 -19
  80. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/repository/IServiceRepository.d.ts.map +1 -1
  81. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/types/ServiceCatalogPrimitives.d.ts +35 -0
  82. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/types/ServiceCatalogPrimitives.d.ts.map +1 -0
  83. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/types/ServiceCatalogProps.d.ts +35 -0
  84. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/types/ServiceCatalogProps.d.ts.map +1 -0
  85. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAdditionalUserRoles.d.ts +71 -0
  86. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAdditionalUserRoles.d.ts.map +1 -0
  87. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAllowsDocumentReading.d.ts +9 -0
  88. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAllowsDocumentReading.d.ts.map +1 -0
  89. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAllowsSectoralComparison.d.ts +9 -0
  90. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogAllowsSectoralComparison.d.ts.map +1 -0
  91. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogBasePricePercentage.d.ts +54 -0
  92. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogBasePricePercentage.d.ts.map +1 -0
  93. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCategory.d.ts +120 -0
  94. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCategory.d.ts.map +1 -0
  95. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCode.d.ts +9 -0
  96. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCode.d.ts.map +1 -0
  97. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCreatedByStakeholder.d.ts +11 -0
  98. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogCreatedByStakeholder.d.ts.map +1 -0
  99. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogDependsOnServiceCode.d.ts +9 -0
  100. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogDependsOnServiceCode.d.ts.map +1 -0
  101. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogDescription.d.ts +9 -0
  102. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogDescription.d.ts.map +1 -0
  103. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogExpertDedicationLevel.d.ts +92 -0
  104. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogExpertDedicationLevel.d.ts.map +1 -0
  105. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogFixedPriceAmount.d.ts +83 -0
  106. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogFixedPriceAmount.d.ts.map +1 -0
  107. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogHasBasePrice.d.ts +9 -0
  108. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogHasBasePrice.d.ts.map +1 -0
  109. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogHasFixedPrice.d.ts +9 -0
  110. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogHasFixedPrice.d.ts.map +1 -0
  111. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogId.d.ts +9 -0
  112. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogId.d.ts.map +1 -0
  113. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIncludesCarbonBoxAcademy.d.ts +9 -0
  114. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIncludesCarbonBoxAcademy.d.ts.map +1 -0
  115. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIncludesESGIndicators.d.ts +9 -0
  116. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIncludesESGIndicators.d.ts.map +1 -0
  117. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForCorporate.d.ts +9 -0
  118. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForCorporate.d.ts.map +1 -0
  119. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForEvent.d.ts +9 -0
  120. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForEvent.d.ts.map +1 -0
  121. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForProduct.d.ts +9 -0
  122. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsAvailableForProduct.d.ts.map +1 -0
  123. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsRequiredService.d.ts +9 -0
  124. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogIsRequiredService.d.ts.map +1 -0
  125. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogMaxUsers.d.ts +99 -0
  126. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogMaxUsers.d.ts.map +1 -0
  127. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogName.d.ts +9 -0
  128. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogName.d.ts.map +1 -0
  129. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogReportTypes.d.ts +119 -0
  130. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogReportTypes.d.ts.map +1 -0
  131. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogStatus.d.ts +110 -0
  132. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogStatus.d.ts.map +1 -0
  133. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogType.d.ts +111 -0
  134. package/build/types/carbonbox/purchase-management-system/service-catalog/domain/value-objects/ServiceCatalogType.d.ts.map +1 -0
  135. package/build/types/carbonbox/purchase-management-system/service-pricing/domain/types/ServicePricingPrimitives.d.ts +2 -2
  136. package/build/types/carbonbox/purchase-management-system/service-pricing/domain/types/ServicePricingPrimitives.d.ts.map +1 -1
  137. package/build/types/carbonbox/purchase-management-system/service-pricing/domain/types/ServicePricingProps.d.ts +2 -2
  138. package/build/types/carbonbox/purchase-management-system/service-pricing/domain/types/ServicePricingProps.d.ts.map +1 -1
  139. package/build/types/carbonbox/purchase-management-system/service-pricing/domain/value-objects/ServicePricingService.d.ts +7 -7
  140. package/build/types/carbonbox/purchase-management-system/service-pricing/domain/value-objects/ServicePricingService.d.ts.map +1 -1
  141. package/build/types/carbonbox/shared/domain/types/ServiceCatalogReference.d.ts +8 -0
  142. package/build/types/carbonbox/shared/domain/types/ServiceCatalogReference.d.ts.map +1 -0
  143. package/build/types/carbonbox/shared/domain/types/ServiceCatalogReferencePrimitives.d.ts +8 -0
  144. package/build/types/carbonbox/shared/domain/types/ServiceCatalogReferencePrimitives.d.ts.map +1 -0
  145. package/build/types/carbonbox/shared/domain/value-objects/ServiceCatalogReference.d.ts +134 -0
  146. package/build/types/carbonbox/shared/domain/value-objects/ServiceCatalogReference.d.ts.map +1 -0
  147. package/build/types/carbonbox/shared/domain/value-objects/ServiceReference.d.ts +18 -18
  148. package/build/types/carbonbox/shared/domain/value-objects/ServiceReference.d.ts.map +1 -1
  149. package/build/types/main/index.d.ts +24 -21
  150. package/build/types/main/index.d.ts.map +1 -1
  151. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceCatalogStatus = void 0;
4
+ var ServiceCatalogStatus;
5
+ (function (ServiceCatalogStatus) {
6
+ ServiceCatalogStatus["ACTIVE"] = "ACTIVE";
7
+ ServiceCatalogStatus["INACTIVE"] = "INACTIVE";
8
+ ServiceCatalogStatus["DISCONTINUED"] = "DISCONTINUED";
9
+ })(ServiceCatalogStatus || (exports.ServiceCatalogStatus = ServiceCatalogStatus = {}));
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceCatalogType = void 0;
4
+ var ServiceCatalogType;
5
+ (function (ServiceCatalogType) {
6
+ ServiceCatalogType["BASE_SERVICE"] = "BASE_SERVICE";
7
+ ServiceCatalogType["ADDITIONAL_SERVICE"] = "ADDITIONAL_SERVICE";
8
+ ServiceCatalogType["PLATFORM_FEATURE"] = "PLATFORM_FEATURE";
9
+ ServiceCatalogType["DEPENDENT_SERVICE"] = "DEPENDENT_SERVICE";
10
+ })(ServiceCatalogType || (exports.ServiceCatalogType = ServiceCatalogType = {}));
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidServiceCatalogCategoryError = void 0;
4
+ const RootError_1 = require("../../../../shared/domain/exceptions/RootError");
5
+ class InvalidServiceCatalogCategoryError extends RootError_1.RootError {
6
+ constructor(receivedValue, validCategories) {
7
+ const validCategoriesList = validCategories.join(', ');
8
+ const message = `Invalid service category value '${receivedValue}': must be one of ${validCategoriesList}.`;
9
+ super(message);
10
+ this.name = 'InvalidServiceCatalogCategoryError';
11
+ }
12
+ static create(receivedValue, validCategories) {
13
+ return new InvalidServiceCatalogCategoryError(receivedValue, validCategories);
14
+ }
15
+ logError() {
16
+ return `${this.name}: ${this.message}`;
17
+ }
18
+ }
19
+ exports.InvalidServiceCatalogCategoryError = InvalidServiceCatalogCategoryError;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidServiceCatalogStatusError = void 0;
4
+ const RootError_1 = require("../../../../shared/domain/exceptions/RootError");
5
+ class InvalidServiceCatalogStatusError extends RootError_1.RootError {
6
+ constructor(receivedValue, validStatuses) {
7
+ const validStatusesList = validStatuses.join(', ');
8
+ const message = `Invalid service status value '${receivedValue}': must be one of ${validStatusesList}.`;
9
+ super(message);
10
+ this.name = 'InvalidServiceCatalogStatusError';
11
+ }
12
+ static create(receivedValue, validStatuses) {
13
+ return new InvalidServiceCatalogStatusError(receivedValue, validStatuses);
14
+ }
15
+ logError() {
16
+ return `${this.name}: ${this.message}`;
17
+ }
18
+ }
19
+ exports.InvalidServiceCatalogStatusError = InvalidServiceCatalogStatusError;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidServiceCatalogTypeError = void 0;
4
+ const RootError_1 = require("../../../../shared/domain/exceptions/RootError");
5
+ class InvalidServiceCatalogTypeError extends RootError_1.RootError {
6
+ constructor(receivedValue, validTypes) {
7
+ const validTypesList = validTypes.join(', ');
8
+ const message = `Invalid service type value '${receivedValue}': must be one of ${validTypesList}.`;
9
+ super(message);
10
+ this.name = 'InvalidServiceCatalogTypeError';
11
+ }
12
+ static create(receivedValue, validTypes) {
13
+ return new InvalidServiceCatalogTypeError(receivedValue, validTypes);
14
+ }
15
+ logError() {
16
+ return `${this.name}: ${this.message}`;
17
+ }
18
+ }
19
+ exports.InvalidServiceCatalogTypeError = InvalidServiceCatalogTypeError;
@@ -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,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceCatalogAdditionalUserRoles = void 0;
4
+ const StringList_1 = require("../../../../shared/domain/value-objects/StringList");
5
+ const UserRole_1 = require("../enums/UserRole");
6
+ const InvalidUserRoleError_1 = require("../exceptions/InvalidUserRoleError");
7
+ class ServiceCatalogAdditionalUserRoles extends StringList_1.StringList {
8
+ constructor(roles, skipDomainValidation) {
9
+ super(roles, skipDomainValidation, ServiceCatalogAdditionalUserRoles.PROPERTY_NAME, { allowEmpty: true });
10
+ if (skipDomainValidation === false) {
11
+ this.validateUserRoles(roles);
12
+ }
13
+ }
14
+ static create(roles) {
15
+ StringList_1.StringList.guardAgainstInvalidStringList(roles, ServiceCatalogAdditionalUserRoles.PROPERTY_NAME);
16
+ return new ServiceCatalogAdditionalUserRoles(roles, false);
17
+ }
18
+ static fromPrimitives(primitives) {
19
+ const value = primitives.map((primitive) => primitive);
20
+ return new ServiceCatalogAdditionalUserRoles(value, true);
21
+ }
22
+ /**
23
+ * Valida que todos los roles sean roles de usuario válidos.
24
+ */
25
+ validateUserRoles(roles) {
26
+ for (const role of roles) {
27
+ if (!ServiceCatalogAdditionalUserRoles.VALID_USER_ROLES.includes(role)) {
28
+ throw InvalidUserRoleError_1.InvalidUserRoleError.create(role, ServiceCatalogAdditionalUserRoles.VALID_USER_ROLES);
29
+ }
30
+ }
31
+ }
32
+ /**
33
+ * Verifica si contiene el rol de SUPPLIER.
34
+ */
35
+ hasSupplierRole() {
36
+ return this.value.includes(UserRole_1.UserRole.SUPPLIER);
37
+ }
38
+ /**
39
+ * Verifica si contiene el rol de OBSERVER.
40
+ */
41
+ hasObserverRole() {
42
+ return this.value.includes(UserRole_1.UserRole.OBSERVER);
43
+ }
44
+ /**
45
+ * Verifica si contiene el rol de AUDITOR.
46
+ */
47
+ hasAuditorRole() {
48
+ return this.value.includes(UserRole_1.UserRole.AUDITOR);
49
+ }
50
+ /**
51
+ * Obtiene los roles válidos de usuario.
52
+ */
53
+ static getValidUserRoles() {
54
+ return Object.freeze([...ServiceCatalogAdditionalUserRoles.VALID_USER_ROLES]);
55
+ }
56
+ /**
57
+ * Verifica si un valor es un rol de usuario válido.
58
+ */
59
+ static isValidUserRole(role) {
60
+ return ServiceCatalogAdditionalUserRoles.VALID_USER_ROLES.includes(role);
61
+ }
62
+ /**
63
+ * Agrega un nuevo rol si no está ya presente.
64
+ */
65
+ addRole(role) {
66
+ if (this.value.includes(role)) {
67
+ return this;
68
+ }
69
+ const newRoles = [...this.value, role];
70
+ return new ServiceCatalogAdditionalUserRoles(newRoles, false);
71
+ }
72
+ /**
73
+ * Remueve un rol específico.
74
+ */
75
+ removeRole(role) {
76
+ const newRoles = this.value.filter((r) => r !== role);
77
+ return new ServiceCatalogAdditionalUserRoles(newRoles, false);
78
+ }
79
+ /**
80
+ * Verifica si tiene al menos un rol de auditoría (AUDITOR o OBSERVER).
81
+ */
82
+ hasAuditRole() {
83
+ return this.hasAuditorRole() || this.hasObserverRole();
84
+ }
85
+ /**
86
+ * Verifica si tiene roles operacionales (SUPPLIER).
87
+ */
88
+ hasOperationalRole() {
89
+ return this.hasSupplierRole();
90
+ }
91
+ /**
92
+ * Obtiene el número de roles únicos.
93
+ */
94
+ getRoleCount() {
95
+ return this.value.length;
96
+ }
97
+ /**
98
+ * Verifica si está vacío (sin roles adicionales).
99
+ */
100
+ isEmpty() {
101
+ return this.value.length === 0;
102
+ }
103
+ /**
104
+ * Convierte los roles a enum para uso tipado.
105
+ */
106
+ toEnums() {
107
+ return this.value;
108
+ }
109
+ /**
110
+ * Obtiene una descripción de los roles para debugging.
111
+ */
112
+ getDescription() {
113
+ if (this.isEmpty()) {
114
+ return 'No additional user roles assigned';
115
+ }
116
+ return `Additional roles: ${this.value.join(', ')}`;
117
+ }
118
+ toPrimitives() {
119
+ return this.value;
120
+ }
121
+ /**
122
+ * Representación como string descriptiva.
123
+ */
124
+ toString() {
125
+ return this.value.join(', ') || 'No additional roles';
126
+ }
127
+ }
128
+ exports.ServiceCatalogAdditionalUserRoles = ServiceCatalogAdditionalUserRoles;
129
+ ServiceCatalogAdditionalUserRoles.PROPERTY_NAME = 'additionalUserRoles';
130
+ // Roles de usuario válidos
131
+ ServiceCatalogAdditionalUserRoles.VALID_USER_ROLES = Object.values(UserRole_1.UserRole);
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceCatalogAllowsDocumentReading = void 0;
4
+ const Boolean_1 = require("../../../../shared/domain/value-objects/Boolean");
5
+ class ServiceCatalogAllowsDocumentReading extends Boolean_1.Boolean {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation, ServiceCatalogAllowsDocumentReading.PROPERTY_NAME);
8
+ }
9
+ static create(value) {
10
+ Boolean_1.Boolean.guardAgainstInvalidType(value, ServiceCatalogAllowsDocumentReading.PROPERTY_NAME);
11
+ return new ServiceCatalogAllowsDocumentReading(value, false);
12
+ }
13
+ static fromPrimitives(primitive) {
14
+ const value = primitive;
15
+ return new ServiceCatalogAllowsDocumentReading(value, true);
16
+ }
17
+ toPrimitives() {
18
+ return this.value;
19
+ }
20
+ }
21
+ exports.ServiceCatalogAllowsDocumentReading = ServiceCatalogAllowsDocumentReading;
22
+ ServiceCatalogAllowsDocumentReading.PROPERTY_NAME = 'allowsDocumentReading';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceCatalogAllowsSectoralComparison = void 0;
4
+ const Boolean_1 = require("../../../../shared/domain/value-objects/Boolean");
5
+ class ServiceCatalogAllowsSectoralComparison extends Boolean_1.Boolean {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation, ServiceCatalogAllowsSectoralComparison.PROPERTY_NAME);
8
+ }
9
+ static create(value) {
10
+ Boolean_1.Boolean.guardAgainstInvalidType(value, ServiceCatalogAllowsSectoralComparison.PROPERTY_NAME);
11
+ return new ServiceCatalogAllowsSectoralComparison(value, false);
12
+ }
13
+ static fromPrimitives(primitive) {
14
+ const value = primitive;
15
+ return new ServiceCatalogAllowsSectoralComparison(value, true);
16
+ }
17
+ toPrimitives() {
18
+ return this.value;
19
+ }
20
+ }
21
+ exports.ServiceCatalogAllowsSectoralComparison = ServiceCatalogAllowsSectoralComparison;
22
+ ServiceCatalogAllowsSectoralComparison.PROPERTY_NAME = 'allowsSectoralComparison';
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceCatalogBasePricePercentage = void 0;
4
+ const NullableNumeric_1 = require("../../../../shared/domain/value-objects/NullableNumeric");
5
+ class ServiceCatalogBasePricePercentage extends NullableNumeric_1.NullableNumeric {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation, ServiceCatalogBasePricePercentage.PROPERTY_NAME, ServiceCatalogBasePricePercentage.PERCENTAGE_OPTIONS);
8
+ }
9
+ static create(value) {
10
+ return new ServiceCatalogBasePricePercentage(value, false);
11
+ }
12
+ static fromPrimitives(primitive) {
13
+ const value = primitive;
14
+ return new ServiceCatalogBasePricePercentage(value, true);
15
+ }
16
+ /**
17
+ * Verifica si representa un incremento en el precio.
18
+ */
19
+ isIncrease() {
20
+ if (!this.hasValue())
21
+ return null;
22
+ return this.value > 0;
23
+ }
24
+ /**
25
+ * Verifica si representa un descuento en el precio.
26
+ */
27
+ isDiscount() {
28
+ if (!this.hasValue())
29
+ return null;
30
+ return this.value < 0;
31
+ }
32
+ /**
33
+ * Verifica si no hay cambio en el precio.
34
+ */
35
+ isNeutral() {
36
+ if (!this.hasValue())
37
+ return null;
38
+ return this.value === 0;
39
+ }
40
+ /**
41
+ * Verifica si es un incremento significativo (>= 50%).
42
+ */
43
+ isSignificantIncrease() {
44
+ if (!this.hasValue())
45
+ return null;
46
+ return this.value >= 50;
47
+ }
48
+ /**
49
+ * Verifica si es un descuento significativo (<= -25%).
50
+ */
51
+ isSignificantDiscount() {
52
+ if (!this.hasValue())
53
+ return null;
54
+ return this.value <= -25;
55
+ }
56
+ /**
57
+ * Obtiene el porcentaje formateado como string.
58
+ */
59
+ getFormattedPercentage() {
60
+ if (!this.hasValue())
61
+ return null;
62
+ const sign = this.value >= 0 ? '+' : '';
63
+ return `${sign}${this.value.toFixed(2)}%`;
64
+ }
65
+ /**
66
+ * Calcula el precio final basado en un precio base.
67
+ */
68
+ calculateFinalPrice(basePrice) {
69
+ if (!this.hasValue())
70
+ return null;
71
+ if (basePrice < 0)
72
+ return null; // No permitir precios base negativos
73
+ const multiplier = 1 + (this.value / 100);
74
+ return basePrice * multiplier;
75
+ }
76
+ /**
77
+ * Obtiene el factor multiplicador (1 + porcentaje/100).
78
+ */
79
+ getMultiplier() {
80
+ if (!this.hasValue())
81
+ return null;
82
+ return 1 + (this.value / 100);
83
+ }
84
+ /**
85
+ * Obtiene una descripción del impacto del porcentaje.
86
+ */
87
+ getImpactDescription() {
88
+ if (!this.hasValue())
89
+ return null;
90
+ const value = this.value;
91
+ if (value === 0)
92
+ return 'Sin cambio en el precio';
93
+ if (value > 0) {
94
+ if (value >= 100)
95
+ return 'Incremento muy alto';
96
+ if (value >= 50)
97
+ return 'Incremento alto';
98
+ if (value >= 25)
99
+ return 'Incremento moderado';
100
+ return 'Incremento bajo';
101
+ }
102
+ if (value <= -75)
103
+ return 'Descuento muy alto';
104
+ if (value <= -50)
105
+ return 'Descuento alto';
106
+ if (value <= -25)
107
+ return 'Descuento moderado';
108
+ return 'Descuento bajo';
109
+ }
110
+ /**
111
+ * Verifica si el porcentaje está dentro de un rango típico de servicios.
112
+ */
113
+ isWithinTypicalRange() {
114
+ if (!this.hasValue())
115
+ return null;
116
+ // Rango típico: entre -50% (descuento máximo común) y +200% (incremento máximo común)
117
+ return this.value >= -50 && this.value <= 200;
118
+ }
119
+ toPrimitives() {
120
+ return this.value;
121
+ }
122
+ /**
123
+ * Representación como string descriptiva.
124
+ */
125
+ toString() {
126
+ if (!this.hasValue())
127
+ return 'No percentage defined';
128
+ return this.getFormattedPercentage() || 'Invalid percentage';
129
+ }
130
+ }
131
+ exports.ServiceCatalogBasePricePercentage = ServiceCatalogBasePricePercentage;
132
+ ServiceCatalogBasePricePercentage.PROPERTY_NAME = 'basePricePercentage';
133
+ ServiceCatalogBasePricePercentage.PERCENTAGE_OPTIONS = {
134
+ allowNegative: true, // Permitir descuentos (valores negativos)
135
+ allowZero: true, // Permitir 0% (sin cambio en el precio)
136
+ allowDecimals: true, // Permitir decimales para precisión en porcentajes
137
+ maxDecimalPlaces: 2, // Máximo 2 decimales para porcentajes (ej: 25.50%)
138
+ minValue: -100, // Mínimo -100% (descuento total)
139
+ maxValue: 1000, // Máximo 1000% (incremento masivo para casos excepcionales)
140
+ };
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ 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");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _ServiceCatalogCategory_instances, _a, _ServiceCatalogCategory_validateServiceCatalogCategory;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ServiceCatalogCategory = void 0;
10
+ const String_1 = require("../../../../shared/domain/value-objects/String");
11
+ const ServiceCatalogCategory_1 = require("../enums/ServiceCatalogCategory");
12
+ const InvalidServiceCatalogCategoryError_1 = require("../exceptions/InvalidServiceCatalogCategoryError");
13
+ class ServiceCatalogCategory extends String_1.String {
14
+ constructor(value, skipDomainValidation) {
15
+ super(value, skipDomainValidation, _a.PROPERTY_NAME);
16
+ _ServiceCatalogCategory_instances.add(this);
17
+ if (skipDomainValidation === false) {
18
+ __classPrivateFieldGet(this, _ServiceCatalogCategory_instances, "m", _ServiceCatalogCategory_validateServiceCatalogCategory).call(this, value);
19
+ }
20
+ }
21
+ static create(value) {
22
+ String_1.String.guardAgainstEmptyValue(value, _a.PROPERTY_NAME);
23
+ String_1.String.guardAgainstInvalidType(value, _a.PROPERTY_NAME);
24
+ return new _a(value, false);
25
+ }
26
+ static fromPrimitives(primitive) {
27
+ const value = primitive;
28
+ return new _a(value, true);
29
+ }
30
+ /**
31
+ * Verifica si es una categoría de huella de carbono.
32
+ */
33
+ isCarbonFootprintCategory() {
34
+ return this.isCorporateFootprint() || this.isProductFootprint() || this.isEventFootprint();
35
+ }
36
+ /**
37
+ * Verifica si es huella corporativa.
38
+ */
39
+ isCorporateFootprint() {
40
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.CORPORATE_FOOTPRINT;
41
+ }
42
+ /**
43
+ * Verifica si es huella de producto.
44
+ */
45
+ isProductFootprint() {
46
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.PRODUCT_FOOTPRINT;
47
+ }
48
+ /**
49
+ * Verifica si es huella de evento.
50
+ */
51
+ isEventFootprint() {
52
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.EVENT_FOOTPRINT;
53
+ }
54
+ /**
55
+ * Verifica si es soporte experto.
56
+ */
57
+ isExpertSupport() {
58
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.EXPERT_SUPPORT;
59
+ }
60
+ /**
61
+ * Verifica si es entrenamiento.
62
+ */
63
+ isTraining() {
64
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.TRAINING;
65
+ }
66
+ /**
67
+ * Verifica si es soporte de auditoría.
68
+ */
69
+ isAuditSupport() {
70
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.AUDIT_SUPPORT;
71
+ }
72
+ /**
73
+ * Verifica si es validación de datos.
74
+ */
75
+ isDataValidation() {
76
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.DATA_VALIDATION;
77
+ }
78
+ /**
79
+ * Verifica si es reportería.
80
+ */
81
+ isReporting() {
82
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.REPORTING;
83
+ }
84
+ /**
85
+ * Verifica si es lectura de documentos.
86
+ */
87
+ isDocumentReading() {
88
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.DOCUMENT_READING;
89
+ }
90
+ /**
91
+ * Verifica si es comparación sectorial.
92
+ */
93
+ isSectoralComparison() {
94
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.SECTORAL_COMPARISON;
95
+ }
96
+ /**
97
+ * Verifica si es usuarios adicionales.
98
+ */
99
+ isAdditionalUsers() {
100
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.ADDITIONAL_USERS;
101
+ }
102
+ /**
103
+ * Verifica si es CarbonBox Academy.
104
+ */
105
+ isCarbonBoxAcademy() {
106
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.CARBONBOX_ACADEMY;
107
+ }
108
+ /**
109
+ * Verifica si es indicadores ESG.
110
+ */
111
+ isESGIndicators() {
112
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.ESG_INDICATORS;
113
+ }
114
+ /**
115
+ * Verifica si es compensación de carbono.
116
+ */
117
+ isCarbonOffsetting() {
118
+ return this.value === ServiceCatalogCategory_1.ServiceCatalogCategory.CARBON_OFFSETTING;
119
+ }
120
+ /**
121
+ * Verifica si es una categoría de soporte técnico.
122
+ */
123
+ isTechnicalSupportCategory() {
124
+ return this.isExpertSupport() || this.isAuditSupport() || this.isDataValidation();
125
+ }
126
+ /**
127
+ * Verifica si es una categoría de características de plataforma.
128
+ */
129
+ isPlatformFeatureCategory() {
130
+ return this.isDocumentReading() || this.isSectoralComparison() || this.isCarbonBoxAcademy() || this.isESGIndicators();
131
+ }
132
+ /**
133
+ * Verifica si es una categoría de extensión de usuarios.
134
+ */
135
+ isUserExtensionCategory() {
136
+ return this.isAdditionalUsers();
137
+ }
138
+ /**
139
+ * Verifica si es una categoría de sostenibilidad avanzada.
140
+ */
141
+ isAdvancedSustainabilityCategory() {
142
+ return this.isESGIndicators() || this.isCarbonOffsetting();
143
+ }
144
+ /**
145
+ * Obtiene las categorías de servicio válidas.
146
+ */
147
+ static getValidServiceCategories() {
148
+ return Object.freeze([..._a.VALID_SERVICE_CATEGORIES]);
149
+ }
150
+ /**
151
+ * Verifica si un valor es una categoría de servicio válida.
152
+ */
153
+ static isValidServiceCatalogCategory(value) {
154
+ return _a.VALID_SERVICE_CATEGORIES.includes(value);
155
+ }
156
+ /**
157
+ * Obtiene el tipo de categoría principal.
158
+ */
159
+ getCategoryType() {
160
+ if (this.isCarbonFootprintCategory())
161
+ return 'footprint';
162
+ if (this.isTechnicalSupportCategory() || this.isTraining())
163
+ return 'support';
164
+ if (this.isPlatformFeatureCategory())
165
+ return 'platform';
166
+ if (this.isUserExtensionCategory())
167
+ return 'user_extension';
168
+ if (this.isAdvancedSustainabilityCategory())
169
+ return 'sustainability';
170
+ if (this.isReporting())
171
+ return 'reporting';
172
+ // Este caso nunca debería ocurrir debido a las validaciones
173
+ return 'support'; // Valor por defecto
174
+ }
175
+ /**
176
+ * Obtiene la descripción de la categoría.
177
+ */
178
+ getDescription() {
179
+ const descriptions = {
180
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.CORPORATE_FOOTPRINT]: 'Servicios de huella de carbono corporativa',
181
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.PRODUCT_FOOTPRINT]: 'Servicios de huella de carbono de producto',
182
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.EVENT_FOOTPRINT]: 'Servicios de huella de carbono de eventos',
183
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.EXPERT_SUPPORT]: 'Soporte especializado de expertos',
184
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.TRAINING]: 'Servicios de capacitación y entrenamiento',
185
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.AUDIT_SUPPORT]: 'Soporte para procesos de auditoría',
186
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.DATA_VALIDATION]: 'Validación y verificación de datos',
187
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.REPORTING]: 'Servicios de reportería y documentación',
188
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.DOCUMENT_READING]: 'Lectura y análisis de documentos',
189
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.SECTORAL_COMPARISON]: 'Comparación sectorial de métricas',
190
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.ADDITIONAL_USERS]: 'Usuarios adicionales en la plataforma',
191
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.CARBONBOX_ACADEMY]: 'Acceso a CarbonBox Academy',
192
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.ESG_INDICATORS]: 'Indicadores ESG avanzados',
193
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.CARBON_OFFSETTING]: 'Servicios de compensación de carbono',
194
+ };
195
+ return descriptions[this.value] || this.value;
196
+ }
197
+ /**
198
+ * Obtiene las características de la categoría.
199
+ */
200
+ getCharacteristics() {
201
+ return {
202
+ isCarbonFootprintCategory: this.isCarbonFootprintCategory(),
203
+ isTechnicalSupportCategory: this.isTechnicalSupportCategory(),
204
+ isPlatformFeatureCategory: this.isPlatformFeatureCategory(),
205
+ isUserExtensionCategory: this.isUserExtensionCategory(),
206
+ isAdvancedSustainabilityCategory: this.isAdvancedSustainabilityCategory(),
207
+ categoryType: this.getCategoryType(),
208
+ };
209
+ }
210
+ toPrimitives() {
211
+ return this.value;
212
+ }
213
+ toEnum() {
214
+ return this.value;
215
+ }
216
+ /**
217
+ * Representación como string descriptiva.
218
+ */
219
+ toString() {
220
+ const categoryNames = {
221
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.CORPORATE_FOOTPRINT]: 'Huella Corporativa',
222
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.PRODUCT_FOOTPRINT]: 'Huella de Producto',
223
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.EVENT_FOOTPRINT]: 'Huella de Evento',
224
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.EXPERT_SUPPORT]: 'Soporte Experto',
225
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.TRAINING]: 'Entrenamiento',
226
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.AUDIT_SUPPORT]: 'Soporte de Auditoría',
227
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.DATA_VALIDATION]: 'Validación de Datos',
228
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.REPORTING]: 'Reportería',
229
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.DOCUMENT_READING]: 'Lectura de Documentos',
230
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.SECTORAL_COMPARISON]: 'Comparación Sectorial',
231
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.ADDITIONAL_USERS]: 'Usuarios Adicionales',
232
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.CARBONBOX_ACADEMY]: 'CarbonBox Academy',
233
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.ESG_INDICATORS]: 'Indicadores ESG',
234
+ [ServiceCatalogCategory_1.ServiceCatalogCategory.CARBON_OFFSETTING]: 'Compensación de Carbono',
235
+ };
236
+ return categoryNames[this.value] || this.value;
237
+ }
238
+ }
239
+ exports.ServiceCatalogCategory = ServiceCatalogCategory;
240
+ _a = ServiceCatalogCategory, _ServiceCatalogCategory_instances = new WeakSet(), _ServiceCatalogCategory_validateServiceCatalogCategory = function _ServiceCatalogCategory_validateServiceCatalogCategory(value) {
241
+ if (!_a.VALID_SERVICE_CATEGORIES.includes(value)) {
242
+ throw InvalidServiceCatalogCategoryError_1.InvalidServiceCatalogCategoryError.create(value, _a.VALID_SERVICE_CATEGORIES);
243
+ }
244
+ };
245
+ ServiceCatalogCategory.PROPERTY_NAME = 'category';
246
+ // Categorías de servicio válidas
247
+ ServiceCatalogCategory.VALID_SERVICE_CATEGORIES = Object.values(ServiceCatalogCategory_1.ServiceCatalogCategory);