@carbonbox/domain 0.3.5 → 0.4.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 (34) hide show
  1. package/build/carbonbox/shared/domain/authorization/enums/Permission.js +1 -0
  2. package/build/carbonbox/shared/domain/entities/User.js +26 -144
  3. package/build/carbonbox/shared/domain/value-objects/UserPermissions.js +284 -566
  4. package/build/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.js +3 -3
  5. package/build/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.js +3 -72
  6. package/build/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.js +3 -3
  7. package/build/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.js +3 -72
  8. package/build/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.js +4 -4
  9. package/build/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.js +3 -65
  10. package/build/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.js +3 -3
  11. package/build/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.js +3 -74
  12. package/build/carbonbox/stakeholders/shared/domain/entity/Stakeholder.js +2 -2
  13. package/build/main/index.js +5 -3
  14. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts +2 -1
  15. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts.map +1 -1
  16. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts +3 -0
  17. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts.map +1 -1
  18. package/build/types/carbonbox/shared/domain/entities/User.d.ts +17 -1
  19. package/build/types/carbonbox/shared/domain/entities/User.d.ts.map +1 -1
  20. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts +2 -2
  21. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts.map +1 -1
  22. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts +2 -2
  23. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts.map +1 -1
  24. package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts +26 -67
  25. package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts.map +1 -1
  26. package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.d.ts.map +1 -1
  27. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.d.ts.map +1 -1
  28. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts.map +1 -1
  29. package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.d.ts.map +1 -1
  30. package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.d.ts.map +1 -1
  31. package/build/types/carbonbox/stakeholders/shared/domain/entity/Stakeholder.d.ts.map +1 -1
  32. package/build/types/main/index.d.ts +2 -3
  33. package/build/types/main/index.d.ts.map +1 -1
  34. package/package.json +1 -1
@@ -74,4 +74,5 @@ var Permission;
74
74
  Permission["CAN_MANAGE_CARBON_HOSTS"] = "CAN_MANAGE_CARBON_HOSTS";
75
75
  Permission["CAN_VIEW_STAKEHOLDER_HIERARCHY"] = "CAN_VIEW_STAKEHOLDER_HIERARCHY";
76
76
  Permission["CAN_ASSIGN_STAKEHOLDER_ROLES"] = "CAN_ASSIGN_STAKEHOLDER_ROLES";
77
+ Permission["CAN_MANAGE_STAKEHOLDER_ROLES"] = "CAN_MANAGE_STAKEHOLDER_ROLES";
77
78
  })(Permission || (exports.Permission = Permission = {}));
@@ -10,7 +10,7 @@ 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 _User_instances, _User_displayName, _User_avatar, _User_email, _User_password, _User_businessStatus, _User_userType, _User_lastAccessAt, _User_permissions, _User_mapPermissionToBoolean;
13
+ var _User_displayName, _User_avatar, _User_email, _User_password, _User_businessStatus, _User_userType, _User_lastAccessAt, _User_permissions;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.User = void 0;
16
16
  const UserAvatar_1 = require("../value-objects/UserAvatar");
@@ -22,7 +22,6 @@ const UserLastAccessAt_1 = require("../value-objects/UserLastAccessAt");
22
22
  const UserPassword_1 = require("../value-objects/UserPassword");
23
23
  const UserType_1 = require("../value-objects/UserType");
24
24
  const AggregateRoot_1 = require("./AggregateRoot");
25
- const Permission_1 = require("../authorization/enums/Permission");
26
25
  const UserPermissions_1 = require("../value-objects/UserPermissions");
