@carbonbox/domain 0.3.6 → 0.4.1

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 (42) hide show
  1. package/build/carbonbox/shared/domain/authorization/enums/Permission.js +1 -0
  2. package/build/carbonbox/shared/domain/authorization/value-objects/SecurityContext.js +12 -3
  3. package/build/carbonbox/shared/domain/entities/User.js +26 -144
  4. package/build/carbonbox/shared/domain/services/contracts/IDateTimeFormattingDomainService.js +2 -0
  5. package/build/carbonbox/shared/domain/services/implementations/DateTimeFormattingDomainService.js +280 -0
  6. package/build/carbonbox/shared/domain/value-objects/UserPermissions.js +284 -566
  7. package/build/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.js +3 -3
  8. package/build/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.js +3 -72
  9. package/build/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.js +3 -3
  10. package/build/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.js +3 -72
  11. package/build/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.js +4 -4
  12. package/build/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.js +3 -65
  13. package/build/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.js +3 -3
  14. package/build/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.js +3 -74
  15. package/build/carbonbox/stakeholders/shared/domain/entity/Stakeholder.js +2 -2
  16. package/build/main/index.js +1 -1
  17. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts +2 -1
  18. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts.map +1 -1
  19. package/build/types/carbonbox/shared/domain/authorization/value-objects/SecurityContext.d.ts.map +1 -1
  20. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts +3 -0
  21. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts.map +1 -1
  22. package/build/types/carbonbox/shared/domain/entities/User.d.ts +17 -1
  23. package/build/types/carbonbox/shared/domain/entities/User.d.ts.map +1 -1
  24. package/build/types/carbonbox/shared/domain/services/contracts/IDateTimeFormattingDomainService.d.ts +92 -0
  25. package/build/types/carbonbox/shared/domain/services/contracts/IDateTimeFormattingDomainService.d.ts.map +1 -0
  26. package/build/types/carbonbox/shared/domain/services/implementations/DateTimeFormattingDomainService.d.ts +105 -0
  27. package/build/types/carbonbox/shared/domain/services/implementations/DateTimeFormattingDomainService.d.ts.map +1 -0
  28. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts +2 -2
  29. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts.map +1 -1
  30. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts +2 -2
  31. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts.map +1 -1
  32. package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts +26 -67
  33. package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts.map +1 -1
  34. package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.d.ts.map +1 -1
  35. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.d.ts.map +1 -1
  36. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts.map +1 -1
  37. package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.d.ts.map +1 -1
  38. package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.d.ts.map +1 -1
  39. package/build/types/carbonbox/stakeholders/shared/domain/entity/Stakeholder.d.ts.map +1 -1
  40. package/build/types/main/index.d.ts +2 -3
  41. package/build/types/main/index.d.ts.map +1 -1
  42. package/package.json +1 -1
