@carbonbox/domain 0.3.3 → 0.3.5
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.
- package/build/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.js +2 -0
- package/build/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.js +2 -0
- package/build/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.js +9 -0
- package/build/carbonbox/shared/domain/authorization/enums/Permission.js +77 -0
- package/build/carbonbox/shared/domain/authorization/value-objects/PermissionSet.js +127 -0
- package/build/carbonbox/shared/domain/authorization/value-objects/SecurityContext.js +105 -0
- package/build/carbonbox/shared/domain/entities/User.js +158 -2
- package/build/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.js +48 -0
- package/build/carbonbox/shared/domain/types/PermissionSet.js +2 -0
- package/build/carbonbox/shared/domain/types/PermissionSetPrimitives.js +2 -0
- package/build/carbonbox/shared/domain/types/SecurityContext.js +2 -0
- package/build/carbonbox/shared/domain/types/SecurityContextPrimitives.js +2 -0
- package/build/carbonbox/shared/domain/types/UserPermissionsValue.js +2 -0
- package/build/carbonbox/shared/domain/value-objects/UserPermissions.js +617 -0
- package/build/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.js +6 -8
- package/build/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.js +36 -350
- package/build/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.js +7 -9
- package/build/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.js +39 -290
- package/build/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.js +4 -25
- package/build/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.js +63 -134
- package/build/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.js +6 -8
- package/build/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.js +11 -315
- package/build/carbonbox/stakeholders/shared/domain/entity/Stakeholder.js +5 -0
- package/build/carbonbox/stakeholders/shared/domain/types/StakeholderPermissions.js +2 -0
- package/build/carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions.js +7 -0
- package/build/main/index.js +19 -1
- package/build/types/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.d.ts +24 -0
- package/build/types/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.d.ts +27 -0
- package/build/types/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.d.ts +6 -0
- package/build/types/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts +64 -0
- package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/authorization/value-objects/PermissionSet.d.ts +31 -0
- package/build/types/carbonbox/shared/domain/authorization/value-objects/PermissionSet.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/authorization/value-objects/SecurityContext.d.ts +23 -0
- package/build/types/carbonbox/shared/domain/authorization/value-objects/SecurityContext.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/entities/IUser.d.ts +4 -0
- package/build/types/carbonbox/shared/domain/entities/IUser.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/entities/User.d.ts +10 -0
- package/build/types/carbonbox/shared/domain/entities/User.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.d.ts +11 -0
- package/build/types/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/repositories/IUserRepository.d.ts +101 -9
- package/build/types/carbonbox/shared/domain/repositories/IUserRepository.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/PermissionSet.d.ts +5 -0
- package/build/types/carbonbox/shared/domain/types/PermissionSet.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/PermissionSetPrimitives.d.ts +4 -0
- package/build/types/carbonbox/shared/domain/types/PermissionSetPrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/SecurityContext.d.ts +11 -0
- package/build/types/carbonbox/shared/domain/types/SecurityContext.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/SecurityContextPrimitives.d.ts +10 -0
- package/build/types/carbonbox/shared/domain/types/SecurityContextPrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissions.d.ts +1 -0
- package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissions.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.d.ts +1 -0
- package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/UserPermissionsValue.d.ts +12 -0
- package/build/types/carbonbox/shared/domain/types/UserPermissionsValue.d.ts.map +1 -0
- package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts +2 -0
- package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/types/UserProps.d.ts +2 -0
- package/build/types/carbonbox/shared/domain/types/UserProps.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts +72 -0
- package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts.map +1 -0
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/ICarbonClient.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/ICarbonClient.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/repository/ICarbonClientRepository.d.ts +51 -6
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/repository/ICarbonClientRepository.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientPrimitives.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientProps.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientProps.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.d.ts +2 -50
- package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/ICarbonCoordinator.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/ICarbonCoordinator.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/repository/ICarbonCoordinatorRepository.d.ts +46 -6
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/repository/ICarbonCoordinatorRepository.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorPrimitives.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorProps.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorProps.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.d.ts +2 -11
- package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts +0 -3
- package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/ICarbonHost.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/ICarbonHost.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-host/domain/repository/ICarbonHostRepository.d.ts +31 -6
- package/build/types/carbonbox/stakeholders/carbon-host/domain/repository/ICarbonHostRepository.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostPrimitives.d.ts +1 -4
- package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostProps.d.ts +1 -4
- package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostProps.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.d.ts +2 -24
- package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/ICarbonManager.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/ICarbonManager.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/repository/ICarbonManagerRepository.d.ts +26 -6
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/repository/ICarbonManagerRepository.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerPrimitives.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerProps.d.ts +0 -2
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerProps.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.d.ts +2 -11
- package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/shared/domain/entity/Stakeholder.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/shared/domain/repository/IStakeholderRepository.d.ts +31 -10
- package/build/types/carbonbox/stakeholders/shared/domain/repository/IStakeholderRepository.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderPermissions.d.ts +10 -0
- package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderPermissions.d.ts.map +1 -0
- package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions.d.ts +4 -0
- package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions.d.ts.map +1 -0
- package/build/types/main/index.d.ts +14 -12
- package/build/types/main/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthorizationDecision = void 0;
|
|
4
|
+
var AuthorizationDecision;
|
|
5
|
+
(function (AuthorizationDecision) {
|
|
6
|
+
AuthorizationDecision["PERMIT"] = "PERMIT";
|
|
7
|
+
AuthorizationDecision["DENY"] = "DENY";
|
|
8
|
+
AuthorizationDecision["NOT_APPLICABLE"] = "NOT_APPLICABLE";
|
|
9
|
+
})(AuthorizationDecision || (exports.AuthorizationDecision = AuthorizationDecision = {}));
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Permission = void 0;
|
|
4
|
+
var Permission;
|
|
5
|
+
(function (Permission) {
|
|
6
|
+
// System Administration
|
|
7
|
+
Permission["CAN_ACCESS_ALL_MODULES"] = "CAN_ACCESS_ALL_MODULES";
|
|
8
|
+
Permission["CAN_MANAGE_SYSTEM_CONFIGURATION"] = "CAN_MANAGE_SYSTEM_CONFIGURATION";
|
|
9
|
+
// User Management
|
|
10
|
+
Permission["CAN_MANAGE_ALL_USERS"] = "CAN_MANAGE_ALL_USERS";
|
|
11
|
+
Permission["CAN_MANAGE_COMPANIES"] = "CAN_MANAGE_COMPANIES";
|
|
12
|
+
Permission["CAN_ASSIGN_HOST_MANAGERS"] = "CAN_ASSIGN_HOST_MANAGERS";
|
|
13
|
+
Permission["CAN_ASSIGN_COORDINATORS"] = "CAN_ASSIGN_COORDINATORS";
|
|
14
|
+
Permission["CAN_ASSIGN_COMPANIES_TO_HOST_MANAGERS"] = "CAN_ASSIGN_COMPANIES_TO_HOST_MANAGERS";
|
|
15
|
+
Permission["CAN_ASSIGN_COMPANIES_TO_COORDINATORS"] = "CAN_ASSIGN_COMPANIES_TO_COORDINATORS";
|
|
16
|
+
// Carbon Footprint Configuration
|
|
17
|
+
Permission["CAN_MANAGE_CORPORATE_CARBON_FOOTPRINT_CONFIGURATIONS"] = "CAN_MANAGE_CORPORATE_CARBON_FOOTPRINT_CONFIGURATIONS";
|
|
18
|
+
Permission["CAN_MANAGE_CORPORATE_SEGMENT_CONFIGURATIONS"] = "CAN_MANAGE_CORPORATE_SEGMENT_CONFIGURATIONS";
|
|
19
|
+
Permission["CAN_MANAGE_EVENT_CARBON_FOOTPRINT_CONFIGURATIONS"] = "CAN_MANAGE_EVENT_CARBON_FOOTPRINT_CONFIGURATIONS";
|
|
20
|
+
Permission["CAN_MANAGE_EVENT_LIFECYCLE_STAGE_CONFIGURATIONS"] = "CAN_MANAGE_EVENT_LIFECYCLE_STAGE_CONFIGURATIONS";
|
|
21
|
+
Permission["CAN_MANAGE_PRODUCT_CARBON_FOOTPRINT_CONFIGURATIONS"] = "CAN_MANAGE_PRODUCT_CARBON_FOOTPRINT_CONFIGURATIONS";
|
|
22
|
+
Permission["CAN_MANAGE_PRODUCT_SEGMENT_CONFIGURATIONS"] = "CAN_MANAGE_PRODUCT_SEGMENT_CONFIGURATIONS";
|
|
23
|
+
Permission["CAN_MANAGE_PRODUCT_SYSTEM_BOUNDARIES"] = "CAN_MANAGE_PRODUCT_SYSTEM_BOUNDARIES";
|
|
24
|
+
Permission["CAN_MANAGE_INTENSITY_INDICATORS"] = "CAN_MANAGE_INTENSITY_INDICATORS";
|
|
25
|
+
// Activity Data Collection
|
|
26
|
+
Permission["CAN_MANAGE_COLLECTION_FIELDS"] = "CAN_MANAGE_COLLECTION_FIELDS";
|
|
27
|
+
Permission["CAN_MANAGE_DYNAMIC_FORMS"] = "CAN_MANAGE_DYNAMIC_FORMS";
|
|
28
|
+
Permission["CAN_MANAGE_CONDITIONAL_LOGIC"] = "CAN_MANAGE_CONDITIONAL_LOGIC";
|
|
29
|
+
Permission["CAN_MANAGE_CONTEXTUAL_LABELS"] = "CAN_MANAGE_CONTEXTUAL_LABELS";
|
|
30
|
+
Permission["CAN_MANAGE_STAKEHOLDER_ADAPTATIONS"] = "CAN_MANAGE_STAKEHOLDER_ADAPTATIONS";
|
|
31
|
+
Permission["CAN_MANAGE_ACTIVITY_DATA_SUBMISSIONS"] = "CAN_MANAGE_ACTIVITY_DATA_SUBMISSIONS";
|
|
32
|
+
Permission["CAN_APPROVE_ACTIVITY_DATA_SUBMISSIONS"] = "CAN_APPROVE_ACTIVITY_DATA_SUBMISSIONS";
|
|
33
|
+
Permission["CAN_REJECT_ACTIVITY_DATA_SUBMISSIONS"] = "CAN_REJECT_ACTIVITY_DATA_SUBMISSIONS";
|
|
34
|
+
// Emission Calculation Formula
|
|
35
|
+
Permission["CAN_MANAGE_FORMULAS"] = "CAN_MANAGE_FORMULAS";
|
|
36
|
+
Permission["CAN_MANAGE_EMISSION_FACTORS"] = "CAN_MANAGE_EMISSION_FACTORS";
|
|
37
|
+
Permission["CAN_MANAGE_CALCULATION_VARIABLES"] = "CAN_MANAGE_CALCULATION_VARIABLES";
|
|
38
|
+
Permission["CAN_MANAGE_CONSTANTS"] = "CAN_MANAGE_CONSTANTS";
|
|
39
|
+
Permission["CAN_MANAGE_GLOBAL_WARMING_POTENTIALS"] = "CAN_MANAGE_GLOBAL_WARMING_POTENTIALS";
|
|
40
|
+
// Emission Calculation Process
|
|
41
|
+
Permission["CAN_MANAGE_CALCULATION_PROCESSES"] = "CAN_MANAGE_CALCULATION_PROCESSES";
|
|
42
|
+
Permission["CAN_MANAGE_CALCULATION_WORKFLOWS"] = "CAN_MANAGE_CALCULATION_WORKFLOWS";
|
|
43
|
+
Permission["CAN_MANAGE_CALCULATION_JOBS"] = "CAN_MANAGE_CALCULATION_JOBS";
|
|
44
|
+
Permission["CAN_EXECUTE_CALCULATION_JOBS"] = "CAN_EXECUTE_CALCULATION_JOBS";
|
|
45
|
+
Permission["CAN_MONITOR_CALCULATION_PROCESSES"] = "CAN_MONITOR_CALCULATION_PROCESSES";
|
|
46
|
+
Permission["CAN_CANCEL_CALCULATION_JOBS"] = "CAN_CANCEL_CALCULATION_JOBS";
|
|
47
|
+
Permission["CAN_RETRY_FAILED_CALCULATIONS"] = "CAN_RETRY_FAILED_CALCULATIONS";
|
|
48
|
+
// Emission Calculation Results
|
|
49
|
+
Permission["CAN_VIEW_EMISSION_CALCULATION_RESULTS"] = "CAN_VIEW_EMISSION_CALCULATION_RESULTS";
|
|
50
|
+
Permission["CAN_MANAGE_EMISSION_CALCULATION_RESULTS"] = "CAN_MANAGE_EMISSION_CALCULATION_RESULTS";
|
|
51
|
+
Permission["CAN_VIEW_EMISSION_AGGREGATIONS"] = "CAN_VIEW_EMISSION_AGGREGATIONS";
|
|
52
|
+
Permission["CAN_MANAGE_EMISSION_AGGREGATIONS"] = "CAN_MANAGE_EMISSION_AGGREGATIONS";
|
|
53
|
+
Permission["CAN_VIEW_GHG_EMISSION_RESULTS"] = "CAN_VIEW_GHG_EMISSION_RESULTS";
|
|
54
|
+
Permission["CAN_MANAGE_GHG_EMISSION_RESULTS"] = "CAN_MANAGE_GHG_EMISSION_RESULTS";
|
|
55
|
+
Permission["CAN_EXPORT_CALCULATION_RESULTS"] = "CAN_EXPORT_CALCULATION_RESULTS";
|
|
56
|
+
Permission["CAN_GENERATE_EMISSION_REPORTS"] = "CAN_GENERATE_EMISSION_REPORTS";
|
|
57
|
+
// Company Resources
|
|
58
|
+
Permission["CAN_MANAGE_EVENTS"] = "CAN_MANAGE_EVENTS";
|
|
59
|
+
Permission["CAN_MANAGE_EVENT_EDITIONS"] = "CAN_MANAGE_EVENT_EDITIONS";
|
|
60
|
+
Permission["CAN_MANAGE_FACILITIES"] = "CAN_MANAGE_FACILITIES";
|
|
61
|
+
Permission["CAN_MANAGE_PRODUCTS"] = "CAN_MANAGE_PRODUCTS";
|
|
62
|
+
Permission["CAN_VIEW_COMPANY_RESOURCES"] = "CAN_VIEW_COMPANY_RESOURCES";
|
|
63
|
+
// Purchase Management
|
|
64
|
+
Permission["CAN_VIEW_PURCHASES"] = "CAN_VIEW_PURCHASES";
|
|
65
|
+
Permission["CAN_CREATE_PURCHASE_ORDERS"] = "CAN_CREATE_PURCHASE_ORDERS";
|
|
66
|
+
Permission["CAN_UPDATE_PURCHASE_ORDERS"] = "CAN_UPDATE_PURCHASE_ORDERS";
|
|
67
|
+
Permission["CAN_DELETE_PURCHASE_ORDERS"] = "CAN_DELETE_PURCHASE_ORDERS";
|
|
68
|
+
Permission["CAN_MANAGE_PURCHASE_CONTRACTS"] = "CAN_MANAGE_PURCHASE_CONTRACTS";
|
|
69
|
+
Permission["CAN_CONFIGURE_SERVICE_PRICING"] = "CAN_CONFIGURE_SERVICE_PRICING";
|
|
70
|
+
// Stakeholder Management
|
|
71
|
+
Permission["CAN_MANAGE_CARBON_CLIENTS"] = "CAN_MANAGE_CARBON_CLIENTS";
|
|
72
|
+
Permission["CAN_MANAGE_CARBON_COORDINATORS"] = "CAN_MANAGE_CARBON_COORDINATORS";
|
|
73
|
+
Permission["CAN_MANAGE_CARBON_MANAGERS"] = "CAN_MANAGE_CARBON_MANAGERS";
|
|
74
|
+
Permission["CAN_MANAGE_CARBON_HOSTS"] = "CAN_MANAGE_CARBON_HOSTS";
|
|
75
|
+
Permission["CAN_VIEW_STAKEHOLDER_HIERARCHY"] = "CAN_VIEW_STAKEHOLDER_HIERARCHY";
|
|
76
|
+
Permission["CAN_ASSIGN_STAKEHOLDER_ROLES"] = "CAN_ASSIGN_STAKEHOLDER_ROLES";
|
|
77
|
+
})(Permission || (exports.Permission = Permission = {}));
|
|
@@ -0,0 +1,127 @@
|
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _PermissionSet_instances, _PermissionSet_permissions, _PermissionSet_guardAgainstInvalidPermissionSet, _PermissionSet_guardAgainstInvalidPermissions;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PermissionSet = void 0;
|
|
16
|
+
const InvalidPropertyTypeError_1 = require("../../exceptions/InvalidPropertyTypeError");
|
|
17
|
+
const Permission_1 = require("../enums/Permission");
|
|
18
|
+
const ObjectValueObject_1 = require("../../value-objects/ObjectValueObject");
|
|
19
|
+
class PermissionSet extends ObjectValueObject_1.ObjectValueObject {
|
|
20
|
+
constructor(value, skipDomainValidation) {
|
|
21
|
+
super({ permissions: value.permissions }, skipDomainValidation, PermissionSet.PROPERTY_NAME, 'The provided value must be of type PermissionSet from the domain layer', {
|
|
22
|
+
allowNull: false,
|
|
23
|
+
allowUndefined: false,
|
|
24
|
+
});
|
|
25
|
+
_PermissionSet_instances.add(this);
|
|
26
|
+
_PermissionSet_permissions.set(this, void 0);
|
|
27
|
+
if (skipDomainValidation === false) {
|
|
28
|
+
__classPrivateFieldGet(this, _PermissionSet_instances, "m", _PermissionSet_guardAgainstInvalidPermissionSet).call(this, value);
|
|
29
|
+
}
|
|
30
|
+
__classPrivateFieldSet(this, _PermissionSet_permissions, value.permissions, "f");
|
|
31
|
+
}
|
|
32
|
+
static create(value) {
|
|
33
|
+
return new PermissionSet(value, false);
|
|
34
|
+
}
|
|
35
|
+
static fromPrimitives(primitive) {
|
|
36
|
+
const value = {
|
|
37
|
+
permissions: primitive.permissions,
|
|
38
|
+
};
|
|
39
|
+
return new PermissionSet(value, true);
|
|
40
|
+
}
|
|
41
|
+
static createFromArray(permissions) {
|
|
42
|
+
return PermissionSet.create({ permissions });
|
|
43
|
+
}
|
|
44
|
+
static empty() {
|
|
45
|
+
return PermissionSet.create({ permissions: [] });
|
|
46
|
+
}
|
|
47
|
+
toPrimitives() {
|
|
48
|
+
return {
|
|
49
|
+
permissions: __classPrivateFieldGet(this, _PermissionSet_permissions, "f"),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
get permissions() {
|
|
53
|
+
return __classPrivateFieldGet(this, _PermissionSet_permissions, "f");
|
|
54
|
+
}
|
|
55
|
+
has(permission) {
|
|
56
|
+
return __classPrivateFieldGet(this, _PermissionSet_permissions, "f").includes(permission);
|
|
57
|
+
}
|
|
58
|
+
contains(permission) {
|
|
59
|
+
return this.has(permission);
|
|
60
|
+
}
|
|
61
|
+
hasAny(permissions) {
|
|
62
|
+
return permissions.some((permission) => this.has(permission));
|
|
63
|
+
}
|
|
64
|
+
hasAll(permissions) {
|
|
65
|
+
return permissions.every((permission) => this.has(permission));
|
|
66
|
+
}
|
|
67
|
+
add(permission) {
|
|
68
|
+
if (this.has(permission)) {
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
return PermissionSet.create({
|
|
72
|
+
permissions: [...__classPrivateFieldGet(this, _PermissionSet_permissions, "f"), permission],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
addAll(permissions) {
|
|
76
|
+
const uniquePermissions = [...new Set([...__classPrivateFieldGet(this, _PermissionSet_permissions, "f"), ...permissions])];
|
|
77
|
+
return PermissionSet.create({ permissions: uniquePermissions });
|
|
78
|
+
}
|
|
79
|
+
remove(permission) {
|
|
80
|
+
return PermissionSet.create({
|
|
81
|
+
permissions: __classPrivateFieldGet(this, _PermissionSet_permissions, "f").filter((p) => p !== permission),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
union(other) {
|
|
85
|
+
return this.addAll(other.permissions);
|
|
86
|
+
}
|
|
87
|
+
intersection(other) {
|
|
88
|
+
const intersectedPermissions = __classPrivateFieldGet(this, _PermissionSet_permissions, "f").filter((permission) => other.has(permission));
|
|
89
|
+
return PermissionSet.create({ permissions: intersectedPermissions });
|
|
90
|
+
}
|
|
91
|
+
difference(other) {
|
|
92
|
+
const diffPermissions = __classPrivateFieldGet(this, _PermissionSet_permissions, "f").filter((permission) => !other.has(permission));
|
|
93
|
+
return PermissionSet.create({ permissions: diffPermissions });
|
|
94
|
+
}
|
|
95
|
+
isEmpty() {
|
|
96
|
+
return __classPrivateFieldGet(this, _PermissionSet_permissions, "f").length === 0;
|
|
97
|
+
}
|
|
98
|
+
size() {
|
|
99
|
+
return __classPrivateFieldGet(this, _PermissionSet_permissions, "f").length;
|
|
100
|
+
}
|
|
101
|
+
toArray() {
|
|
102
|
+
return [...__classPrivateFieldGet(this, _PermissionSet_permissions, "f")];
|
|
103
|
+
}
|
|
104
|
+
equals(other) {
|
|
105
|
+
if (this.size() !== other.size()) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
return __classPrivateFieldGet(this, _PermissionSet_permissions, "f").every((permission) => other.has(permission));
|
|
109
|
+
}
|
|
110
|
+
toString() {
|
|
111
|
+
return `PermissionSet(${__classPrivateFieldGet(this, _PermissionSet_permissions, "f").join(', ')})`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.PermissionSet = PermissionSet;
|
|
115
|
+
_PermissionSet_permissions = new WeakMap(), _PermissionSet_instances = new WeakSet(), _PermissionSet_guardAgainstInvalidPermissionSet = function _PermissionSet_guardAgainstInvalidPermissionSet(value) {
|
|
116
|
+
__classPrivateFieldGet(this, _PermissionSet_instances, "m", _PermissionSet_guardAgainstInvalidPermissions).call(this, value.permissions);
|
|
117
|
+
}, _PermissionSet_guardAgainstInvalidPermissions = function _PermissionSet_guardAgainstInvalidPermissions(permissions) {
|
|
118
|
+
if (!Array.isArray(permissions)) {
|
|
119
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create('permissionSet.permissions', 'Permission[]', typeof permissions);
|
|
120
|
+
}
|
|
121
|
+
permissions.forEach((permission, index) => {
|
|
122
|
+
if (!Object.values(Permission_1.Permission).includes(permission)) {
|
|
123
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`permissionSet.permissions[${index}]`, 'Permission', typeof permission);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
PermissionSet.PROPERTY_NAME = 'permissionSet';
|
|
@@ -0,0 +1,105 @@
|
|
|
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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _SecurityContext_instances, _SecurityContext_user, _SecurityContext_resource, _SecurityContext_environment, _SecurityContext_guardAgainstInvalidSecurityContext, _SecurityContext_guardAgainstInvalidUser, _SecurityContext_guardAgainstInvalidEnvironment;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.SecurityContext = void 0;
|
|
16
|
+
const InvalidPropertyTypeError_1 = require("../../exceptions/InvalidPropertyTypeError");
|
|
17
|
+
const SecurityContextReconstructionError_1 = require("../../exceptions/SecurityContextReconstructionError");
|
|
18
|
+
const ObjectValueObject_1 = require("../../value-objects/ObjectValueObject");
|
|
19
|
+
const DateTimeFormattingDomainService_1 = require("../../services/DateTimeFormattingDomainService");
|
|
20
|
+
class SecurityContext extends ObjectValueObject_1.ObjectValueObject {
|
|
21
|
+
constructor(value, skipDomainValidation) {
|
|
22
|
+
const primitives = {
|
|
23
|
+
user: value.user.toPrimitives,
|
|
24
|
+
resource: value.resource,
|
|
25
|
+
environment: value.environment,
|
|
26
|
+
};
|
|
27
|
+
super(primitives, skipDomainValidation, SecurityContext.PROPERTY_NAME, 'The provided value must be of type SecurityContext from the domain layer', {
|
|
28
|
+
allowNull: false,
|
|
29
|
+
allowUndefined: false,
|
|
30
|
+
});
|
|
31
|
+
_SecurityContext_instances.add(this);
|
|
32
|
+
_SecurityContext_user.set(this, void 0);
|
|
33
|
+
_SecurityContext_resource.set(this, void 0);
|
|
34
|
+
_SecurityContext_environment.set(this, void 0);
|
|
35
|
+
if (skipDomainValidation === false) {
|
|
36
|
+
__classPrivateFieldGet(this, _SecurityContext_instances, "m", _SecurityContext_guardAgainstInvalidSecurityContext).call(this, value);
|
|
37
|
+
}
|
|
38
|
+
__classPrivateFieldSet(this, _SecurityContext_user, value.user, "f");
|
|
39
|
+
__classPrivateFieldSet(this, _SecurityContext_resource, value.resource, "f");
|
|
40
|
+
__classPrivateFieldSet(this, _SecurityContext_environment, value.environment, "f");
|
|
41
|
+
}
|
|
42
|
+
static create(value) {
|
|
43
|
+
return new SecurityContext(value, false);
|
|
44
|
+
}
|
|
45
|
+
static fromPrimitives(primitive) {
|
|
46
|
+
throw SecurityContextReconstructionError_1.SecurityContextReconstructionError.create(primitive);
|
|
47
|
+
}
|
|
48
|
+
toPrimitives() {
|
|
49
|
+
return {
|
|
50
|
+
user: __classPrivateFieldGet(this, _SecurityContext_user, "f").toPrimitives,
|
|
51
|
+
resource: __classPrivateFieldGet(this, _SecurityContext_resource, "f"),
|
|
52
|
+
environment: __classPrivateFieldGet(this, _SecurityContext_environment, "f"),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
get user() {
|
|
56
|
+
return __classPrivateFieldGet(this, _SecurityContext_user, "f");
|
|
57
|
+
}
|
|
58
|
+
get resource() {
|
|
59
|
+
return __classPrivateFieldGet(this, _SecurityContext_resource, "f");
|
|
60
|
+
}
|
|
61
|
+
get environment() {
|
|
62
|
+
return __classPrivateFieldGet(this, _SecurityContext_environment, "f");
|
|
63
|
+
}
|
|
64
|
+
static fromUser(user, resource = null) {
|
|
65
|
+
return SecurityContext.create({
|
|
66
|
+
user,
|
|
67
|
+
resource,
|
|
68
|
+
environment: {
|
|
69
|
+
timestamp: DateTimeFormattingDomainService_1.DateTimeFormattingDomainService.getCurrentDateTimeString(),
|
|
70
|
+
ipAddress: null,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
withResource(resource) {
|
|
75
|
+
return SecurityContext.create({
|
|
76
|
+
user: __classPrivateFieldGet(this, _SecurityContext_user, "f"),
|
|
77
|
+
resource,
|
|
78
|
+
environment: __classPrivateFieldGet(this, _SecurityContext_environment, "f"),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
equals(other) {
|
|
82
|
+
return (__classPrivateFieldGet(this, _SecurityContext_resource, "f") === __classPrivateFieldGet(other, _SecurityContext_resource, "f")
|
|
83
|
+
&& __classPrivateFieldGet(this, _SecurityContext_environment, "f")?.timestamp === __classPrivateFieldGet(other, _SecurityContext_environment, "f")?.timestamp
|
|
84
|
+
&& __classPrivateFieldGet(this, _SecurityContext_environment, "f")?.ipAddress === __classPrivateFieldGet(other, _SecurityContext_environment, "f")?.ipAddress);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.SecurityContext = SecurityContext;
|
|
88
|
+
_SecurityContext_user = new WeakMap(), _SecurityContext_resource = new WeakMap(), _SecurityContext_environment = new WeakMap(), _SecurityContext_instances = new WeakSet(), _SecurityContext_guardAgainstInvalidSecurityContext = function _SecurityContext_guardAgainstInvalidSecurityContext(value) {
|
|
89
|
+
__classPrivateFieldGet(this, _SecurityContext_instances, "m", _SecurityContext_guardAgainstInvalidUser).call(this, value.user);
|
|
90
|
+
if (value.environment) {
|
|
91
|
+
__classPrivateFieldGet(this, _SecurityContext_instances, "m", _SecurityContext_guardAgainstInvalidEnvironment).call(this, value.environment);
|
|
92
|
+
}
|
|
93
|
+
}, _SecurityContext_guardAgainstInvalidUser = function _SecurityContext_guardAgainstInvalidUser(user) {
|
|
94
|
+
if (user === null || user === undefined) {
|
|
95
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create('securityContext.user', 'User', typeof user);
|
|
96
|
+
}
|
|
97
|
+
}, _SecurityContext_guardAgainstInvalidEnvironment = function _SecurityContext_guardAgainstInvalidEnvironment(environment) {
|
|
98
|
+
if (typeof environment.timestamp !== 'string') {
|
|
99
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create('securityContext.environment.timestamp', 'string', typeof environment.timestamp);
|
|
100
|
+
}
|
|
101
|
+
if (!DateTimeFormattingDomainService_1.DateTimeFormattingDomainService.isValidDateTime(environment.timestamp)) {
|
|
102
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create('securityContext.environment.timestamp', 'valid datetime format (DD/MM/YYYY HH:mm:ss)', environment.timestamp);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
SecurityContext.PROPERTY_NAME = 'securityContext';
|
|
@@ -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_displayName, _User_avatar, _User_email, _User_password, _User_businessStatus, _User_userType, _User_lastAccessAt;
|
|
13
|
+
var _User_instances, _User_displayName, _User_avatar, _User_email, _User_password, _User_businessStatus, _User_userType, _User_lastAccessAt, _User_permissions, _User_mapPermissionToBoolean;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.User = void 0;
|
|
16
16
|
const UserAvatar_1 = require("../value-objects/UserAvatar");
|
|
@@ -22,12 +22,15 @@ 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
|
+
const UserPermissions_1 = require("../value-objects/UserPermissions");
|
|
25
27
|
class User extends AggregateRoot_1.AggregateRoot {
|
|
26
28
|
constructor(props, skipDomainValidation) {
|
|
27
29
|
const id = skipDomainValidation
|
|
28
30
|
? UserId_1.UserId.fromPrimitives(props.id).toPrimitives()
|
|
29
31
|
: UserId_1.UserId.create(props.id).toPrimitives();
|
|
30
32
|
super({ id }, skipDomainValidation);
|
|
33
|
+
_User_instances.add(this);
|
|
31
34
|
_User_displayName.set(this, void 0);
|
|
32
35
|
_User_avatar.set(this, void 0);
|
|
33
36
|
_User_email.set(this, void 0);
|
|
@@ -35,6 +38,7 @@ class User extends AggregateRoot_1.AggregateRoot {
|
|
|
35
38
|
_User_businessStatus.set(this, void 0);
|
|
36
39
|
_User_userType.set(this, void 0);
|
|
37
40
|
_User_lastAccessAt.set(this, void 0);
|
|
41
|
+
_User_permissions.set(this, void 0);
|
|
38
42
|
if (skipDomainValidation === false) {
|
|
39
43
|
// Initialize with domain validation
|
|
40
44
|
__classPrivateFieldSet(this, _User_displayName, UserDisplayName_1.UserDisplayName.create(props.displayName), "f");
|
|
@@ -44,6 +48,7 @@ class User extends AggregateRoot_1.AggregateRoot {
|
|
|
44
48
|
__classPrivateFieldSet(this, _User_businessStatus, UserBusinessStatus_1.UserBusinessStatus.create(props.businessStatus), "f");
|
|
45
49
|
__classPrivateFieldSet(this, _User_userType, UserType_1.UserType.create(props.userType), "f");
|
|
46
50
|
__classPrivateFieldSet(this, _User_lastAccessAt, UserLastAccessAt_1.UserLastAccessAt.create(props.lastAccessAt), "f");
|
|
51
|
+
__classPrivateFieldSet(this, _User_permissions, UserPermissions_1.UserPermissions.create(props.permissions), "f");
|
|
47
52
|
}
|
|
48
53
|
else {
|
|
49
54
|
// Initialize from primitives (no domain validation)
|
|
@@ -54,6 +59,7 @@ class User extends AggregateRoot_1.AggregateRoot {
|
|
|
54
59
|
__classPrivateFieldSet(this, _User_businessStatus, UserBusinessStatus_1.UserBusinessStatus.fromPrimitives(props.businessStatus), "f");
|
|
55
60
|
__classPrivateFieldSet(this, _User_userType, UserType_1.UserType.fromPrimitives(props.userType), "f");
|
|
56
61
|
__classPrivateFieldSet(this, _User_lastAccessAt, UserLastAccessAt_1.UserLastAccessAt.fromPrimitives(props.lastAccessAt), "f");
|
|
62
|
+
__classPrivateFieldSet(this, _User_permissions, UserPermissions_1.UserPermissions.fromPrimitives(props.permissions), "f");
|
|
57
63
|
}
|
|
58
64
|
}
|
|
59
65
|
get displayName() {
|
|
@@ -77,6 +83,156 @@ class User extends AggregateRoot_1.AggregateRoot {
|
|
|
77
83
|
get lastAccessAt() {
|
|
78
84
|
return __classPrivateFieldGet(this, _User_lastAccessAt, "f");
|
|
79
85
|
}
|
|
86
|
+
get permissions() {
|
|
87
|
+
return __classPrivateFieldGet(this, _User_permissions, "f");
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Verifica si el usuario tiene un permiso específico.
|
|
91
|
+
* Mapea los enum Permission a las propiedades boolean del sistema existente.
|
|
92
|
+
* @param permission - El permiso a verificar
|
|
93
|
+
* @returns true si el usuario tiene el permiso, false en caso contrario
|
|
94
|
+
*/
|
|
95
|
+
hasPermission(permission) {
|
|
96
|
+
return __classPrivateFieldGet(this, _User_instances, "m", _User_mapPermissionToBoolean).call(this, permission);
|
|
97
|
+
}
|
|
80
98
|
}
|
|
81
99
|
exports.User = User;
|
|
82
|
-
_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()
|
|
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
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecurityContextReconstructionError = void 0;
|
|
4
|
+
const RootError_1 = require("./RootError");
|
|
5
|
+
class SecurityContextReconstructionError extends RootError_1.RootError {
|
|
6
|
+
constructor(primitives) {
|
|
7
|
+
const message = 'SecurityContext.fromPrimitives() is not supported. '
|
|
8
|
+
+ 'User is an abstract class and cannot be reconstructed without knowing the specific User type '
|
|
9
|
+
+ '(CarbonHost, CarbonManager, CarbonCoordinator, CarbonClient). '
|
|
10
|
+
+ 'Use SecurityContext.create() or SecurityContext.fromUser() instead. '
|
|
11
|
+
+ 'User entities must be constructed with their specific factory methods.';
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = 'SecurityContextReconstructionError';
|
|
14
|
+
this.primitives = primitives;
|
|
15
|
+
}
|
|
16
|
+
static create(primitives) {
|
|
17
|
+
return new SecurityContextReconstructionError(primitives);
|
|
18
|
+
}
|
|
19
|
+
logError() {
|
|
20
|
+
const debugInfo = {
|
|
21
|
+
userType: this.primitives.user?.userType || 'unknown',
|
|
22
|
+
userId: this.primitives.user?.id || 'unknown',
|
|
23
|
+
userEmail: this.primitives.user?.email?.value || 'unknown',
|
|
24
|
+
hasResource: this.primitives.resource !== null && this.primitives.resource !== undefined,
|
|
25
|
+
hasEnvironment: this.primitives.environment !== null && this.primitives.environment !== undefined,
|
|
26
|
+
environmentTimestamp: this.primitives.environment?.timestamp || 'unknown',
|
|
27
|
+
environmentIpAddress: this.primitives.environment?.ipAddress || 'unknown',
|
|
28
|
+
};
|
|
29
|
+
return `${this.name}: ${this.message}\n`
|
|
30
|
+
+ `Debug Info: ${JSON.stringify(debugInfo, null, 2)}\n`
|
|
31
|
+
+ `Full primitives: ${JSON.stringify(this.primitives, null, 2)}`;
|
|
32
|
+
}
|
|
33
|
+
getReceivedPrimitives() {
|
|
34
|
+
return this.primitives;
|
|
35
|
+
}
|
|
36
|
+
getDebugInfo() {
|
|
37
|
+
return {
|
|
38
|
+
userType: this.primitives.user?.userType || 'unknown',
|
|
39
|
+
userId: this.primitives.user?.id || 'unknown',
|
|
40
|
+
userEmail: this.primitives.user?.email?.value || 'unknown',
|
|
41
|
+
hasResource: this.primitives.resource !== null && this.primitives.resource !== undefined,
|
|
42
|
+
hasEnvironment: this.primitives.environment !== null && this.primitives.environment !== undefined,
|
|
43
|
+
environmentTimestamp: this.primitives.environment?.timestamp || 'unknown',
|
|
44
|
+
environmentIpAddress: this.primitives.environment?.ipAddress || 'unknown',
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.SecurityContextReconstructionError = SecurityContextReconstructionError;
|