@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
|
@@ -21,6 +21,7 @@ const StakeholderEmail_1 = require("../value-objects/StakeholderEmail");
|
|
|
21
21
|
const StakeholderId_1 = require("../value-objects/StakeholderId");
|
|
22
22
|
const StakeholderLastAccessAt_1 = require("../value-objects/StakeholderLastAccessAt");
|
|
23
23
|
const StakeholderPassword_1 = require("../value-objects/StakeholderPassword");
|
|
24
|
+
const StakeholderPermissions_1 = require("../value-objects/StakeholderPermissions");
|
|
24
25
|
const StakeholderRoleType_1 = require("../value-objects/StakeholderRoleType");
|
|
25
26
|
const StakeholderTaxIdentification_1 = require("../value-objects/StakeholderTaxIdentification");
|
|
26
27
|
const StakeholderUserType_1 = require("../value-objects/StakeholderUserType");
|
|
@@ -50,6 +51,9 @@ class Stakeholder extends User_1.User {
|
|
|
50
51
|
const lastAccessAt = skipDomainValidation
|
|
51
52
|
? StakeholderLastAccessAt_1.StakeholderLastAccessAt.fromPrimitives(props.lastAccessAt).toPrimitives()
|
|
52
53
|
: StakeholderLastAccessAt_1.StakeholderLastAccessAt.create(props.lastAccessAt).toPrimitives();
|
|
54
|
+
const permissions = skipDomainValidation
|
|
55
|
+
? StakeholderPermissions_1.StakeholderPermissions.fromPrimitives(props.permissions).toPrimitives()
|
|
56
|
+
: StakeholderPermissions_1.StakeholderPermissions.create(props.permissions).toPrimitives();
|
|
53
57
|
super({
|
|
54
58
|
id,
|
|
55
59
|
avatar,
|
|
@@ -59,6 +63,7 @@ class Stakeholder extends User_1.User {
|
|
|
59
63
|
userType,
|
|
60
64
|
displayName,
|
|
61
65
|
lastAccessAt,
|
|
66
|
+
permissions,
|
|
62
67
|
}, skipDomainValidation);
|
|
63
68
|
_Stakeholder_taxIdentification.set(this, void 0);
|
|
64
69
|
_Stakeholder_roleType.set(this, void 0);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StakeholderPermissions = void 0;
|
|
4
|
+
const UserPermissions_1 = require("../../../../shared/domain/value-objects/UserPermissions");
|
|
5
|
+
class StakeholderPermissions extends UserPermissions_1.UserPermissions {
|
|
6
|
+
}
|
|
7
|
+
exports.StakeholderPermissions = StakeholderPermissions;
|
package/build/main/index.js
CHANGED
|
@@ -13,7 +13,7 @@ exports.ExecutionPeriod = exports.AggregateId = exports.Code = exports.Url = exp
|
|
|
13
13
|
exports.CorporateConfigurationCarbonFootprintSubsegmentReference = exports.CorporateConfigurationCarbonFootprintSegmentReference = exports.CorporateCarbonFootprintSegmentConfigurationReferences = exports.CollectionFieldReference = exports.CarbonFootprintSegmentReferences = exports.CarbonFootprintIntensityIndicatorReference = exports.CarbonFootprintConfigurationReference = exports.GlobalWarmingPotentialReference = exports.EmissionFactorReference = exports.EmissionCalculationFormulaReference = exports.EmissionCalculationReference = exports.CalculationVariableReferences = exports.CalculationProcessReference = exports.ActivityDataSubmissionReference = exports.EmissionSource = exports.EmissionSources = exports.CarbonClientReferences = exports.CarbonClientReference = exports.StakeholderReferences = exports.StakeholderReference = exports.UserType = exports.UserLastAccessAt = exports.UserAvatar = exports.UserBusinessStatus = exports.UserPassword = exports.UserDisplayName = exports.UserId = exports.UserEmail = exports.NullableProductConfigurationCarbonFootprintSubsegmentReference = exports.NullableEventEditionConfigurationCarbonFootprintSubsegmentReference = exports.NullableCorporateConfigurationCarbonFootprintSubsegmentReference = exports.NullableStakeholderReference = exports.NullableColombianNIT = exports.NullableTaxIdentificationNumber = exports.NullablePositiveInteger = exports.NullableNumeric = exports.NullableDateTimeString = exports.NullableDate = exports.NullableCode = exports.NullableString = exports.TaxIdentificationNumberList = exports.UrlList = exports.StringList = exports.CodeList = exports.AggregateIdList = exports.TaxIdentification = exports.Gender = exports.Currency = exports.ColombiaNIT = exports.TaxIdentificationNumber = void 0;
|
|
14
14
|
exports.DateGreaterThanError = exports.InvalidUserBusinessStatusError = exports.InvalidUserTypeError = exports.DivisionByZeroError = exports.MoneyOverflowError = exports.NotIntegerError = exports.NegativeAmountError = exports.MinimumValueViolationError = exports.InvalidUrlListError = exports.InvalidCodeListError = exports.InvalidStringListError = exports.EmptyArrayNotAllowedError = exports.PasswordPolicyViolationError = exports.InvalidNationalNumberError = exports.InvalidFullInternationalNumberError = exports.InvalidEmailPolicyError = exports.InvalidCoordinatesError = exports.InvalidTimeFormatError = exports.InvalidDateRangeError = exports.InvalidDateFormatError = exports.InvalidColombianNITNumberError = exports.InvalidColombianNITCheckDigitError = exports.InvalidColombianNITFormatError = exports.InvalidTaxIdentificationTypeError = exports.InvalidStakeholderRoleTypeError = exports.InvalidGenderError = exports.InvalidCurrencyError = exports.InvalidCountryCodeError = exports.InvalidBusinessScaleError = exports.InvalidPropertyValueError = exports.InvalidPropertyTypeError = exports.InvalidValueObjectConfigurationError = exports.UndefinedValueError = exports.NullValueError = exports.MethodNotImplementedError = exports.CreateMethodNotImplementedError = exports.ServiceCatalogReference = exports.ProductReference = exports.ProductConfigurationSystemBoundaryReference = exports.ProductConfigurationCarbonFootprintSubsegmentReference = exports.ProductConfigurationCarbonFootprintSegmentReference = exports.ProductCarbonFootprintSegmentConfigurationReferences = exports.FacilityReference = exports.EventReference = exports.EventEditionReferences = exports.EventEditionReference = exports.EventEditionLifecycleStageReference = exports.EventEditionLifecycleStageConfigurationReferences = exports.EventEditionConfigurationCarbonFootprintSubsegmentReferences = exports.EventEditionConfigurationCarbonFootprintSubsegmentReference = void 0;
|
|
15
15
|
exports.CarbonClientWebsiteUrl = exports.CarbonClientPhysicalAddress = exports.CarbonClientOrganizationSize = exports.CarbonClientIndustryType = exports.CarbonClientUserType = exports.CarbonClientLegalBusinessName = exports.CarbonClientAccountType = exports.CarbonClientDisplayName = exports.CarbonClientEmail = exports.CarbonClientId = exports.StakeholderUserType = exports.StakeholderLastAccessAt = exports.StakeholderAvatar = exports.StakeholderTaxIdentification = exports.StakeholderRoleType = exports.StakeholderBusinessStatus = exports.StakeholderPassword = exports.StakeholderDisplayName = exports.StakeholderEmail = exports.StakeholderId = exports.CarbonManager = exports.CarbonHost = exports.CarbonCoordinator = exports.CarbonClient = exports.Stakeholder = exports.CannotAccessRightOnLeftValueError = exports.CannotAccessLeftOnRightValueError = exports.ResultExtensions = exports.EitherUtils = exports.ResultFactory = exports.EitherFactory = exports.RightEither = exports.LeftEither = exports.Either = exports.TaxIdentificationNumberWithControlCharactersError = exports.InvalidTaxIdentificationNumberLengthError = exports.InvalidTaxIdentificationNumberFormatError = exports.InvalidSupervisorRoleError = exports.InvalidMinutesDurationError = exports.InvalidMeasurementUnitOperationError = exports.InvalidManagedStakeholderRoleError = exports.InvalidDomainCodeError = exports.InvalidCountrySpecificTaxIdentificationNumberError = exports.InvalidCodeError = exports.InvalidAssignerRoleError = exports.InvalidAggregateIdError = exports.EmptyTaxIdentificationNumberError = exports.EmptySegmentNameError = exports.EmptySegmentCodeError = exports.EmptyDisplayNameError = void 0;
|
|
16
|
-
exports.DateTimeFormattingDomainService = exports.InvalidCarbonCoordinatorAvailabilityStatusError = exports.InvalidCarbonClientAccountTypeError = exports.CarbonCoordinatorAvailabilityStatusEnum = exports.CarbonClientAccountEnum = exports.CarbonManagerUserType = exports.CarbonManagerManagedStakeholders = exports.CarbonManagerDisplayName = exports.CarbonManagerEmail = exports.CarbonManagerId = exports.CarbonHostUserType = exports.CarbonHostDisplayName = exports.CarbonHostTaxIdentification = exports.CarbonHostBusinessStatus = exports.CarbonHostRoleType = exports.CarbonHostEmail = exports.CarbonHostId = exports.CarbonCoordinatorManagedCarbonClients = exports.CarbonCoordinatorWeeklyWorkingSchedule = exports.CarbonCoordinatorGender = exports.CarbonCoordinatorUserType = exports.CarbonCoordinatorAvailabilityStatus = exports.CarbonCoordinatorDisplayName = exports.CarbonCoordinatorEmail = exports.CarbonCoordinatorId = exports.CarbonClientPrimaryContactPhone = exports.CarbonClientPrimaryContactEmail = exports.CarbonClientLogo = void 0;
|
|
16
|
+
exports.StakeholderPermissions = exports.UserPermissions = exports.SecurityContextReconstructionError = exports.SecurityContext = exports.PermissionSet = exports.PermissionEnum = exports.AuthorizationDecisionEnum = exports.DateTimeFormattingDomainService = exports.InvalidCarbonCoordinatorAvailabilityStatusError = exports.InvalidCarbonClientAccountTypeError = exports.CarbonCoordinatorAvailabilityStatusEnum = exports.CarbonClientAccountEnum = exports.CarbonManagerUserType = exports.CarbonManagerManagedStakeholders = exports.CarbonManagerDisplayName = exports.CarbonManagerEmail = exports.CarbonManagerId = exports.CarbonHostUserType = exports.CarbonHostDisplayName = exports.CarbonHostTaxIdentification = exports.CarbonHostBusinessStatus = exports.CarbonHostRoleType = exports.CarbonHostEmail = exports.CarbonHostId = exports.CarbonCoordinatorManagedCarbonClients = exports.CarbonCoordinatorWeeklyWorkingSchedule = exports.CarbonCoordinatorGender = exports.CarbonCoordinatorUserType = exports.CarbonCoordinatorAvailabilityStatus = exports.CarbonCoordinatorDisplayName = exports.CarbonCoordinatorEmail = exports.CarbonCoordinatorId = exports.CarbonClientPrimaryContactPhone = exports.CarbonClientPrimaryContactEmail = exports.CarbonClientLogo = void 0;
|
|
17
17
|
// ─── Entity Classes (For Application Layer) ─────────────────────────────────
|
|
18
18
|
var ActivityDataSubmission_1 = require("../carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission");
|
|
19
19
|
Object.defineProperty(exports, "ActivityDataSubmission", { enumerable: true, get: function () { return ActivityDataSubmission_1.ActivityDataSubmission; } });
|
|
@@ -1193,3 +1193,21 @@ Object.defineProperty(exports, "InvalidCarbonCoordinatorAvailabilityStatusError"
|
|
|
1193
1193
|
// ─── Date and Time Services ──────────────────────────────────────────────────
|
|
1194
1194
|
var DateTimeFormattingDomainService_1 = require("../carbonbox/shared/domain/services/DateTimeFormattingDomainService");
|
|
1195
1195
|
Object.defineProperty(exports, "DateTimeFormattingDomainService", { enumerable: true, get: function () { return DateTimeFormattingDomainService_1.DateTimeFormattingDomainService; } });
|
|
1196
|
+
// ─── Enums ──────────────────────────────────────────────────────────────────
|
|
1197
|
+
var AuthorizationDecision_1 = require("../carbonbox/shared/domain/authorization/enums/AuthorizationDecision");
|
|
1198
|
+
Object.defineProperty(exports, "AuthorizationDecisionEnum", { enumerable: true, get: function () { return AuthorizationDecision_1.AuthorizationDecision; } });
|
|
1199
|
+
var Permission_1 = require("../carbonbox/shared/domain/authorization/enums/Permission");
|
|
1200
|
+
Object.defineProperty(exports, "PermissionEnum", { enumerable: true, get: function () { return Permission_1.Permission; } });
|
|
1201
|
+
// ─── Value Objects ──────────────────────────────────────────────────────────
|
|
1202
|
+
var PermissionSet_1 = require("../carbonbox/shared/domain/authorization/value-objects/PermissionSet");
|
|
1203
|
+
Object.defineProperty(exports, "PermissionSet", { enumerable: true, get: function () { return PermissionSet_1.PermissionSet; } });
|
|
1204
|
+
var SecurityContext_1 = require("../carbonbox/shared/domain/authorization/value-objects/SecurityContext");
|
|
1205
|
+
Object.defineProperty(exports, "SecurityContext", { enumerable: true, get: function () { return SecurityContext_1.SecurityContext; } });
|
|
1206
|
+
// ─── Exceptions ─────────────────────────────────────────────────────────────
|
|
1207
|
+
var SecurityContextReconstructionError_1 = require("../carbonbox/shared/domain/exceptions/SecurityContextReconstructionError");
|
|
1208
|
+
Object.defineProperty(exports, "SecurityContextReconstructionError", { enumerable: true, get: function () { return SecurityContextReconstructionError_1.SecurityContextReconstructionError; } });
|
|
1209
|
+
// ─── User and Stakeholder Permissions Value Objects ─────────────────────────
|
|
1210
|
+
var UserPermissions_1 = require("../carbonbox/shared/domain/value-objects/UserPermissions");
|
|
1211
|
+
Object.defineProperty(exports, "UserPermissions", { enumerable: true, get: function () { return UserPermissions_1.UserPermissions; } });
|
|
1212
|
+
var StakeholderPermissions_1 = require("../carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions");
|
|
1213
|
+
Object.defineProperty(exports, "StakeholderPermissions", { enumerable: true, get: function () { return StakeholderPermissions_1.StakeholderPermissions; } });
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Permission } from '../enums/Permission';
|
|
2
|
+
import { AuthorizationDecision } from '../enums/AuthorizationDecision';
|
|
3
|
+
import { SecurityContext } from '../value-objects/SecurityContext';
|
|
4
|
+
/**
|
|
5
|
+
* Interface que define una política de autorización.
|
|
6
|
+
* Las implementaciones evalúan contextos de seguridad y determinan
|
|
7
|
+
* si se debe permitir, denegar o si no es aplicable una acción específica.
|
|
8
|
+
*/
|
|
9
|
+
export interface IAuthorizationPolicy {
|
|
10
|
+
/**
|
|
11
|
+
* Evalúa un contexto de seguridad contra un permiso específico.
|
|
12
|
+
* @param context - El contexto de seguridad a evaluar
|
|
13
|
+
* @param permission - El permiso que se está solicitando
|
|
14
|
+
* @returns La decisión de autorización (PERMIT, DENY, o NOT_APPLICABLE)
|
|
15
|
+
*/
|
|
16
|
+
evaluate(context: SecurityContext, permission: Permission): AuthorizationDecision;
|
|
17
|
+
/**
|
|
18
|
+
* Determina si esta política puede manejar/evaluar un permiso específico.
|
|
19
|
+
* @param permission - El permiso a verificar
|
|
20
|
+
* @returns true si la política puede evaluar el permiso, false en caso contrario
|
|
21
|
+
*/
|
|
22
|
+
supports(permission: Permission): boolean;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=IAuthorizationPolicy.d.ts.map
|
package/build/types/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAuthorizationPolicy.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAG,qBAAqB,CAAC;IAElF;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;CAC3C"}
|
package/build/types/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Permission } from '../enums/Permission';
|
|
2
|
+
import { SecurityContext } from '../value-objects/SecurityContext';
|
|
3
|
+
/**
|
|
4
|
+
* Interface que define una especificación de permisos.
|
|
5
|
+
* Las implementaciones determinan si un contexto de seguridad
|
|
6
|
+
* satisface los requisitos de permisos específicos.
|
|
7
|
+
*/
|
|
8
|
+
export interface IPermissionSpecification {
|
|
9
|
+
/**
|
|
10
|
+
* Determina si el contexto de seguridad satisface esta especificación.
|
|
11
|
+
* @param context - El contexto de seguridad a evaluar
|
|
12
|
+
* @returns true si el contexto satisface la especificación, false en caso contrario
|
|
13
|
+
*/
|
|
14
|
+
isSatisfiedBy(context: SecurityContext): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Obtiene la lista de permisos requeridos por esta especificación.
|
|
17
|
+
* @returns Array de permisos requeridos
|
|
18
|
+
*/
|
|
19
|
+
getRequiredPermissions(): Permission[];
|
|
20
|
+
/**
|
|
21
|
+
* Determina si esta especificación soporta/maneja un permiso específico.
|
|
22
|
+
* @param permission - El permiso a verificar
|
|
23
|
+
* @returns true si la especificación soporta el permiso, false en caso contrario
|
|
24
|
+
*/
|
|
25
|
+
supports(permission: Permission): boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=IPermissionSpecification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPermissionSpecification.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IAEjD;;;OAGG;IACH,sBAAsB,IAAI,UAAU,EAAE,CAAC;IAEvC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;CAC3C"}
|
package/build/types/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthorizationDecision.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.ts"],"names":[],"mappings":"AAAA,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,cAAc,mBAAmB;CAClC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export declare enum Permission {
|
|
2
|
+
CAN_ACCESS_ALL_MODULES = "CAN_ACCESS_ALL_MODULES",
|
|
3
|
+
CAN_MANAGE_SYSTEM_CONFIGURATION = "CAN_MANAGE_SYSTEM_CONFIGURATION",
|
|
4
|
+
CAN_MANAGE_ALL_USERS = "CAN_MANAGE_ALL_USERS",
|
|
5
|
+
CAN_MANAGE_COMPANIES = "CAN_MANAGE_COMPANIES",
|
|
6
|
+
CAN_ASSIGN_HOST_MANAGERS = "CAN_ASSIGN_HOST_MANAGERS",
|
|
7
|
+
CAN_ASSIGN_COORDINATORS = "CAN_ASSIGN_COORDINATORS",
|
|
8
|
+
CAN_ASSIGN_COMPANIES_TO_HOST_MANAGERS = "CAN_ASSIGN_COMPANIES_TO_HOST_MANAGERS",
|
|
9
|
+
CAN_ASSIGN_COMPANIES_TO_COORDINATORS = "CAN_ASSIGN_COMPANIES_TO_COORDINATORS",
|
|
10
|
+
CAN_MANAGE_CORPORATE_CARBON_FOOTPRINT_CONFIGURATIONS = "CAN_MANAGE_CORPORATE_CARBON_FOOTPRINT_CONFIGURATIONS",
|
|
11
|
+
CAN_MANAGE_CORPORATE_SEGMENT_CONFIGURATIONS = "CAN_MANAGE_CORPORATE_SEGMENT_CONFIGURATIONS",
|
|
12
|
+
CAN_MANAGE_EVENT_CARBON_FOOTPRINT_CONFIGURATIONS = "CAN_MANAGE_EVENT_CARBON_FOOTPRINT_CONFIGURATIONS",
|
|
13
|
+
CAN_MANAGE_EVENT_LIFECYCLE_STAGE_CONFIGURATIONS = "CAN_MANAGE_EVENT_LIFECYCLE_STAGE_CONFIGURATIONS",
|
|
14
|
+
CAN_MANAGE_PRODUCT_CARBON_FOOTPRINT_CONFIGURATIONS = "CAN_MANAGE_PRODUCT_CARBON_FOOTPRINT_CONFIGURATIONS",
|
|
15
|
+
CAN_MANAGE_PRODUCT_SEGMENT_CONFIGURATIONS = "CAN_MANAGE_PRODUCT_SEGMENT_CONFIGURATIONS",
|
|
16
|
+
CAN_MANAGE_PRODUCT_SYSTEM_BOUNDARIES = "CAN_MANAGE_PRODUCT_SYSTEM_BOUNDARIES",
|
|
17
|
+
CAN_MANAGE_INTENSITY_INDICATORS = "CAN_MANAGE_INTENSITY_INDICATORS",
|
|
18
|
+
CAN_MANAGE_COLLECTION_FIELDS = "CAN_MANAGE_COLLECTION_FIELDS",
|
|
19
|
+
CAN_MANAGE_DYNAMIC_FORMS = "CAN_MANAGE_DYNAMIC_FORMS",
|
|
20
|
+
CAN_MANAGE_CONDITIONAL_LOGIC = "CAN_MANAGE_CONDITIONAL_LOGIC",
|
|
21
|
+
CAN_MANAGE_CONTEXTUAL_LABELS = "CAN_MANAGE_CONTEXTUAL_LABELS",
|
|
22
|
+
CAN_MANAGE_STAKEHOLDER_ADAPTATIONS = "CAN_MANAGE_STAKEHOLDER_ADAPTATIONS",
|
|
23
|
+
CAN_MANAGE_ACTIVITY_DATA_SUBMISSIONS = "CAN_MANAGE_ACTIVITY_DATA_SUBMISSIONS",
|
|
24
|
+
CAN_APPROVE_ACTIVITY_DATA_SUBMISSIONS = "CAN_APPROVE_ACTIVITY_DATA_SUBMISSIONS",
|
|
25
|
+
CAN_REJECT_ACTIVITY_DATA_SUBMISSIONS = "CAN_REJECT_ACTIVITY_DATA_SUBMISSIONS",
|
|
26
|
+
CAN_MANAGE_FORMULAS = "CAN_MANAGE_FORMULAS",
|
|
27
|
+
CAN_MANAGE_EMISSION_FACTORS = "CAN_MANAGE_EMISSION_FACTORS",
|
|
28
|
+
CAN_MANAGE_CALCULATION_VARIABLES = "CAN_MANAGE_CALCULATION_VARIABLES",
|
|
29
|
+
CAN_MANAGE_CONSTANTS = "CAN_MANAGE_CONSTANTS",
|
|
30
|
+
CAN_MANAGE_GLOBAL_WARMING_POTENTIALS = "CAN_MANAGE_GLOBAL_WARMING_POTENTIALS",
|
|
31
|
+
CAN_MANAGE_CALCULATION_PROCESSES = "CAN_MANAGE_CALCULATION_PROCESSES",
|
|
32
|
+
CAN_MANAGE_CALCULATION_WORKFLOWS = "CAN_MANAGE_CALCULATION_WORKFLOWS",
|
|
33
|
+
CAN_MANAGE_CALCULATION_JOBS = "CAN_MANAGE_CALCULATION_JOBS",
|
|
34
|
+
CAN_EXECUTE_CALCULATION_JOBS = "CAN_EXECUTE_CALCULATION_JOBS",
|
|
35
|
+
CAN_MONITOR_CALCULATION_PROCESSES = "CAN_MONITOR_CALCULATION_PROCESSES",
|
|
36
|
+
CAN_CANCEL_CALCULATION_JOBS = "CAN_CANCEL_CALCULATION_JOBS",
|
|
37
|
+
CAN_RETRY_FAILED_CALCULATIONS = "CAN_RETRY_FAILED_CALCULATIONS",
|
|
38
|
+
CAN_VIEW_EMISSION_CALCULATION_RESULTS = "CAN_VIEW_EMISSION_CALCULATION_RESULTS",
|
|
39
|
+
CAN_MANAGE_EMISSION_CALCULATION_RESULTS = "CAN_MANAGE_EMISSION_CALCULATION_RESULTS",
|
|
40
|
+
CAN_VIEW_EMISSION_AGGREGATIONS = "CAN_VIEW_EMISSION_AGGREGATIONS",
|
|
41
|
+
CAN_MANAGE_EMISSION_AGGREGATIONS = "CAN_MANAGE_EMISSION_AGGREGATIONS",
|
|
42
|
+
CAN_VIEW_GHG_EMISSION_RESULTS = "CAN_VIEW_GHG_EMISSION_RESULTS",
|
|
43
|
+
CAN_MANAGE_GHG_EMISSION_RESULTS = "CAN_MANAGE_GHG_EMISSION_RESULTS",
|
|
44
|
+
CAN_EXPORT_CALCULATION_RESULTS = "CAN_EXPORT_CALCULATION_RESULTS",
|
|
45
|
+
CAN_GENERATE_EMISSION_REPORTS = "CAN_GENERATE_EMISSION_REPORTS",
|
|
46
|
+
CAN_MANAGE_EVENTS = "CAN_MANAGE_EVENTS",
|
|
47
|
+
CAN_MANAGE_EVENT_EDITIONS = "CAN_MANAGE_EVENT_EDITIONS",
|
|
48
|
+
CAN_MANAGE_FACILITIES = "CAN_MANAGE_FACILITIES",
|
|
49
|
+
CAN_MANAGE_PRODUCTS = "CAN_MANAGE_PRODUCTS",
|
|
50
|
+
CAN_VIEW_COMPANY_RESOURCES = "CAN_VIEW_COMPANY_RESOURCES",
|
|
51
|
+
CAN_VIEW_PURCHASES = "CAN_VIEW_PURCHASES",
|
|
52
|
+
CAN_CREATE_PURCHASE_ORDERS = "CAN_CREATE_PURCHASE_ORDERS",
|
|
53
|
+
CAN_UPDATE_PURCHASE_ORDERS = "CAN_UPDATE_PURCHASE_ORDERS",
|
|
54
|
+
CAN_DELETE_PURCHASE_ORDERS = "CAN_DELETE_PURCHASE_ORDERS",
|
|
55
|
+
CAN_MANAGE_PURCHASE_CONTRACTS = "CAN_MANAGE_PURCHASE_CONTRACTS",
|
|
56
|
+
CAN_CONFIGURE_SERVICE_PRICING = "CAN_CONFIGURE_SERVICE_PRICING",
|
|
57
|
+
CAN_MANAGE_CARBON_CLIENTS = "CAN_MANAGE_CARBON_CLIENTS",
|
|
58
|
+
CAN_MANAGE_CARBON_COORDINATORS = "CAN_MANAGE_CARBON_COORDINATORS",
|
|
59
|
+
CAN_MANAGE_CARBON_MANAGERS = "CAN_MANAGE_CARBON_MANAGERS",
|
|
60
|
+
CAN_MANAGE_CARBON_HOSTS = "CAN_MANAGE_CARBON_HOSTS",
|
|
61
|
+
CAN_VIEW_STAKEHOLDER_HIERARCHY = "CAN_VIEW_STAKEHOLDER_HIERARCHY",
|
|
62
|
+
CAN_ASSIGN_STAKEHOLDER_ROLES = "CAN_ASSIGN_STAKEHOLDER_ROLES"
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=Permission.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PermissionSetPrimitives } from '../../types/PermissionSetPrimitives';
|
|
2
|
+
import { PermissionSet as TPermissionSet } from '../../types/PermissionSet';
|
|
3
|
+
import { Permission } from '../enums/Permission';
|
|
4
|
+
import { ObjectValueObject } from '../../value-objects/ObjectValueObject';
|
|
5
|
+
export declare class PermissionSet extends ObjectValueObject<PermissionSetPrimitives> {
|
|
6
|
+
#private;
|
|
7
|
+
protected static readonly PROPERTY_NAME = "permissionSet";
|
|
8
|
+
protected constructor(value: TPermissionSet, skipDomainValidation: boolean);
|
|
9
|
+
static create(value: TPermissionSet): PermissionSet;
|
|
10
|
+
static fromPrimitives(primitive: PermissionSetPrimitives): PermissionSet;
|
|
11
|
+
static createFromArray(permissions: Permission[]): PermissionSet;
|
|
12
|
+
static empty(): PermissionSet;
|
|
13
|
+
toPrimitives(): PermissionSetPrimitives;
|
|
14
|
+
get permissions(): readonly Permission[];
|
|
15
|
+
has(permission: Permission): boolean;
|
|
16
|
+
contains(permission: Permission): boolean;
|
|
17
|
+
hasAny(permissions: Permission[]): boolean;
|
|
18
|
+
hasAll(permissions: Permission[]): boolean;
|
|
19
|
+
add(permission: Permission): PermissionSet;
|
|
20
|
+
addAll(permissions: Permission[]): PermissionSet;
|
|
21
|
+
remove(permission: Permission): PermissionSet;
|
|
22
|
+
union(other: PermissionSet): PermissionSet;
|
|
23
|
+
intersection(other: PermissionSet): PermissionSet;
|
|
24
|
+
difference(other: PermissionSet): PermissionSet;
|
|
25
|
+
isEmpty(): boolean;
|
|
26
|
+
size(): number;
|
|
27
|
+
toArray(): Permission[];
|
|
28
|
+
equals(other: PermissionSet): boolean;
|
|
29
|
+
toString(): string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=PermissionSet.d.ts.map
|
package/build/types/carbonbox/shared/domain/authorization/value-objects/PermissionSet.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionSet.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/authorization/value-objects/PermissionSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,qBAAa,aAAc,SAAQ,iBAAiB,CAAC,uBAAuB,CAAC;;IAC3E,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,mBAAmB;IAI1D,SAAS,aAAa,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO;WAmBnD,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa;WAI5C,cAAc,CAAC,SAAS,EAAE,uBAAuB,GAAG,aAAa;WAQ1E,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa;WAIzD,KAAK,IAAI,aAAa;IAwBpB,YAAY,IAAI,uBAAuB;IAMvD,IAAW,WAAW,IAAI,SAAS,UAAU,EAAE,CAE9C;IAEM,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIpC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIzC,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IAI1C,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IAI1C,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa;IAU1C,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa;IAKhD,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa;IAM7C,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa;IAI1C,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa;IAKjD,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa;IAK/C,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,MAAM;IAId,OAAO,IAAI,UAAU,EAAE;IAIvB,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAQrC,QAAQ,IAAI,MAAM;CAG1B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { User } from '../../entities/User';
|
|
2
|
+
import { SecurityContextPrimitives } from '../../types/SecurityContextPrimitives';
|
|
3
|
+
import { SecurityContext as TSecurityContext } from '../../types/SecurityContext';
|
|
4
|
+
import { ObjectValueObject } from '../../value-objects/ObjectValueObject';
|
|
5
|
+
import { UserPrimitives } from '../../types/UserPrimitives';
|
|
6
|
+
export declare class SecurityContext extends ObjectValueObject<SecurityContextPrimitives> {
|
|
7
|
+
#private;
|
|
8
|
+
protected static readonly PROPERTY_NAME = "securityContext";
|
|
9
|
+
protected constructor(value: TSecurityContext, skipDomainValidation: boolean);
|
|
10
|
+
static create(value: TSecurityContext): SecurityContext;
|
|
11
|
+
static fromPrimitives(primitive: SecurityContextPrimitives): SecurityContext;
|
|
12
|
+
toPrimitives(): SecurityContextPrimitives;
|
|
13
|
+
get user(): User<UserPrimitives>;
|
|
14
|
+
get resource(): any;
|
|
15
|
+
get environment(): {
|
|
16
|
+
timestamp: string;
|
|
17
|
+
ipAddress: string | null;
|
|
18
|
+
} | null;
|
|
19
|
+
static fromUser(user: User<UserPrimitives>, resource?: any | null): SecurityContext;
|
|
20
|
+
withResource(resource: any): SecurityContext;
|
|
21
|
+
equals(other: SecurityContext): boolean;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=SecurityContext.d.ts.map
|
package/build/types/carbonbox/shared/domain/authorization/value-objects/SecurityContext.d.ts.map
ADDED
|
@@ -0,0 +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"}
|
|
@@ -5,10 +5,14 @@ import { UserDisplayName } from '../value-objects/UserDisplayName';
|
|
|
5
5
|
import { UserLastAccessAt } from '../value-objects/UserLastAccessAt';
|
|
6
6
|
import { UserType } from '../value-objects/UserType';
|
|
7
7
|
import { IAggregateRoot } from './IAggregateRoot';
|
|
8
|
+
import { Permission } from '../authorization/enums/Permission';
|
|
9
|
+
import { UserPermissions } from '../value-objects/UserPermissions';
|
|
8
10
|
export interface IUser extends IAggregateRoot, IUserProfile, IUserCredentials {
|
|
9
11
|
displayName: UserDisplayName;
|
|
10
12
|
lastAccessAt: UserLastAccessAt;
|
|
11
13
|
userType: UserType;
|
|
12
14
|
businessStatus: UserBusinessStatus;
|
|
15
|
+
permissions: UserPermissions;
|
|
16
|
+
hasPermission(permission: Permission): boolean;
|
|
13
17
|
}
|
|
14
18
|
//# 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;
|
|
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"}
|
|
@@ -9,6 +9,8 @@ import { UserPassword } from '../value-objects/UserPassword';
|
|
|
9
9
|
import { UserType } from '../value-objects/UserType';
|
|
10
10
|
import { AggregateRoot } from './AggregateRoot';
|
|
11
11
|
import { IUser } from './IUser';
|
|
12
|
+
import { Permission } from '../authorization/enums/Permission';
|
|
13
|
+
import { UserPermissions } from '../value-objects/UserPermissions';
|
|
12
14
|
export declare abstract class User<T extends UserPrimitives> extends AggregateRoot<T> implements IUser {
|
|
13
15
|
#private;
|
|
14
16
|
protected constructor(props: UserProps, skipDomainValidation: boolean);
|
|
@@ -19,5 +21,13 @@ export declare abstract class User<T extends UserPrimitives> extends AggregateRo
|
|
|
19
21
|
get businessStatus(): UserBusinessStatus;
|
|
20
22
|
get userType(): UserType;
|
|
21
23
|
get lastAccessAt(): UserLastAccessAt;
|
|
24
|
+
get permissions(): UserPermissions;
|
|
25
|
+
/**
|
|
26
|
+
* Verifica si el usuario tiene un permiso específico.
|
|
27
|
+
* Mapea los enum Permission a las propiedades boolean del sistema existente.
|
|
28
|
+
* @param permission - El permiso a verificar
|
|
29
|
+
* @returns true si el usuario tiene el permiso, false en caso contrario
|
|
30
|
+
*/
|
|
31
|
+
hasPermission(permission: Permission): boolean;
|
|
22
32
|
}
|
|
23
33
|
//# 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;
|
|
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"}
|
package/build/types/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SecurityContextPrimitives } from '../types/SecurityContextPrimitives';
|
|
2
|
+
import { RootError } from './RootError';
|
|
3
|
+
export declare class SecurityContextReconstructionError extends RootError {
|
|
4
|
+
private readonly primitives;
|
|
5
|
+
private constructor();
|
|
6
|
+
static create(primitives: SecurityContextPrimitives): SecurityContextReconstructionError;
|
|
7
|
+
logError(): string;
|
|
8
|
+
getReceivedPrimitives(): SecurityContextPrimitives;
|
|
9
|
+
getDebugInfo(): object;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=SecurityContextReconstructionError.d.ts.map
|
package/build/types/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityContextReconstructionError.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,kCAAmC,SAAQ,SAAS;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,OAAO;WAYgB,MAAM,CAAC,UAAU,EAAE,yBAAyB,GAAG,kCAAkC;IAIxF,QAAQ,IAAI,MAAM;IAgB3B,qBAAqB,IAAI,yBAAyB;IAIlD,YAAY,IAAI,MAAM;CAW9B"}
|
|
@@ -1,18 +1,110 @@
|
|
|
1
1
|
import { User } from '../entities/User';
|
|
2
2
|
import { Nullable } from '../types/Nullable';
|
|
3
|
+
import { UserPrimitives } from '../types/UserPrimitives';
|
|
3
4
|
import { UserBusinessStatus } from '../value-objects/UserBusinessStatus';
|
|
4
5
|
import { UserEmail } from '../value-objects/UserEmail';
|
|
5
6
|
import { UserId } from '../value-objects/UserId';
|
|
6
7
|
import { UserLastAccessAt } from '../value-objects/UserLastAccessAt';
|
|
7
8
|
import { UserType } from '../value-objects/UserType';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Generic base repository interface for User entities following DDD principles.
|
|
11
|
+
*
|
|
12
|
+
* @template TPrimitives - The primitives type that extends UserPrimitives
|
|
13
|
+
* @template TUser - The specific User entity type that extends User<TPrimitives>
|
|
14
|
+
* @template TUserId - The specific UserId value object type that extends UserId
|
|
15
|
+
* @template TUserEmail - The specific UserEmail value object type that extends UserEmail
|
|
16
|
+
*
|
|
17
|
+
* This interface provides type-safe operations for User aggregates while maintaining
|
|
18
|
+
* extensibility for domain-specific user types (e.g., CarbonClient, CarbonManager).
|
|
19
|
+
*
|
|
20
|
+
* Key design principles:
|
|
21
|
+
* - Generic constraints ensure type safety while allowing inheritance
|
|
22
|
+
* - All operations return the specific user type, not the base type
|
|
23
|
+
* - Value objects are properly constrained to their inheritance hierarchy
|
|
24
|
+
* - Follows Repository pattern from DDD with clear aggregate boundaries
|
|
25
|
+
*/
|
|
26
|
+
export interface IUserRepository<TPrimitives extends UserPrimitives = UserPrimitives, TUser extends User<TPrimitives> = User<TPrimitives>, TUserId extends UserId = UserId, TUserEmail extends UserEmail = UserEmail> {
|
|
27
|
+
/**
|
|
28
|
+
* Finds a user by their email address.
|
|
29
|
+
* @param email - The user's email value object
|
|
30
|
+
* @returns Promise resolving to the user entity or null if not found
|
|
31
|
+
*/
|
|
32
|
+
findByEmail(email: TUserEmail): Promise<Nullable<TUser>>;
|
|
33
|
+
/**
|
|
34
|
+
* Finds a user by their unique identifier.
|
|
35
|
+
* @param id - The user's ID value object
|
|
36
|
+
* @returns Promise resolving to the user entity or null if not found
|
|
37
|
+
*/
|
|
38
|
+
findById(id: TUserId): Promise<Nullable<TUser>>;
|
|
39
|
+
/**
|
|
40
|
+
* Persists a user entity to the repository.
|
|
41
|
+
* @param user - The user entity to save
|
|
42
|
+
* @returns Promise that resolves when the operation completes
|
|
43
|
+
*/
|
|
44
|
+
save(user: TUser): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Updates the last access timestamp for a specific user.
|
|
47
|
+
* @param id - The user's ID value object
|
|
48
|
+
* @param lastAccessAt - The new last access timestamp value object
|
|
49
|
+
* @returns Promise that resolves when the operation completes
|
|
50
|
+
*/
|
|
51
|
+
updateLastAccessAt<TLastAccessAt extends UserLastAccessAt>(id: TUserId, lastAccessAt: TLastAccessAt): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Finds an active user by their email address.
|
|
54
|
+
* Active users are those with a business status that allows system access.
|
|
55
|
+
* @param email - The user's email value object
|
|
56
|
+
* @returns Promise resolving to the active user entity or null if not found
|
|
57
|
+
*/
|
|
58
|
+
findActiveByEmail(email: TUserEmail): Promise<Nullable<TUser>>;
|
|
59
|
+
/**
|
|
60
|
+
* Finds all users with a specific business status.
|
|
61
|
+
* @param businessStatus - The business status to filter by
|
|
62
|
+
* @returns Promise resolving to an array of matching user entities
|
|
63
|
+
*/
|
|
64
|
+
findAllByBusinessStatus<TBusinessStatus extends UserBusinessStatus>(businessStatus: TBusinessStatus): Promise<TUser[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Finds all users with a specific user type.
|
|
67
|
+
* @param userType - The user type to filter by
|
|
68
|
+
* @returns Promise resolving to an array of matching user entities
|
|
69
|
+
*/
|
|
70
|
+
findAllByUserType<TUserType extends UserType>(userType: TUserType): Promise<TUser[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Finds users by both business status and user type.
|
|
73
|
+
* @param businessStatus - The business status to filter by
|
|
74
|
+
* @param userType - The user type to filter by
|
|
75
|
+
* @returns Promise resolving to an array of matching user entities
|
|
76
|
+
*/
|
|
77
|
+
findByBusinessStatusAndUserType<TBusinessStatus extends UserBusinessStatus, TUserType extends UserType>(businessStatus: TBusinessStatus, userType: TUserType): Promise<TUser[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Finds users by an array of user IDs.
|
|
80
|
+
* Useful for batch operations and relationship loading.
|
|
81
|
+
* @param ids - Array of user ID value objects
|
|
82
|
+
* @returns Promise resolving to an array of found user entities
|
|
83
|
+
*/
|
|
84
|
+
findByIds(ids: TUserId[]): Promise<TUser[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Checks if a user exists with the given email.
|
|
87
|
+
* @param email - The email to check for existence
|
|
88
|
+
* @returns Promise resolving to true if user exists, false otherwise
|
|
89
|
+
*/
|
|
90
|
+
existsByEmail(email: TUserEmail): Promise<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* Checks if a user exists with the given ID.
|
|
93
|
+
* @param id - The ID to check for existence
|
|
94
|
+
* @returns Promise resolving to true if user exists, false otherwise
|
|
95
|
+
*/
|
|
96
|
+
existsById(id: TUserId): Promise<boolean>;
|
|
97
|
+
/**
|
|
98
|
+
* Counts total users matching the given business status.
|
|
99
|
+
* @param businessStatus - The business status to count
|
|
100
|
+
* @returns Promise resolving to the count of matching users
|
|
101
|
+
*/
|
|
102
|
+
countByBusinessStatus<TBusinessStatus extends UserBusinessStatus>(businessStatus: TBusinessStatus): Promise<number>;
|
|
103
|
+
/**
|
|
104
|
+
* Counts total users matching the given user type.
|
|
105
|
+
* @param userType - The user type to count
|
|
106
|
+
* @returns Promise resolving to the count of matching users
|
|
107
|
+
*/
|
|
108
|
+
countByUserType<TUserType extends UserType>(userType: TUserType): Promise<number>;
|
|
17
109
|
}
|
|
18
110
|
//# sourceMappingURL=IUserRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IUserRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/repositories/IUserRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,WAAW,eAAe
|
|
1
|
+
{"version":3,"file":"IUserRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/repositories/IUserRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe,CAC9B,WAAW,SAAS,cAAc,GAAG,cAAc,EACnD,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EACnD,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,UAAU,SAAS,SAAS,GAAG,SAAS;IAExC;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhD;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,kBAAkB,CAAC,aAAa,SAAS,gBAAgB,EACvD,EAAE,EAAE,OAAO,EACX,YAAY,EAAE,aAAa,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/D;;;;OAIG;IACH,uBAAuB,CAAC,eAAe,SAAS,kBAAkB,EAChE,cAAc,EAAE,eAAe,GAC9B,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEpB;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,SAAS,QAAQ,EAC1C,QAAQ,EAAE,SAAS,GAClB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEpB;;;;;OAKG;IACH,+BAA+B,CAC7B,eAAe,SAAS,kBAAkB,EAC1C,SAAS,SAAS,QAAQ,EAE1B,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,SAAS,GAClB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAE5C;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnD;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;;;OAIG;IACH,qBAAqB,CAAC,eAAe,SAAS,kBAAkB,EAC9D,cAAc,EAAE,eAAe,GAC9B,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,SAAS,SAAS,QAAQ,EACxC,QAAQ,EAAE,SAAS,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionSet.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/PermissionSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionSetPrimitives.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/PermissionSetPrimitives.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { User } from '../entities/User';
|
|
2
|
+
import { UserPrimitives } from './UserPrimitives';
|
|
3
|
+
export type SecurityContext = {
|
|
4
|
+
readonly user: User<UserPrimitives>;
|
|
5
|
+
readonly resource: any | null;
|
|
6
|
+
readonly environment: {
|
|
7
|
+
readonly timestamp: string;
|
|
8
|
+
readonly ipAddress: string | null;
|
|
9
|
+
} | null;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=SecurityContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityContext.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/SecurityContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GAAG,IAAI,CAAC;CACV,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UserPrimitives } from './UserPrimitives';
|
|
2
|
+
export type SecurityContextPrimitives = {
|
|
3
|
+
readonly user: UserPrimitives;
|
|
4
|
+
readonly resource: any | null;
|
|
5
|
+
readonly environment: {
|
|
6
|
+
readonly timestamp: string;
|
|
7
|
+
readonly ipAddress: string | null;
|
|
8
|
+
} | null;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=SecurityContextPrimitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityContextPrimitives.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/SecurityContextPrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GAAG,IAAI,CAAC;CACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StakeholderManagementPermissions.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/StakeholderManagementPermissions.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gCAAgC,GAAG;IAC7C,sBAAsB,EAAE,OAAO,CAAC;IAChC,2BAA2B,EAAE,OAAO,CAAC;IACrC,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"StakeholderManagementPermissions.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/StakeholderManagementPermissions.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gCAAgC,GAAG;IAC7C,sBAAsB,EAAE,OAAO,CAAC;IAChC,2BAA2B,EAAE,OAAO,CAAC;IACrC,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC"}
|
package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export type StakeholderManagementPermissionsPrimitives = {
|
|
|
5
5
|
canManageCarbonHosts: boolean;
|
|
6
6
|
canViewStakeholderHierarchy: boolean;
|
|
7
7
|
canAssignStakeholderRoles: boolean;
|
|
8
|
+
canManageStakeholderRoles: boolean;
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=StakeholderManagementPermissionsPrimitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StakeholderManagementPermissionsPrimitives.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,0CAA0C,GAAG;IACvD,sBAAsB,EAAE,OAAO,CAAC;IAChC,2BAA2B,EAAE,OAAO,CAAC;IACrC,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"StakeholderManagementPermissionsPrimitives.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,0CAA0C,GAAG;IACvD,sBAAsB,EAAE,OAAO,CAAC;IAChC,2BAA2B,EAAE,OAAO,CAAC;IACrC,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ActivityDataCollectionPermissions } from './ActivityDataCollectionPermissions';
|
|
2
|
+
import { EmissionCalculationProcessPermissions } from './EmissionCalculationProcessPermissions';
|
|
3
|
+
import { EmissionCalculationResultsPermissions } from './EmissionCalculationResultsPermissions';
|
|
4
|
+
import { CarbonFootprintConfigurationPermissions } from './CarbonFootprintConfigurationPermissions';
|
|
5
|
+
import { EmissionCalculationFormulaPermissions } from './EmissionCalculationFormulaPermissions';
|
|
6
|
+
import { PurchaseManagementPermissions } from './PurchaseManagementPermissions';
|
|
7
|
+
import { SystemAdministrationPermissions } from './SystemAdministrationPermissions';
|
|
8
|
+
import { UserManagementPermissions } from './UserManagementPermissions';
|
|
9
|
+
import { CompanyResourcesPermissions } from './CompanyResourcesPermissions';
|
|
10
|
+
import { StakeholderManagementPermissions } from './StakeholderManagementPermissions';
|
|
11
|
+
export type UserPermissionsValue = UserManagementPermissions & CarbonFootprintConfigurationPermissions & EmissionCalculationFormulaPermissions & ActivityDataCollectionPermissions & EmissionCalculationProcessPermissions & EmissionCalculationResultsPermissions & PurchaseManagementPermissions & SystemAdministrationPermissions & CompanyResourcesPermissions & StakeholderManagementPermissions;
|
|
12
|
+
//# sourceMappingURL=UserPermissionsValue.d.ts.map
|