@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.
Files changed (124) hide show
  1. package/build/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.js +2 -0
  2. package/build/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.js +2 -0
  3. package/build/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.js +9 -0
  4. package/build/carbonbox/shared/domain/authorization/enums/Permission.js +77 -0
  5. package/build/carbonbox/shared/domain/authorization/value-objects/PermissionSet.js +127 -0
  6. package/build/carbonbox/shared/domain/authorization/value-objects/SecurityContext.js +105 -0
  7. package/build/carbonbox/shared/domain/entities/User.js +158 -2
  8. package/build/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.js +48 -0
  9. package/build/carbonbox/shared/domain/types/PermissionSet.js +2 -0
  10. package/build/carbonbox/shared/domain/types/PermissionSetPrimitives.js +2 -0
  11. package/build/carbonbox/shared/domain/types/SecurityContext.js +2 -0
  12. package/build/carbonbox/shared/domain/types/SecurityContextPrimitives.js +2 -0
  13. package/build/carbonbox/shared/domain/types/UserPermissionsValue.js +2 -0
  14. package/build/carbonbox/shared/domain/value-objects/UserPermissions.js +617 -0
  15. package/build/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.js +6 -8
  16. package/build/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.js +36 -350
  17. package/build/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.js +7 -9
  18. package/build/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.js +39 -290
  19. package/build/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.js +4 -25
  20. package/build/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.js +63 -134
  21. package/build/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.js +6 -8
  22. package/build/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.js +11 -315
  23. package/build/carbonbox/stakeholders/shared/domain/entity/Stakeholder.js +5 -0
  24. package/build/carbonbox/stakeholders/shared/domain/types/StakeholderPermissions.js +2 -0
  25. package/build/carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions.js +7 -0
  26. package/build/main/index.js +19 -1
  27. package/build/types/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.d.ts +24 -0
  28. package/build/types/carbonbox/shared/domain/authorization/contracts/IAuthorizationPolicy.d.ts.map +1 -0
  29. package/build/types/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.d.ts +27 -0
  30. package/build/types/carbonbox/shared/domain/authorization/contracts/IPermissionSpecification.d.ts.map +1 -0
  31. package/build/types/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.d.ts +6 -0
  32. package/build/types/carbonbox/shared/domain/authorization/enums/AuthorizationDecision.d.ts.map +1 -0
  33. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts +64 -0
  34. package/build/types/carbonbox/shared/domain/authorization/enums/Permission.d.ts.map +1 -0
  35. package/build/types/carbonbox/shared/domain/authorization/value-objects/PermissionSet.d.ts +31 -0
  36. package/build/types/carbonbox/shared/domain/authorization/value-objects/PermissionSet.d.ts.map +1 -0
  37. package/build/types/carbonbox/shared/domain/authorization/value-objects/SecurityContext.d.ts +23 -0
  38. package/build/types/carbonbox/shared/domain/authorization/value-objects/SecurityContext.d.ts.map +1 -0
  39. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts +4 -0
  40. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts.map +1 -1
  41. package/build/types/carbonbox/shared/domain/entities/User.d.ts +10 -0
  42. package/build/types/carbonbox/shared/domain/entities/User.d.ts.map +1 -1
  43. package/build/types/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.d.ts +11 -0
  44. package/build/types/carbonbox/shared/domain/exceptions/SecurityContextReconstructionError.d.ts.map +1 -0
  45. package/build/types/carbonbox/shared/domain/repositories/IUserRepository.d.ts +101 -9
  46. package/build/types/carbonbox/shared/domain/repositories/IUserRepository.d.ts.map +1 -1
  47. package/build/types/carbonbox/shared/domain/types/PermissionSet.d.ts +5 -0
  48. package/build/types/carbonbox/shared/domain/types/PermissionSet.d.ts.map +1 -0
  49. package/build/types/carbonbox/shared/domain/types/PermissionSetPrimitives.d.ts +4 -0
  50. package/build/types/carbonbox/shared/domain/types/PermissionSetPrimitives.d.ts.map +1 -0
  51. package/build/types/carbonbox/shared/domain/types/SecurityContext.d.ts +11 -0
  52. package/build/types/carbonbox/shared/domain/types/SecurityContext.d.ts.map +1 -0
  53. package/build/types/carbonbox/shared/domain/types/SecurityContextPrimitives.d.ts +10 -0
  54. package/build/types/carbonbox/shared/domain/types/SecurityContextPrimitives.d.ts.map +1 -0
  55. package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissions.d.ts +1 -0
  56. package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissions.d.ts.map +1 -1
  57. package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.d.ts +1 -0
  58. package/build/types/carbonbox/shared/domain/types/StakeholderManagementPermissionsPrimitives.d.ts.map +1 -1
  59. package/build/types/carbonbox/shared/domain/types/UserPermissionsValue.d.ts +12 -0
  60. package/build/types/carbonbox/shared/domain/types/UserPermissionsValue.d.ts.map +1 -0
  61. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts +2 -0
  62. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts.map +1 -1
  63. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts +2 -0
  64. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts.map +1 -1
  65. package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts +72 -0
  66. package/build/types/carbonbox/shared/domain/value-objects/UserPermissions.d.ts.map +1 -0
  67. package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.d.ts +0 -2
  68. package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.d.ts.map +1 -1
  69. package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/ICarbonClient.d.ts +0 -2
  70. package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/ICarbonClient.d.ts.map +1 -1
  71. package/build/types/carbonbox/stakeholders/carbon-clients/domain/repository/ICarbonClientRepository.d.ts +51 -6
  72. package/build/types/carbonbox/stakeholders/carbon-clients/domain/repository/ICarbonClientRepository.d.ts.map +1 -1
  73. package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientPrimitives.d.ts +0 -2
  74. package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientPrimitives.d.ts.map +1 -1
  75. package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientProps.d.ts +0 -2
  76. package/build/types/carbonbox/stakeholders/carbon-clients/domain/types/CarbonClientProps.d.ts.map +1 -1
  77. package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.d.ts +2 -50
  78. package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientPermissions.d.ts.map +1 -1
  79. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.d.ts +0 -2
  80. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.d.ts.map +1 -1
  81. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/ICarbonCoordinator.d.ts +0 -2
  82. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/ICarbonCoordinator.d.ts.map +1 -1
  83. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/repository/ICarbonCoordinatorRepository.d.ts +46 -6
  84. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/repository/ICarbonCoordinatorRepository.d.ts.map +1 -1
  85. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorPrimitives.d.ts +0 -2
  86. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorPrimitives.d.ts.map +1 -1
  87. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorProps.d.ts +0 -2
  88. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/types/CarbonCoordinatorProps.d.ts.map +1 -1
  89. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.d.ts +2 -11
  90. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorPermissions.d.ts.map +1 -1
  91. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts +0 -3
  92. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts.map +1 -1
  93. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/ICarbonHost.d.ts +0 -2
  94. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/ICarbonHost.d.ts.map +1 -1
  95. package/build/types/carbonbox/stakeholders/carbon-host/domain/repository/ICarbonHostRepository.d.ts +31 -6
  96. package/build/types/carbonbox/stakeholders/carbon-host/domain/repository/ICarbonHostRepository.d.ts.map +1 -1
  97. package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostPrimitives.d.ts +1 -4
  98. package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostPrimitives.d.ts.map +1 -1
  99. package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostProps.d.ts +1 -4
  100. package/build/types/carbonbox/stakeholders/carbon-host/domain/types/CarbonHostProps.d.ts.map +1 -1
  101. package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.d.ts +2 -24
  102. package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostPermissions.d.ts.map +1 -1
  103. package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.d.ts +0 -2
  104. package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.d.ts.map +1 -1
  105. package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/ICarbonManager.d.ts +0 -2
  106. package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/ICarbonManager.d.ts.map +1 -1
  107. package/build/types/carbonbox/stakeholders/carbon-managers/domain/repository/ICarbonManagerRepository.d.ts +26 -6
  108. package/build/types/carbonbox/stakeholders/carbon-managers/domain/repository/ICarbonManagerRepository.d.ts.map +1 -1
  109. package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerPrimitives.d.ts +0 -2
  110. package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerPrimitives.d.ts.map +1 -1
  111. package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerProps.d.ts +0 -2
  112. package/build/types/carbonbox/stakeholders/carbon-managers/domain/types/CarbonManagerProps.d.ts.map +1 -1
  113. package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.d.ts +2 -11
  114. package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerPermissions.d.ts.map +1 -1
  115. package/build/types/carbonbox/stakeholders/shared/domain/entity/Stakeholder.d.ts.map +1 -1
  116. package/build/types/carbonbox/stakeholders/shared/domain/repository/IStakeholderRepository.d.ts +31 -10
  117. package/build/types/carbonbox/stakeholders/shared/domain/repository/IStakeholderRepository.d.ts.map +1 -1
  118. package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderPermissions.d.ts +10 -0
  119. package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderPermissions.d.ts.map +1 -0
  120. package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions.d.ts +4 -0
  121. package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderPermissions.d.ts.map +1 -0
  122. package/build/types/main/index.d.ts +14 -12
  123. package/build/types/main/index.d.ts.map +1 -1
  124. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;