@@ -68,8 +68,8 @@ class CarbonClient extends Stakeholder_1.Stakeholder {
68
68
  ? CarbonClientUserType_1.CarbonClientUserType.fromPrimitives(props.userType).toEnum()
69
69
  : CarbonClientUserType_1.CarbonClientUserType.create(props.userType).toEnum();
70
70
  const permissions = skipDomainValidation
71
- ? CarbonClientPermissions_1.CarbonClientPermissions.fromPrimitives(props.permissions).toPrimitives()
72
- : CarbonClientPermissions_1.CarbonClientPermissions.create(props.permissions).toPrimitives();
71
+ ? CarbonClientPermissions_1.CarbonClientPermissions.fromPrimitives(props.permissions).toEnums()
72
+ : CarbonClientPermissions_1.CarbonClientPermissions.create(props.permissions).toEnums();
73
73
  super({
74
74
  id,
75
75
  avatar,
@@ -171,7 +171,7 @@ class CarbonClient extends Stakeholder_1.Stakeholder {
171
171
  logo: this.logo.toPrimitives(),
172
172
  accountType: this.accountType.toEnum(),
173
173
  supervisedByStakeholder: this.supervisedByStakeholder.toPrimitives(),
174
- permissions: this.permissions.toPrimitives(),
174
+ permissions: this.permissions.toEnums(),
175
175
  };
176
176
  }
177
177
  get legalBusinessName() {
@@ -3,79 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CarbonClientPermissions = void 0;
4
4
  const StakeholderPermissions_1 = require("../../../shared/domain/value-objects/StakeholderPermissions");
5
5
  class CarbonClientPermissions extends StakeholderPermissions_1.StakeholderPermissions {
6
- // Factory methods
6
+ // Factory method delegando al método base createForCarbonClient()
7
7
  static createWithFullAccess() {
8
- return CarbonClientPermissions.fromPrimitives({
9
- // Carbon Footprint Configuration
10
- canManageCorporateCarbonFootprintConfigurations: true,
11
- canManageCorporateSegmentConfigurations: true,
12
- canManageEventCarbonFootprintConfigurations: true,
13
- canManageEventLifecycleStageConfigurations: true,
14
- canManageProductCarbonFootprintConfigurations: true,
15
- canManageProductSegmentConfigurations: true,
16
- canManageProductSystemBoundaries: true,
17
- canManageIntensityIndicators: true,
18
- // Activity Data Collection
19
- canManageCollectionFields: true,
20
- canManageDynamicForms: true,
21
- canManageConditionalLogic: true,
22
- canManageContextualLabels: true,
23
- canManageStakeholderAdaptations: true,
24
- canManageActivityDataSubmissions: true,
25
- // Emission Calculation Process
26
- canExecuteCalculationJobs: true,
27
- canMonitorCalculationProcesses: true,
28
- canRetryFailedCalculations: true,
29
- // Emission Calculation Results
30
- canViewEmissionCalculationResults: true,
31
- canViewEmissionAggregations: true,
32
- canViewGHGEmissionResults: true,
33
- canExportCalculationResults: true,
34
- canGenerateEmissionReports: true,
35
- // Company Resources
36
- canManageEvents: true,
37
- canManageEventEditions: true,
38
- canManageFacilities: true,
39
- canManageProducts: true,
40
- canViewCompanyResources: true,
41
- // Purchase Management
42
- canViewPurchases: true,
43
- canCreatePurchaseOrders: true,
44
- canUpdatePurchaseOrders: true,
45
- // Actions not permitted
46
- canAccessAllModules: false,
47
- canApproveActivityDataSubmissions: false,
48
- canManageCarbonManagers: false,
49
- canManageCarbonHosts: false,
50
- canManageStakeholderRoles: false,
51
- canViewStakeholderHierarchy: false,
52
- canAssignCompaniesToCoordinators: false,
53
- canAssignStakeholderRoles: false,
54
- canAssignCompaniesToHostManagers: false,
55
- canAssignCoordinators: false,
56
- canAssignHostManagers: false,
57
- canCancelCalculationJobs: false,
58
- canConfigureServicePricing: false,
59
- canDeletePurchaseOrders: false,
60
- canManageAllUsers: false,
61
- canManageCalculationJobs: false,
62
- canManageCalculationProcesses: false,
63
- canManageCalculationVariables: false,
64
- canManageEmissionFactors: false,
65
- canManageCalculationWorkflows: false,
66
- canManageCarbonClients: false,
67
- canManageCarbonCoordinators: false,
68
- canManageCompanies: false,
69
- canManageConstants: false,
70
- canManageEmissionAggregations: false,
71
- canManageEmissionCalculationResults: false,
72
- canManageFormulas: false,
73
- canManageGHGEmissionResults: false,
74
- canManageGlobalWarmingPotentials: false,
75
- canManagePurchaseContracts: false,
76
- canManageSystemConfiguration: false,
77
- canRejectActivityDataSubmissions: false,
78
- });
8
+ const clientPermissions = StakeholderPermissions_1.StakeholderPermissions.createForCarbonClient();
9
+ return CarbonClientPermissions.fromPrimitives(clientPermissions.toPrimitives());
79
10
  }
80
11
  }
81
12
  exports.CarbonClientPermissions = CarbonClientPermissions;
@@ -64,8 +64,8 @@ class CarbonCoordinator extends Stakeholder_1.Stakeholder {
64
64
  ? CarbonCoordinatorUserType_1.CarbonCoordinatorUserType.fromPrimitives(props.userType).toEnum()
65
65
  : CarbonCoordinatorUserType_1.CarbonCoordinatorUserType.create(props.userType).toEnum();
66
66
  const permissions = skipDomainValidation
67
- ? CarbonCoordinatorPermissions_1.CarbonCoordinatorPermissions.fromPrimitives(props.permissions).toPrimitives()
68
- : CarbonCoordinatorPermissions_1.CarbonCoordinatorPermissions.create(props.permissions).toPrimitives();
67
+ ? CarbonCoordinatorPermissions_1.CarbonCoordinatorPermissions.fromPrimitives(props.permissions).toEnums()
68
+ : CarbonCoordinatorPermissions_1.CarbonCoordinatorPermissions.create(props.permissions).toEnums();
69
69
  super({
70
70
  id,
71
71
  avatar,
@@ -144,7 +144,7 @@ class CarbonCoordinator extends Stakeholder_1.Stakeholder {
144
144
  availabilityStatus: __classPrivateFieldGet(this, _CarbonCoordinator_availabilityStatus, "f").toEnum(),
145
145
  weeklyWorkingSchedule: __classPrivateFieldGet(this, _CarbonCoordinator_weeklyWorkingSchedule, "f").toPrimitives(),
146
146
  gender: __classPrivateFieldGet(this, _CarbonCoordinator_gender, "f").toEnum(),
147
- permissions: this.permissions.toPrimitives(),
147
+ permissions: this.permissions.toEnums(),
148
148
  assignedByStakeholder: __classPrivateFieldGet(this, _CarbonCoordinator_assignedByStakeholder, "f").toPrimitives(),
149
149
  managedCarbonClients: __classPrivateFieldGet(this, _CarbonCoordinator_managedCarbonClients, "f").toPrimitives(),
150
150
  reportsToStakeholder: __classPrivateFieldGet(this, _CarbonCoordinator_reportsToStakeholder, "f").toPrimitives(),
@@ -3,79 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CarbonCoordinatorPermissions = void 0;
4
4
  const StakeholderPermissions_1 = require("../../../shared/domain/value-objects/StakeholderPermissions");
5
5
  class CarbonCoordinatorPermissions extends StakeholderPermissions_1.StakeholderPermissions {
6
- // Factory methods
6
+ // Factory method delegando al método base createForCarbonCoordinator()
7
7
  static createWithFullAccess() {
8
- return CarbonCoordinatorPermissions.fromPrimitives({
9
- // Carbon Footprint Configuration
10
- canManageCorporateCarbonFootprintConfigurations: true,
11
- canManageCorporateSegmentConfigurations: true,
12
- canManageEventCarbonFootprintConfigurations: true,
13
- canManageEventLifecycleStageConfigurations: true,
14
- canManageProductCarbonFootprintConfigurations: true,
15
- canManageProductSegmentConfigurations: true,
16
- canManageProductSystemBoundaries: true,
17
- canManageIntensityIndicators: true,
18
- // Activity Data Collection
19
- canManageCollectionFields: true,
20
- canManageDynamicForms: true,
21
- canManageConditionalLogic: true,
22
- canManageContextualLabels: true,
23
- canManageStakeholderAdaptations: true,
24
- canManageActivityDataSubmissions: true,
25
- // Emission Calculation Process
26
- canExecuteCalculationJobs: true,
27
- canMonitorCalculationProcesses: true,
28
- canRetryFailedCalculations: true,
29
- // Emission Calculation Results
30
- canViewEmissionCalculationResults: true,
31
- canViewEmissionAggregations: true,
32
- canViewGHGEmissionResults: true,
33
- canExportCalculationResults: true,
34
- canGenerateEmissionReports: true,
35
- // Company Resources
36
- canManageEvents: true,
37
- canManageEventEditions: true,
38
- canManageFacilities: true,
39
- canManageProducts: true,
40
- canViewCompanyResources: true,
41
- // Purchase Management
42
- canViewPurchases: true,
43
- canCreatePurchaseOrders: true,
44
- canUpdatePurchaseOrders: true,
45
- // Actions not permitted
46
- canAccessAllModules: false,
47
- canApproveActivityDataSubmissions: false,
48
- canManageCarbonManagers: false,
49
- canManageCarbonHosts: false,
50
- canManageStakeholderRoles: false,
51
- canViewStakeholderHierarchy: false,
52
- canAssignCompaniesToCoordinators: false,
53
- canAssignStakeholderRoles: false,
54
- canAssignCompaniesToHostManagers: false,
55
- canAssignCoordinators: false,
56
- canAssignHostManagers: false,
57
- canCancelCalculationJobs: false,
58
- canConfigureServicePricing: false,
59
- canDeletePurchaseOrders: false,
60
- canManageAllUsers: false,
61
- canManageCalculationJobs: false,
62
- canManageCalculationProcesses: false,
63
- canManageCalculationVariables: false,
64
- canManageEmissionFactors: false,
65
- canManageCalculationWorkflows: false,
66
- canManageCarbonClients: false,
67
- canManageCarbonCoordinators: false,
68
- canManageCompanies: false,
69
- canManageConstants: false,
70
- canManageEmissionAggregations: false,
71
- canManageEmissionCalculationResults: false,
72
- canManageFormulas: false,
73
- canManageGHGEmissionResults: false,
74
- canManageGlobalWarmingPotentials: false,
75
- canManagePurchaseContracts: false,
76
- canManageSystemConfiguration: false,
77
- canRejectActivityDataSubmissions: false,
78
- });
8
+ const coordinatorPermissions = StakeholderPermissions_1.StakeholderPermissions.createForCarbonCoordinator();
9
+ return CarbonCoordinatorPermissions.fromPrimitives(coordinatorPermissions.toPrimitives());
79
10
  }
80
11
  }
81
12
  exports.CarbonCoordinatorPermissions = CarbonCoordinatorPermissions;
@@ -9,10 +9,10 @@ const CarbonHostEmail_1 = require("../value-objects/CarbonHostEmail");
9
9
  const CarbonHostId_1 = require("../value-objects/CarbonHostId");
10
10
  const CarbonHostLastAccessAt_1 = require("../value-objects/CarbonHostLastAccessAt");
11
11
  const CarbonHostPassword_1 = require("../value-objects/CarbonHostPassword");
12
- const CarbonHostPermissions_1 = require("../value-objects/CarbonHostPermissions");
13
12
  const CarbonHostRoleType_1 = require("../value-objects/CarbonHostRoleType");
14
13
  const CarbonHostTaxIdentification_1 = require("../value-objects/CarbonHostTaxIdentification");
15
14
  const CarbonHostUserType_1 = require("../value-objects/CarbonHostUserType");
15
+ const CarbonHostPermissions_1 = require("../value-objects/CarbonHostPermissions");
16
16
  class CarbonHost extends Stakeholder_1.Stakeholder {
17
17
  constructor(props, skipDomainValidation) {
18
18
  const id = skipDomainValidation
@@ -46,8 +46,8 @@ class CarbonHost extends Stakeholder_1.Stakeholder {
46
46
  ? CarbonHostUserType_1.CarbonHostUserType.fromPrimitives(props.userType).toEnum()
47
47
  : CarbonHostUserType_1.CarbonHostUserType.create(props.userType).toEnum();
48
48
  const permissions = skipDomainValidation
49
- ? CarbonHostPermissions_1.CarbonHostPermissions.fromPrimitives(props.permissions).toPrimitives()
50
- : CarbonHostPermissions_1.CarbonHostPermissions.create(props.permissions).toPrimitives();
49
+ ? CarbonHostPermissions_1.CarbonHostPermissions.fromPrimitives(props.permissions).toEnums()
50
+ : CarbonHostPermissions_1.CarbonHostPermissions.create(props.permissions).toEnums();
51
51
  super({
52
52
  id,
53
53
  avatar,
@@ -93,7 +93,7 @@ class CarbonHost extends Stakeholder_1.Stakeholder {
93
93
  businessStatus: this.businessStatus.toEnum(),
94
94
  userType: this.userType.toEnum(),
95
95
  taxIdentification: this.taxIdentification.toPrimitives(),
96
- permissions: this.permissions.toPrimitives(),
96
+ permissions: this.permissions.toEnums(),
97
97
  };
98
98
  }
99
99
  }
@@ -3,72 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CarbonHostPermissions = void 0;
4
4
  const StakeholderPermissions_1 = require("../../../shared/domain/value-objects/StakeholderPermissions");
5
5
  class CarbonHostPermissions extends StakeholderPermissions_1.StakeholderPermissions {
6
- // Factory methods
6
+ // Factory method delegando al método base createForHost()
7
7
  static createWithFullAccess() {
8
- return CarbonHostPermissions.fromPrimitives({
9
- canAccessAllModules: true,
10
- canManageSystemConfiguration: true,
11
- canManageCorporateCarbonFootprintConfigurations: true,
12
- canManageCorporateSegmentConfigurations: true,
13
- canManageEventCarbonFootprintConfigurations: true,
14
- canManageEventLifecycleStageConfigurations: true,
15
- canManageProductCarbonFootprintConfigurations: true,
16
- canManageProductSegmentConfigurations: true,
17
- canManageProductSystemBoundaries: true,
18
- canManageIntensityIndicators: true,
19
- canManageCollectionFields: true,
20
- canManageDynamicForms: true,
21
- canManageConditionalLogic: true,
22
- canManageContextualLabels: true,
23
- canManageStakeholderAdaptations: true,
24
- canManageActivityDataSubmissions: true,
25
- canExecuteCalculationJobs: true,
26
- canMonitorCalculationProcesses: true,
27
- canRetryFailedCalculations: true,
28
- canViewEmissionCalculationResults: true,
29
- canViewEmissionAggregations: true,
30
- canViewGHGEmissionResults: true,
31
- canExportCalculationResults: true,
32
- canGenerateEmissionReports: true,
33
- canManageEvents: true,
34
- canManageEventEditions: true,
35
- canManageFacilities: true,
36
- canManageProducts: true,
37
- canViewCompanyResources: true,
38
- canViewPurchases: true,
39
- canCreatePurchaseOrders: true,
40
- canUpdatePurchaseOrders: true,
41
- canApproveActivityDataSubmissions: true,
42
- canManageCarbonManagers: true,
43
- canManageCarbonHosts: true,
44
- canManageStakeholderRoles: true,
45
- canViewStakeholderHierarchy: true,
46
- canAssignCompaniesToCoordinators: true,
47
- canAssignStakeholderRoles: true,
48
- canAssignCompaniesToHostManagers: true,
49
- canAssignCoordinators: true,
50
- canAssignHostManagers: true,
51
- canCancelCalculationJobs: true,
52
- canConfigureServicePricing: true,
53
- canDeletePurchaseOrders: true,
54
- canManageAllUsers: true,
55
- canManageCalculationJobs: true,
56
- canManageCalculationProcesses: true,
57
- canManageCalculationVariables: true,
58
- canManageEmissionFactors: true,
59
- canManageCalculationWorkflows: true,
60
- canManageCarbonClients: true,
61
- canManageCarbonCoordinators: true,
62
- canManageCompanies: true,
63
- canManageConstants: true,
64
- canManageEmissionAggregations: true,
65
- canManageEmissionCalculationResults: true,
66
- canManageFormulas: true,
67
- canManageGHGEmissionResults: true,
68
- canManageGlobalWarmingPotentials: true,
69
- canManagePurchaseContracts: true,
70
- canRejectActivityDataSubmissions: true,
71
- });
8
+ const hostPermissions = StakeholderPermissions_1.StakeholderPermissions.createForCarbonHost();
9
+ return CarbonHostPermissions.fromPrimitives(hostPermissions.toPrimitives());
72
10
  }
73
11
  }
74
12
  exports.CarbonHostPermissions = CarbonHostPermissions;
@@ -59,8 +59,8 @@ class CarbonManager extends Stakeholder_1.Stakeholder {
59
59
  ? CarbonManagerUserType_1.CarbonManagerUserType.fromPrimitives(props.userType).toEnum()
60
60
  : CarbonManagerUserType_1.CarbonManagerUserType.create(props.userType).toEnum();
61
61
  const permissions = skipDomainValidation
62
- ? CarbonManagerPermissions_1.CarbonManagerPermissions.fromPrimitives(props.permissions).toPrimitives()
63
- : CarbonManagerPermissions_1.CarbonManagerPermissions.create(props.permissions).toPrimitives();
62
+ ? CarbonManagerPermissions_1.CarbonManagerPermissions.fromPrimitives(props.permissions).toEnums()
63
+ : CarbonManagerPermissions_1.CarbonManagerPermissions.create(props.permissions).toEnums();
64
64
  super({
65
65
  id,
66
66
  avatar,
@@ -116,7 +116,7 @@ class CarbonManager extends Stakeholder_1.Stakeholder {
116
116
  businessStatus: this.businessStatus.toEnum(),
117
117
  userType: this.userType.toEnum(),
118
118
  taxIdentification: this.taxIdentification.toPrimitives(),
119
- permissions: this.permissions.toPrimitives(),
119
+ permissions: this.permissions.toEnums(),
120
120
  managedStakeholders: __classPrivateFieldGet(this, _CarbonManager_managedStakeholders, "f").toPrimitives(),
121
121
  };
122
122
  }
@@ -3,81 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CarbonManagerPermissions = void 0;
4
4
  const StakeholderPermissions_1 = require("../../../shared/domain/value-objects/StakeholderPermissions");
5
5
  class CarbonManagerPermissions extends StakeholderPermissions_1.StakeholderPermissions {
6
- // Factory method
6
+ // Factory method delegando al método base createForManager()
7
7
  static createWithFullAccess() {
8
- return CarbonManagerPermissions.fromPrimitives({
9
- // User Management
10
- canManageAllUsers: true,
11
- canManageCompanies: true,
12
- canAssignCoordinators: true,
13
- canAssignCompaniesToCoordinators: true,
14
- canManageCarbonClients: true,
15
- canManageCarbonCoordinators: true,
16
- canViewStakeholderHierarchy: true,
17
- canAssignStakeholderRoles: true,
18
- // Carbon Footprint Configuration
19
- canManageCorporateCarbonFootprintConfigurations: true,
20
- canManageCorporateSegmentConfigurations: true,
21
- canManageEventCarbonFootprintConfigurations: true,
22
- canManageEventLifecycleStageConfigurations: true,
23
- canManageProductCarbonFootprintConfigurations: true,
24
- canManageProductSegmentConfigurations: true,
25
- canManageProductSystemBoundaries: true,
26
- canManageIntensityIndicators: true,
27
- // Activity Data Collection
28
- canManageCollectionFields: true,
29
- canManageDynamicForms: true,
30
- canManageConditionalLogic: true,
31
- canManageContextualLabels: true,
32
- canManageStakeholderAdaptations: true,
33
- canManageActivityDataSubmissions: true,
34
- canApproveActivityDataSubmissions: true,
35
- canRejectActivityDataSubmissions: true,
36
- // Emission Calculation Process
37
- canManageCalculationProcesses: true,
38
- canManageCalculationWorkflows: true,
39
- canManageCalculationJobs: true,
40
- canExecuteCalculationJobs: true,
41
- canMonitorCalculationProcesses: true,
42
- canCancelCalculationJobs: true,
43
- canRetryFailedCalculations: true,
44
- // Emission Calculation Results
45
- canViewEmissionCalculationResults: true,
46
- canManageEmissionCalculationResults: true,
47
- canViewEmissionAggregations: true,
48
- canManageEmissionAggregations: true,
49
- canViewGHGEmissionResults: true,
50
- canManageGHGEmissionResults: true,
51
- canExportCalculationResults: true,
52
- canGenerateEmissionReports: true,
53
- // Emission Calculation Formulas
54
- canManageFormulas: true,
55
- canManageEmissionFactors: true,
56
- canManageCalculationVariables: true,
57
- canManageConstants: true,
58
- canManageGlobalWarmingPotentials: true,
59
- // Company Resources
60
- canManageEvents: true,
61
- canManageEventEditions: true,
62
- canManageFacilities: true,
63
- canManageProducts: true,
64
- canViewCompanyResources: true,
65
- // Purchase Management
66
- canViewPurchases: true,
67
- canCreatePurchaseOrders: true,
68
- canUpdatePurchaseOrders: true,
69
- canDeletePurchaseOrders: true,
70
- canManagePurchaseContracts: true,
71
- canConfigureServicePricing: true,
72
- // Actions not permitted
73
- canAccessAllModules: false,
74
- canAssignCompaniesToHostManagers: false,
75
- canAssignHostManagers: false,
76
- canManageCarbonHosts: false,
77
- canManageCarbonManagers: false,
78
- canManageStakeholderRoles: false,
79
- canManageSystemConfiguration: false,
80
- });
8
+ const managerPermissions = StakeholderPermissions_1.StakeholderPermissions.createForCarbonManager();
9
+ return CarbonManagerPermissions.fromPrimitives(managerPermissions.toPrimitives());
81
10
  }
82
11
  }
83
12
  exports.CarbonManagerPermissions = CarbonManagerPermissions;
@@ -52,8 +52,8 @@ class Stakeholder extends User_1.User {
52
52
  ? StakeholderLastAccessAt_1.StakeholderLastAccessAt.fromPrimitives(props.lastAccessAt).toPrimitives()
53
53
  : StakeholderLastAccessAt_1.StakeholderLastAccessAt.create(props.lastAccessAt).toPrimitives();
54
54
  const permissions = skipDomainValidation
55
- ? StakeholderPermissions_1.StakeholderPermissions.fromPrimitives(props.permissions).toPrimitives()
56
- : StakeholderPermissions_1.StakeholderPermissions.create(props.permissions).toPrimitives();
55
+ ? StakeholderPermissions_1.StakeholderPermissions.fromPrimitives(props.permissions).toEnums()
56
+ : StakeholderPermissions_1.StakeholderPermissions.create(props.permissions).toEnums();
57
57
  super({
58
58
  id,
59
59
  avatar,
@@ -1193,7 +1193,7 @@ Object.defineProperty(exports, "InvalidCarbonCoordinatorAvailabilityStatusError"
1193
1193
  // SHARED DOMAIN SERVICES
1194
1194
  // =============================================================================
1195
1195
  // ─── Date and Time Services ──────────────────────────────────────────────────
1196
- var DateTimeFormattingDomainService_1 = require("../carbonbox/shared/domain/services/DateTimeFormattingDomainService");
1196
+ var DateTimeFormattingDomainService_1 = require("../carbonbox/shared/domain/services/implementations/DateTimeFormattingDomainService");
1197
1197
  Object.defineProperty(exports, "DateTimeFormattingDomainService", { enumerable: true, get: function () { return DateTimeFormattingDomainService_1.DateTimeFormattingDomainService; } });
1198
1198
  // ─── Enums ──────────────────────────────────────────────────────────────────
1199
1199
  var AuthorizationDecision_1 = require("../carbonbox/shared/domain/authorization/enums/AuthorizationDecision");
@@ -59,6 +59,7 @@ export declare enum Permission {
59
59
  CAN_MANAGE_CARBON_MANAGERS = "CAN_MANAGE_CARBON_MANAGERS",
60
60
  CAN_MANAGE_CARBON_HOSTS = "CAN_MANAGE_CARBON_HOSTS",
61
61
  CAN_VIEW_STAKEHOLDER_HIERARCHY = "CAN_VIEW_STAKEHOLDER_HIERARCHY",
62
- CAN_ASSIGN_STAKEHOLDER_ROLES = "CAN_ASSIGN_STAKEHOLDER_ROLES"
62
+ CAN_ASSIGN_STAKEHOLDER_ROLES = "CAN_ASSIGN_STAKEHOLDER_ROLES",
63
+ CAN_MANAGE_STAKEHOLDER_ROLES = "CAN_MANAGE_STAKEHOLDER_ROLES"
63
64
  }
64
65
  //# sourceMappingURL=Permission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/enums/Permission.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,sBAAsB,2BAA2B;IACjD,+BAA+B,oCAAoC;IAGnE,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,wBAAwB,6BAA6B;IACrD,uBAAuB,4BAA4B;IACnD,qCAAqC,0CAA0C;IAC/E,oCAAoC,yCAAyC;IAG7E,oDAAoD,yDAAyD;IAC7G,2CAA2C,gDAAgD;IAC3F,gDAAgD,qDAAqD;IACrG,+CAA+C,oDAAoD;IACnG,kDAAkD,uDAAuD;IACzG,yCAAyC,8CAA8C;IACvF,oCAAoC,yCAAyC;IAC7E,+BAA+B,oCAAoC;IAGnE,4BAA4B,iCAAiC;IAC7D,wBAAwB,6BAA6B;IACrD,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kCAAkC,uCAAuC;IACzE,oCAAoC,yCAAyC;IAC7E,qCAAqC,0CAA0C;IAC/E,oCAAoC,yCAAyC;IAG7E,mBAAmB,wBAAwB;IAC3C,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;IACrE,oBAAoB,yBAAyB;IAC7C,oCAAoC,yCAAyC;IAG7E,gCAAgC,qCAAqC;IACrE,gCAAgC,qCAAqC;IACrE,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,iCAAiC,sCAAsC;IACvE,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAG/D,qCAAqC,0CAA0C;IAC/E,uCAAuC,4CAA4C;IACnF,8BAA8B,mCAAmC;IACjE,gCAAgC,qCAAqC;IACrE,6BAA6B,kCAAkC;IAC/D,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;IACjE,6BAA6B,kCAAkC;IAG/D,iBAAiB,sBAAsB;IACvC,yBAAyB,8BAA8B;IACvD,qBAAqB,0BAA0B;IAC/C,mBAAmB,wBAAwB;IAC3C,0BAA0B,+BAA+B;IAGzD,kBAAkB,uBAAuB;IACzC,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;IAC/D,6BAA6B,kCAAkC;IAG/D,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,0BAA0B,+BAA+B;IACzD,uBAAuB,4BAA4B;IACnD,8BAA8B,mCAAmC;IACjE,4BAA4B,iCAAiC;CAC9D"}
1
+ {"version":3,"file":"Permission.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/enums/Permission.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAEpB,sBAAsB,2BAA2B;IACjD,+BAA+B,oCAAoC;IAGnE,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,wBAAwB,6BAA6B;IACrD,uBAAuB,4BAA4B;IACnD,qCAAqC,0CAA0C;IAC/E,oCAAoC,yCAAyC;IAG7E,oDAAoD,yDAAyD;IAC7G,2CAA2C,gDAAgD;IAC3F,gDAAgD,qDAAqD;IACrG,+CAA+C,oDAAoD;IACnG,kDAAkD,uDAAuD;IACzG,yCAAyC,8CAA8C;IACvF,oCAAoC,yCAAyC;IAC7E,+BAA+B,oCAAoC;IAGnE,4BAA4B,iCAAiC;IAC7D,wBAAwB,6BAA6B;IACrD,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,kCAAkC,uCAAuC;IACzE,oCAAoC,yCAAyC;IAC7E,qCAAqC,0CAA0C;IAC/E,oCAAoC,yCAAyC;IAG7E,mBAAmB,wBAAwB;IAC3C,2BAA2B,gCAAgC;IAC3D,gCAAgC,qCAAqC;IACrE,oBAAoB,yBAAyB;IAC7C,oCAAoC,yCAAyC;IAG7E,gCAAgC,qCAAqC;IACrE,gCAAgC,qCAAqC;IACrE,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,iCAAiC,sCAAsC;IACvE,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAG/D,qCAAqC,0CAA0C;IAC/E,uCAAuC,4CAA4C;IACnF,8BAA8B,mCAAmC;IACjE,gCAAgC,qCAAqC;IACrE,6BAA6B,kCAAkC;IAC/D,+BAA+B,oCAAoC;IACnE,8BAA8B,mCAAmC;IACjE,6BAA6B,kCAAkC;IAG/D,iBAAiB,sBAAsB;IACvC,yBAAyB,8BAA8B;IACvD,qBAAqB,0BAA0B;IAC/C,mBAAmB,wBAAwB;IAC3C,0BAA0B,+BAA+B;IAGzD,kBAAkB,uBAAuB;IACzC,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;IAC/D,6BAA6B,kCAAkC;IAG/D,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,0BAA0B,+BAA+B;IACzD,uBAAuB,4BAA4B;IACnD,8BAA8B,mCAAmC;IACjE,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;CAC9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityContext.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/value-objects/SecurityContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,yBAAyB,CAAC;;IAC/E,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,qBAAqB;IAW5D,SAAS,aAAa,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,OAAO;WA2BrD,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe;WAIhD,cAAc,CAAC,SAAS,EAAE,yBAAyB,GAAG,eAAe;IA2B5E,YAAY,IAAI,yBAAyB;IAQzD,IAAW,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,CAEtC;IAED,IAAW,QAAQ,IAAI,GAAG,CAEzB;IAED,IAAW,WAAW,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAE/E;WAEa,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAE,GAAG,GAAG,IAAW,GAAG,eAAe;IAWzF,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,eAAe;IAQ5C,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;CAO/C"}
1
+ {"version":3,"file":"SecurityContext.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/value-objects/SecurityContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,yBAAyB,CAAC;;IAC/E,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,qBAAqB;IAW5D,SAAS,aAAa,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,OAAO;WA2BrD,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe;WAIhD,cAAc,CAAC,SAAS,EAAE,yBAAyB,GAAG,eAAe;IAmC5E,YAAY,IAAI,yBAAyB;IAQzD,IAAW,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,CAEtC;IAED,IAAW,QAAQ,IAAI,GAAG,CAEzB;IAED,IAAW,WAAW,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAE/E;WAEa,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAE,GAAG,GAAG,IAAW,GAAG,eAAe;IAmBzF,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,eAAe;IAQ5C,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;CAO/C"}
@@ -14,5 +14,8 @@ export interface IUser extends IAggregateRoot, IUserProfile, IUserCredentials {
14
14
  businessStatus: UserBusinessStatus;
15
15
  permissions: UserPermissions;
16
16
  hasPermission(permission: Permission): boolean;
17
+ hasAnyPermission(permissions: Permission[]): boolean;
18
+ hasAllPermissions(permissions: Permission[]): boolean;
19
+ getAllPermissions(): Permission[];
17
20
  }
18
21
  //# sourceMappingURL=IUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IUser.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/entities/IUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,WAAW,KACf,SAAQ,cAAc,EACtB,YAAY,EACZ,gBAAgB;IAChB,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,kBAAkB,CAAC;IACnC,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;CAChD"}
1
+ {"version":3,"file":"IUser.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/entities/IUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,MAAM,WAAW,KACf,SAAQ,cAAc,EACtB,YAAY,EACZ,gBAAgB;IAChB,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,kBAAkB,CAAC;IACnC,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAC/C,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACrD,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACtD,iBAAiB,IAAI,UAAU,EAAE,CAAC;CACnC"}
@@ -24,10 +24,26 @@ export declare abstract class User<T extends UserPrimitives> extends AggregateRo
24
24
  get permissions(): UserPermissions;
25
25
  /**
26
26
  * Verifica si el usuario tiene un permiso específico.
27
- * Mapea los enum Permission a las propiedades boolean del sistema existente.
28
27
  * @param permission - El permiso a verificar
29
28
  * @returns true si el usuario tiene el permiso, false en caso contrario
30
29
  */
31
30
  hasPermission(permission: Permission): boolean;
31
+ /**
32
+ * Verifica si el usuario tiene alguno de los permisos especificados.
33
+ * @param permissions - Array de permisos a verificar
34
+ * @returns true si el usuario tiene al menos uno de los permisos, false en caso contrario
35
+ */
36
+ hasAnyPermission(permissions: Permission[]): boolean;
37
+ /**
38
+ * Verifica si el usuario tiene todos los permisos especificados.
39
+ * @param permissions - Array de permisos a verificar
40
+ * @returns true si el usuario tiene todos los permisos, false en caso contrario
41
+ */
42
+ hasAllPermissions(permissions: Permission[]): boolean;
43
+ /**
44
+ * Obtiene todos los permisos del usuario como array de enums.
45
+ * @returns Array de permisos del usuario
46
+ */
47
+ getAllPermissions(): Permission[];
32
48
  }
33
49
  //# sourceMappingURL=User.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/entities/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,8BAAsB,IAAI,CAAC,CAAC,SAAS,cAAc,CACjD,SAAQ,aAAa,CAAC,CAAC,CACvB,YAAW,KAAK;;IAiBhB,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO;IA8BrE,IAAI,WAAW,IAAI,eAAe,CAEjC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED,IAAI,KAAK,IAAI,SAAS,CAErB;IAED,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED,IAAI,cAAc,IAAI,kBAAkB,CAEvC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,YAAY,IAAI,gBAAgB,CAEnC;IAED,IAAI,WAAW,IAAI,eAAe,CAEjC;IAED;;;;;OAKG;IACI,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CA8JtD"}
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/entities/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,8BAAsB,IAAI,CAAC,CAAC,SAAS,cAAc,CACjD,SAAQ,aAAa,CAAC,CAAC,CACvB,YAAW,KAAK;;IAiBhB,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO;IA8BrE,IAAI,WAAW,IAAI,eAAe,CAEjC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED,IAAI,KAAK,IAAI,SAAS,CAErB;IAED,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED,IAAI,cAAc,IAAI,kBAAkB,CAEvC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,YAAY,IAAI,gBAAgB,CAEnC;IAED,IAAI,WAAW,IAAI,eAAe,CAEjC;IAED;;;;OAIG;IACI,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIrD;;;;OAIG;IACI,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IAI3D;;;;OAIG;IACI,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IAI5D;;;OAGG;IACI,iBAAiB,IAAI,UAAU,EAAE;CAGzC"}
@@ -0,0 +1,92 @@
1
+ import { IEither } from '../../../either';
2
+ import { InvalidDateFormatError } from '../../exceptions/InvalidDateFormatError';
3
+ /**
4
+ * Interface for Date and DateTime formatting domain service.
5
+ * Provides centralized business logic for date/datetime handling across the domain.
6
+ * Uses Either pattern for functional error handling.
7
+ */
8
+ export interface IDateTimeFormattingDomainService {
9
+ /**
10
+ * Validates if a date string has the correct format (DD/MM/YYYY)
11
+ * @param dateValue The date string to validate
12
+ * @returns Either with validation result or error
13
+ */
14
+ isValidDateFormat(dateValue: string): IEither<InvalidDateFormatError, boolean>;
15
+ /**
16
+ * Validates if a datetime string has the correct format (DD/MM/YYYY HH:mm:ss)
17
+ * @param dateTimeValue The datetime string to validate
18
+ * @returns Either with validation result or error
19
+ */
20
+ isValidDateTimeFormat(dateTimeValue: string): IEither<InvalidDateFormatError, boolean>;
21
+ /**
22
+ * Formats a Date object to a date string (DD/MM/YYYY)
23
+ * @param date The Date object to format
24
+ * @returns Either with formatted date string or error
25
+ */
26
+ formatDateToString(date: Date): IEither<InvalidDateFormatError, string>;
27
+ /**
28
+ * Formats a Date object to a datetime string (DD/MM/YYYY HH:mm:ss)
29
+ * @param date The Date object to format
30
+ * @returns Either with formatted datetime string or error
31
+ */
32
+ formatDateTimeToString(date: Date): IEither<InvalidDateFormatError, string>;
33
+ /**
34
+ * Gets the current date formatted as a string (DD/MM/YYYY)
35
+ * @returns Either with current date string or error
36
+ */
37
+ getCurrentDateString(): IEither<InvalidDateFormatError, string>;
38
+ /**
39
+ * Gets the current datetime formatted as a string (DD/MM/YYYY HH:mm:ss)
40
+ * @returns Either with current datetime string or error
41
+ */
42
+ getCurrentDateTimeString(): IEither<InvalidDateFormatError, string>;
43
+ /**
44
+ * Parses a date string (DD/MM/YYYY) to a Date object
45
+ * @param dateString The date string to parse
46
+ * @returns Either with parsed Date object or error
47
+ */
48
+ parseDateString(dateString: string): IEither<InvalidDateFormatError, Date>;
49
+ /**
50
+ * Parses a datetime string (DD/MM/YYYY HH:mm:ss) to a Date object
51
+ * @param dateTimeString The datetime string to parse
52
+ * @returns Either with parsed Date object or error
53
+ */
54
+ parseDateTimeString(dateTimeString: string): IEither<InvalidDateFormatError, Date>;
55
+ /**
56
+ * Validates if a date string represents a valid calendar date
57
+ * @param dateString The date string to validate
58
+ * @returns Either with validation result or error
59
+ */
60
+ isValidDate(dateString: string): IEither<InvalidDateFormatError, boolean>;
61
+ /**
62
+ * Validates if a datetime string represents a valid calendar datetime
63
+ * @param dateTimeString The datetime string to validate
64
+ * @returns Either with validation result or error
65
+ */
66
+ isValidDateTime(dateTimeString: string): IEither<InvalidDateFormatError, boolean>;
67
+ /**
68
+ * Compares two date strings
69
+ * @param dateString1 First date string
70
+ * @param dateString2 Second date string
71
+ * @returns Either with comparison result (negative if first is earlier, positive if later, 0 if equal) or error
72
+ */
73
+ compareDates(dateString1: string, dateString2: string): IEither<InvalidDateFormatError, number>;
74
+ /**
75
+ * Compares two datetime strings
76
+ * @param dateTimeString1 First datetime string
77
+ * @param dateTimeString2 Second datetime string
78
+ * @returns Either with comparison result (negative if first is earlier, positive if later, 0 if equal) or error
79
+ */
80
+ compareDateTimes(dateTimeString1: string, dateTimeString2: string): IEither<InvalidDateFormatError, number>;
81
+ /**
82
+ * Gets the supported date format string
83
+ * @returns The date format string
84
+ */
85
+ getDateFormat(): string;
86
+ /**
87
+ * Gets the supported datetime format string
88
+ * @returns The datetime format string
89
+ */
90
+ getDateTimeFormat(): string;
91
+ }
92
+ //# sourceMappingURL=IDateTimeFormattingDomainService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDateTimeFormattingDomainService.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/services/contracts/IDateTimeFormattingDomainService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAE/E;;;;OAIG;IACH,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAEvF;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAExE;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAE5E;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAEhE;;;OAGG;IACH,wBAAwB,IAAI,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAEpE;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAE3E;;;;OAIG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAEnF;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAE1E;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAElF;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAEhG;;;;;OAKG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAE5G;;;OAGG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;OAGG;IACH,iBAAiB,IAAI,MAAM,CAAC;CAC7B"}