27
26
  class User extends AggregateRoot_1.AggregateRoot {
28
27
  constructor(props, skipDomainValidation) {
@@ -30,7 +29,6 @@ class User extends AggregateRoot_1.AggregateRoot {
30
29
  ? UserId_1.UserId.fromPrimitives(props.id).toPrimitives()
31
30
  : UserId_1.UserId.create(props.id).toPrimitives();
32
31
  super({ id }, skipDomainValidation);
33
- _User_instances.add(this);
34
32
  _User_displayName.set(this, void 0);
35
33
  _User_avatar.set(this, void 0);
36
34
  _User_email.set(this, void 0);
@@ -88,151 +86,35 @@ class User extends AggregateRoot_1.AggregateRoot {
88
86
  }
89
87
  /**
90
88
  * Verifica si el usuario tiene un permiso específico.
91
- * Mapea los enum Permission a las propiedades boolean del sistema existente.
92
89
  * @param permission - El permiso a verificar
93
90
  * @returns true si el usuario tiene el permiso, false en caso contrario
94
91
  */
95
92
  hasPermission(permission) {
96
- return __classPrivateFieldGet(this, _User_instances, "m", _User_mapPermissionToBoolean).call(this, permission);
93
+ return __classPrivateFieldGet(this, _User_permissions, "f").hasPermission(permission);
94
+ }
95
+ /**
96
+ * Verifica si el usuario tiene alguno de los permisos especificados.
97
+ * @param permissions - Array de permisos a verificar
98
+ * @returns true si el usuario tiene al menos uno de los permisos, false en caso contrario
99
+ */
100
+ hasAnyPermission(permissions) {
101
+ return __classPrivateFieldGet(this, _User_permissions, "f").hasAnyPermission(permissions);
102
+ }
103
+ /**
104
+ * Verifica si el usuario tiene todos los permisos especificados.
105
+ * @param permissions - Array de permisos a verificar
106
+ * @returns true si el usuario tiene todos los permisos, false en caso contrario
107
+ */
108
+ hasAllPermissions(permissions) {
109
+ return __classPrivateFieldGet(this, _User_permissions, "f").hasAllPermissions(permissions);
110
+ }
111
+ /**
112
+ * Obtiene todos los permisos del usuario como array de enums.
113
+ * @returns Array de permisos del usuario
114
+ */
115
+ getAllPermissions() {
116
+ return __classPrivateFieldGet(this, _User_permissions, "f").getAllPermissions();
97
117
  }
98
118
  }
99
119
  exports.User = User;
100
- _User_displayName = new WeakMap(), _User_avatar = new WeakMap(), _User_email = new WeakMap(), _User_password = new WeakMap(), _User_businessStatus = new WeakMap(), _User_userType = new WeakMap(), _User_lastAccessAt = new WeakMap(), _User_permissions = new WeakMap(), _User_instances = new WeakSet(), _User_mapPermissionToBoolean = function _User_mapPermissionToBoolean(permission) {
101
- const permissions = __classPrivateFieldGet(this, _User_permissions, "f");
102
- switch (permission) {
103
- // System Administration
104
- case Permission_1.Permission.CAN_ACCESS_ALL_MODULES:
105
- return permissions.canAccessAllModules ?? false;
106
- case Permission_1.Permission.CAN_MANAGE_SYSTEM_CONFIGURATION:
107
- return permissions.canManageSystemConfiguration ?? false;
108
- // User Management
109
- case Permission_1.Permission.CAN_MANAGE_ALL_USERS:
110
- return permissions.canManageAllUsers ?? false;
111
- case Permission_1.Permission.CAN_MANAGE_COMPANIES:
112
- return permissions.canManageCompanies ?? false;
113
- case Permission_1.Permission.CAN_ASSIGN_HOST_MANAGERS:
114
- return permissions.canAssignHostManagers ?? false;
115
- case Permission_1.Permission.CAN_ASSIGN_COORDINATORS:
116
- return permissions.canAssignCoordinators ?? false;
117
- case Permission_1.Permission.CAN_ASSIGN_COMPANIES_TO_HOST_MANAGERS:
118
- return permissions.canAssignCompaniesToHostManagers ?? false;
119
- case Permission_1.Permission.CAN_ASSIGN_COMPANIES_TO_COORDINATORS:
120
- return permissions.canAssignCompaniesToCoordinators ?? false;
121
- // Carbon Footprint Configuration
122
- case Permission_1.Permission.CAN_MANAGE_CORPORATE_CARBON_FOOTPRINT_CONFIGURATIONS:
123
- return permissions.canManageCorporateCarbonFootprintConfigurations ?? false;
124
- case Permission_1.Permission.CAN_MANAGE_CORPORATE_SEGMENT_CONFIGURATIONS:
125
- return permissions.canManageCorporateSegmentConfigurations ?? false;
126
- case Permission_1.Permission.CAN_MANAGE_EVENT_CARBON_FOOTPRINT_CONFIGURATIONS:
127
- return permissions.canManageEventCarbonFootprintConfigurations ?? false;
128
- case Permission_1.Permission.CAN_MANAGE_EVENT_LIFECYCLE_STAGE_CONFIGURATIONS:
129
- return permissions.canManageEventLifecycleStageConfigurations ?? false;
130
- case Permission_1.Permission.CAN_MANAGE_PRODUCT_CARBON_FOOTPRINT_CONFIGURATIONS:
131
- return permissions.canManageProductCarbonFootprintConfigurations ?? false;
132
- case Permission_1.Permission.CAN_MANAGE_PRODUCT_SEGMENT_CONFIGURATIONS:
133
- return permissions.canManageProductSegmentConfigurations ?? false;
134
- case Permission_1.Permission.CAN_MANAGE_PRODUCT_SYSTEM_BOUNDARIES:
135
- return permissions.canManageProductSystemBoundaries ?? false;
136
- case Permission_1.Permission.CAN_MANAGE_INTENSITY_INDICATORS:
137
- return permissions.canManageIntensityIndicators ?? false;
138
- // Activity Data Collection
139
- case Permission_1.Permission.CAN_MANAGE_COLLECTION_FIELDS:
140
- return permissions.canManageCollectionFields ?? false;
141
- case Permission_1.Permission.CAN_MANAGE_DYNAMIC_FORMS:
142
- return permissions.canManageDynamicForms ?? false;
143
- case Permission_1.Permission.CAN_MANAGE_CONDITIONAL_LOGIC:
144
- return permissions.canManageConditionalLogic ?? false;
145
- case Permission_1.Permission.CAN_MANAGE_CONTEXTUAL_LABELS:
146
- return permissions.canManageContextualLabels ?? false;
147
- case Permission_1.Permission.CAN_MANAGE_STAKEHOLDER_ADAPTATIONS:
148
- return permissions.canManageStakeholderAdaptations ?? false;
149
- case Permission_1.Permission.CAN_MANAGE_ACTIVITY_DATA_SUBMISSIONS:
150
- return permissions.canManageActivityDataSubmissions ?? false;
151
- case Permission_1.Permission.CAN_APPROVE_ACTIVITY_DATA_SUBMISSIONS:
152
- return permissions.canApproveActivityDataSubmissions ?? false;
153
- case Permission_1.Permission.CAN_REJECT_ACTIVITY_DATA_SUBMISSIONS:
154
- return permissions.canRejectActivityDataSubmissions ?? false;
155
- // Emission Calculation Formula
156
- case Permission_1.Permission.CAN_MANAGE_FORMULAS:
157
- return permissions.canManageFormulas ?? false;
158
- case Permission_1.Permission.CAN_MANAGE_EMISSION_FACTORS:
159
- return permissions.canManageEmissionFactors ?? false;
160
- case Permission_1.Permission.CAN_MANAGE_CALCULATION_VARIABLES:
161
- return permissions.canManageCalculationVariables ?? false;
162
- case Permission_1.Permission.CAN_MANAGE_CONSTANTS:
163
- return permissions.canManageConstants ?? false;
164
- case Permission_1.Permission.CAN_MANAGE_GLOBAL_WARMING_POTENTIALS:
165
- return permissions.canManageGlobalWarmingPotentials ?? false;
166
- // Emission Calculation Process
167
- case Permission_1.Permission.CAN_MANAGE_CALCULATION_PROCESSES:
168
- return permissions.canManageCalculationProcesses ?? false;
169
- case Permission_1.Permission.CAN_MANAGE_CALCULATION_WORKFLOWS:
170
- return permissions.canManageCalculationWorkflows ?? false;
171
- case Permission_1.Permission.CAN_MANAGE_CALCULATION_JOBS:
172
- return permissions.canManageCalculationJobs ?? false;
173
- case Permission_1.Permission.CAN_EXECUTE_CALCULATION_JOBS:
174
- return permissions.canExecuteCalculationJobs ?? false;
175
- case Permission_1.Permission.CAN_MONITOR_CALCULATION_PROCESSES:
176
- return permissions.canMonitorCalculationProcesses ?? false;
177
- case Permission_1.Permission.CAN_CANCEL_CALCULATION_JOBS:
178
- return permissions.canCancelCalculationJobs ?? false;
179
- case Permission_1.Permission.CAN_RETRY_FAILED_CALCULATIONS:
180
- return permissions.canRetryFailedCalculations ?? false;
181
- // Emission Calculation Results
182
- case Permission_1.Permission.CAN_VIEW_EMISSION_CALCULATION_RESULTS:
183
- return permissions.canViewEmissionCalculationResults ?? false;
184
- case Permission_1.Permission.CAN_MANAGE_EMISSION_CALCULATION_RESULTS:
185
- return permissions.canManageEmissionCalculationResults ?? false;
186
- case Permission_1.Permission.CAN_VIEW_EMISSION_AGGREGATIONS:
187
- return permissions.canViewEmissionAggregations ?? false;
188
- case Permission_1.Permission.CAN_MANAGE_EMISSION_AGGREGATIONS:
189
- return permissions.canManageEmissionAggregations ?? false;
190
- case Permission_1.Permission.CAN_VIEW_GHG_EMISSION_RESULTS:
191
- return permissions.canViewGHGEmissionResults ?? false;
192
- case Permission_1.Permission.CAN_MANAGE_GHG_EMISSION_RESULTS:
193
- return permissions.canManageGHGEmissionResults ?? false;
194
- case Permission_1.Permission.CAN_EXPORT_CALCULATION_RESULTS:
195
- return permissions.canExportCalculationResults ?? false;
196
- case Permission_1.Permission.CAN_GENERATE_EMISSION_REPORTS:
197
- return permissions.canGenerateEmissionReports ?? false;
198
- // Company Resources
199
- case Permission_1.Permission.CAN_MANAGE_EVENTS:
200
- return permissions.canManageEvents ?? false;
201
- case Permission_1.Permission.CAN_MANAGE_EVENT_EDITIONS:
202
- return permissions.canManageEventEditions ?? false;
203
- case Permission_1.Permission.CAN_MANAGE_FACILITIES:
204
- return permissions.canManageFacilities ?? false;
205
- case Permission_1.Permission.CAN_MANAGE_PRODUCTS:
206
- return permissions.canManageProducts ?? false;
207
- case Permission_1.Permission.CAN_VIEW_COMPANY_RESOURCES:
208
- return permissions.canViewCompanyResources ?? false;
209
- // Purchase Management
210
- case Permission_1.Permission.CAN_VIEW_PURCHASES:
211
- return permissions.canViewPurchases ?? false;
212
- case Permission_1.Permission.CAN_CREATE_PURCHASE_ORDERS:
213
- return permissions.canCreatePurchaseOrders ?? false;
214
- case Permission_1.Permission.CAN_UPDATE_PURCHASE_ORDERS:
215
- return permissions.canUpdatePurchaseOrders ?? false;
216
- case Permission_1.Permission.CAN_DELETE_PURCHASE_ORDERS:
217
- return permissions.canDeletePurchaseOrders ?? false;
218
- case Permission_1.Permission.CAN_MANAGE_PURCHASE_CONTRACTS:
219
- return permissions.canManagePurchaseContracts ?? false;
220
- case Permission_1.Permission.CAN_CONFIGURE_SERVICE_PRICING:
221
- return permissions.canConfigureServicePricing ?? false;
222
- // Stakeholder Management
223
- case Permission_1.Permission.CAN_MANAGE_CARBON_CLIENTS:
224
- return permissions.canManageCarbonClients ?? false;
225
- case Permission_1.Permission.CAN_MANAGE_CARBON_COORDINATORS:
226
- return permissions.canManageCarbonCoordinators ?? false;
227
- case Permission_1.Permission.CAN_MANAGE_CARBON_MANAGERS:
228
- return permissions.canManageCarbonManagers ?? false;
229
- case Permission_1.Permission.CAN_MANAGE_CARBON_HOSTS:
230
- return permissions.canManageCarbonHosts ?? false;
231
- case Permission_1.Permission.CAN_VIEW_STAKEHOLDER_HIERARCHY:
232
- return permissions.canViewStakeholderHierarchy ?? false;
233
- case Permission_1.Permission.CAN_ASSIGN_STAKEHOLDER_ROLES:
234
- return permissions.canAssignStakeholderRoles ?? false;
235
- default:
236
- return false;
237
- }
238
- };
120
+ _User_displayName = new WeakMap(), _User_avatar = new WeakMap(), _User_email = new WeakMap(), _User_password = new WeakMap(), _User_businessStatus = new WeakMap(), _User_userType = new WeakMap(), _User_lastAccessAt = new WeakMap(), _User_permissions = new WeakMap();