@@ -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
@@ -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"}
@@ -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"}
@@ -0,0 +1,6 @@
1
+ export declare enum AuthorizationDecision {
2
+ PERMIT = "PERMIT",
3
+ DENY = "DENY",
4
+ NOT_APPLICABLE = "NOT_APPLICABLE"
5
+ }
6
+ //# sourceMappingURL=AuthorizationDecision.d.ts.map
@@ -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
@@ -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
@@ -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;AAElD,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;CACpC"}
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;AAEhC,8BAAsB,IAAI,CAAC,CAAC,SAAS,cAAc,CACjD,SAAQ,aAAa,CAAC,CAAC,CACvB,YAAW,KAAK;;IAehB,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO;IA4BrE,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;CACF"}
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"}
@@ -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
@@ -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
- export interface IUserRepository {
9
- findByEmail<T extends UserEmail>(email: T): Promise<Nullable<User<any>>>;
10
- findById<T extends UserId>(id: T): Promise<Nullable<User<any>>>;
11
- save<T extends User<any>>(user: T): Promise<void>;
12
- updateLastAccessAt<T extends UserId, U extends UserLastAccessAt>(id: T, lastAccessAt: U): Promise<void>;
13
- findActiveByEmail<T extends UserEmail>(email: T): Promise<Nullable<User<any>>>;
14
- findAllByBusinessStatus(businessStatus: UserBusinessStatus): Promise<User<any>[]>;
15
- findAllByUserType(userType: UserType): Promise<User<any>[]>;
16
- findByBusinessStatusAndUserType(businessStatus: UserBusinessStatus, userType: UserType): Promise<User<any>[]>;
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;IAC9B,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGxG,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/E,uBAAuB,CAAC,cAAc,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,+BAA+B,CAAC,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAC/G"}
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,5 @@
1
+ import { Permission } from '../authorization/enums/Permission';
2
+ export type PermissionSet = {
3
+ readonly permissions: readonly Permission[];
4
+ };
5
+ //# sourceMappingURL=PermissionSet.d.ts.map
@@ -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,4 @@
1
+ export type PermissionSetPrimitives = {
2
+ readonly permissions: readonly string[];
3
+ };
4
+ //# sourceMappingURL=PermissionSetPrimitives.d.ts.map
@@ -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"}
@@ -5,5 +5,6 @@ export type StakeholderManagementPermissions = {
5
5
  canManageCarbonHosts: boolean;
6
6
  canViewStakeholderHierarchy: boolean;
7
7
  canAssignStakeholderRoles: boolean;
8
+ canManageStakeholderRoles: boolean;
8
9
  };
9
10
  //# sourceMappingURL=StakeholderManagementPermissions.d.ts.map
@@ -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"}
@@ -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