@carbonbox/domain 0.3.0 → 0.3.2

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 (75) hide show
  1. package/build/carbonbox/shared/domain/entities/User.js +16 -2
  2. package/build/carbonbox/shared/domain/enums/UserBusinessStatus.js +10 -0
  3. package/build/carbonbox/shared/domain/enums/UserType.js +8 -0
  4. package/build/carbonbox/shared/domain/exceptions/InvalidUserBusinessStatusError.js +18 -0
  5. package/build/carbonbox/shared/domain/exceptions/InvalidUserTypeError.js +18 -0
  6. package/build/carbonbox/shared/domain/repositories/IUserRepository.js +2 -0
  7. package/build/carbonbox/shared/domain/value-objects/UserBusinessStatus.js +70 -0
  8. package/build/carbonbox/shared/domain/value-objects/UserType.js +58 -0
  9. package/build/carbonbox/shared/either/domain/models/LeftEither.js +1 -1
  10. package/build/carbonbox/shared/either/domain/models/RightEither.js +1 -1
  11. package/build/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.js +7 -0
  12. package/build/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientUserType.js +18 -0
  13. package/build/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.js +7 -0
  14. package/build/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorUserType.js +18 -0
  15. package/build/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.js +7 -0
  16. package/build/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostUserType.js +18 -0
  17. package/build/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.js +7 -0
  18. package/build/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerUserType.js +18 -0
  19. package/build/carbonbox/stakeholders/shared/domain/entity/Stakeholder.js +11 -8
  20. package/build/carbonbox/stakeholders/shared/domain/value-objects/StakeholderBusinessStatus.js +7 -58
  21. package/build/carbonbox/stakeholders/shared/domain/value-objects/StakeholderUserType.js +18 -0
  22. package/build/main/index.js +27 -9
  23. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts +4 -0
  24. package/build/types/carbonbox/shared/domain/entities/IUser.d.ts.map +1 -1
  25. package/build/types/carbonbox/shared/domain/entities/User.d.ts +4 -0
  26. package/build/types/carbonbox/shared/domain/entities/User.d.ts.map +1 -1
  27. package/build/types/carbonbox/shared/domain/enums/UserBusinessStatus.d.ts +7 -0
  28. package/build/types/carbonbox/shared/domain/enums/UserBusinessStatus.d.ts.map +1 -0
  29. package/build/types/carbonbox/shared/domain/enums/UserType.d.ts +5 -0
  30. package/build/types/carbonbox/shared/domain/enums/UserType.d.ts.map +1 -0
  31. package/build/types/carbonbox/shared/domain/exceptions/InvalidUserBusinessStatusError.d.ts +7 -0
  32. package/build/types/carbonbox/shared/domain/exceptions/InvalidUserBusinessStatusError.d.ts.map +1 -0
  33. package/build/types/carbonbox/shared/domain/exceptions/InvalidUserTypeError.d.ts +7 -0
  34. package/build/types/carbonbox/shared/domain/exceptions/InvalidUserTypeError.d.ts.map +1 -0
  35. package/build/types/carbonbox/shared/domain/repositories/IUserRepository.d.ts +12 -0
  36. package/build/types/carbonbox/shared/domain/repositories/IUserRepository.d.ts.map +1 -0
  37. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts +4 -0
  38. package/build/types/carbonbox/shared/domain/types/UserPrimitives.d.ts.map +1 -1
  39. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts +4 -0
  40. package/build/types/carbonbox/shared/domain/types/UserProps.d.ts.map +1 -1
  41. package/build/types/carbonbox/shared/domain/value-objects/UserBusinessStatus.d.ts +20 -0
  42. package/build/types/carbonbox/shared/domain/value-objects/UserBusinessStatus.d.ts.map +1 -0
  43. package/build/types/carbonbox/shared/domain/value-objects/UserType.d.ts +16 -0
  44. package/build/types/carbonbox/shared/domain/value-objects/UserType.d.ts.map +1 -0
  45. package/build/types/carbonbox/shared/either/domain/exceptions/CannotAccessLeftOnRightValueError.d.ts +1 -1
  46. package/build/types/carbonbox/shared/either/domain/exceptions/CannotAccessLeftOnRightValueError.d.ts.map +1 -1
  47. package/build/types/carbonbox/shared/either/domain/exceptions/CannotAccessRightOnLeftValueError.d.ts +1 -1
  48. package/build/types/carbonbox/shared/either/domain/exceptions/CannotAccessRightOnLeftValueError.d.ts.map +1 -1
  49. package/build/types/carbonbox/stakeholders/carbon-clients/domain/entity/CarbonClient.d.ts.map +1 -1
  50. package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientUserType.d.ts +7 -0
  51. package/build/types/carbonbox/stakeholders/carbon-clients/domain/value-objects/CarbonClientUserType.d.ts.map +1 -0
  52. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/entity/CarbonCoordinator.d.ts.map +1 -1
  53. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorUserType.d.ts +7 -0
  54. package/build/types/carbonbox/stakeholders/carbon-coordinators/domain/value-objects/CarbonCoordinatorUserType.d.ts.map +1 -0
  55. package/build/types/carbonbox/stakeholders/carbon-host/domain/entity/CarbonHost.d.ts.map +1 -1
  56. package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostUserType.d.ts +7 -0
  57. package/build/types/carbonbox/stakeholders/carbon-host/domain/value-objects/CarbonHostUserType.d.ts.map +1 -0
  58. package/build/types/carbonbox/stakeholders/carbon-managers/domain/entity/CarbonManager.d.ts.map +1 -1
  59. package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerUserType.d.ts +7 -0
  60. package/build/types/carbonbox/stakeholders/carbon-managers/domain/value-objects/CarbonManagerUserType.d.ts.map +1 -0
  61. package/build/types/carbonbox/stakeholders/shared/domain/entity/IStakeholder.d.ts +0 -2
  62. package/build/types/carbonbox/stakeholders/shared/domain/entity/IStakeholder.d.ts.map +1 -1
  63. package/build/types/carbonbox/stakeholders/shared/domain/entity/Stakeholder.d.ts +0 -2
  64. package/build/types/carbonbox/stakeholders/shared/domain/entity/Stakeholder.d.ts.map +1 -1
  65. package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderPrimitives.d.ts +0 -2
  66. package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderPrimitives.d.ts.map +1 -1
  67. package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderProps.d.ts +0 -2
  68. package/build/types/carbonbox/stakeholders/shared/domain/types/StakeholderProps.d.ts.map +1 -1
  69. package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderBusinessStatus.d.ts +2 -15
  70. package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderBusinessStatus.d.ts.map +1 -1
  71. package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderUserType.d.ts +7 -0
  72. package/build/types/carbonbox/stakeholders/shared/domain/value-objects/StakeholderUserType.d.ts.map +1 -0
  73. package/build/types/main/index.d.ts +12 -2
  74. package/build/types/main/index.d.ts.map +1 -1
  75. package/package.json +1 -1
@@ -10,15 +10,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _User_displayName, _User_avatar, _User_email, _User_password, _User_lastAccessAt;
13
+ var _User_displayName, _User_avatar, _User_email, _User_password, _User_businessStatus, _User_userType, _User_lastAccessAt;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.User = void 0;
16
16
  const UserAvatar_1 = require("../value-objects/UserAvatar");
17
+ const UserBusinessStatus_1 = require("../value-objects/UserBusinessStatus");
17
18
  const UserDisplayName_1 = require("../value-objects/UserDisplayName");
18
19
  const UserEmail_1 = require("../value-objects/UserEmail");
19
20
  const UserId_1 = require("../value-objects/UserId");
20
21
  const UserLastAccessAt_1 = require("../value-objects/UserLastAccessAt");
21
22
  const UserPassword_1 = require("../value-objects/UserPassword");
23
+ const UserType_1 = require("../value-objects/UserType");
22
24
  const AggregateRoot_1 = require("./AggregateRoot");
23
25
  class User extends AggregateRoot_1.AggregateRoot {
24
26
  constructor(props, skipDomainValidation) {
@@ -30,6 +32,8 @@ class User extends AggregateRoot_1.AggregateRoot {
30
32
  _User_avatar.set(this, void 0);
31
33
  _User_email.set(this, void 0);
32
34
  _User_password.set(this, void 0);
35
+ _User_businessStatus.set(this, void 0);
36
+ _User_userType.set(this, void 0);
33
37
  _User_lastAccessAt.set(this, void 0);
34
38
  if (skipDomainValidation === false) {
35
39
  // Initialize with domain validation
@@ -37,6 +41,8 @@ class User extends AggregateRoot_1.AggregateRoot {
37
41
  __classPrivateFieldSet(this, _User_avatar, UserAvatar_1.UserAvatar.create(props.avatar), "f");
38
42
  __classPrivateFieldSet(this, _User_email, UserEmail_1.UserEmail.create(props.email), "f");
39
43
  __classPrivateFieldSet(this, _User_password, UserPassword_1.UserPassword.create(props.password), "f");
44
+ __classPrivateFieldSet(this, _User_businessStatus, UserBusinessStatus_1.UserBusinessStatus.create(props.businessStatus), "f");
45
+ __classPrivateFieldSet(this, _User_userType, UserType_1.UserType.create(props.userType), "f");
40
46
  __classPrivateFieldSet(this, _User_lastAccessAt, UserLastAccessAt_1.UserLastAccessAt.create(props.lastAccessAt), "f");
41
47
  }
42
48
  else {
@@ -45,6 +51,8 @@ class User extends AggregateRoot_1.AggregateRoot {
45
51
  __classPrivateFieldSet(this, _User_avatar, UserAvatar_1.UserAvatar.fromPrimitives(props.avatar), "f");
46
52
  __classPrivateFieldSet(this, _User_email, UserEmail_1.UserEmail.fromPrimitives(props.email), "f");
47
53
  __classPrivateFieldSet(this, _User_password, UserPassword_1.UserPassword.fromPrimitives(props.password), "f");
54
+ __classPrivateFieldSet(this, _User_businessStatus, UserBusinessStatus_1.UserBusinessStatus.fromPrimitives(props.businessStatus), "f");
55
+ __classPrivateFieldSet(this, _User_userType, UserType_1.UserType.fromPrimitives(props.userType), "f");
48
56
  __classPrivateFieldSet(this, _User_lastAccessAt, UserLastAccessAt_1.UserLastAccessAt.fromPrimitives(props.lastAccessAt), "f");
49
57
  }
50
58
  }
@@ -60,9 +68,15 @@ class User extends AggregateRoot_1.AggregateRoot {
60
68
  get password() {
61
69
  return __classPrivateFieldGet(this, _User_password, "f");
62
70
  }
71
+ get businessStatus() {
72
+ return __classPrivateFieldGet(this, _User_businessStatus, "f");
73
+ }
74
+ get userType() {
75
+ return __classPrivateFieldGet(this, _User_userType, "f");
76
+ }
63
77
  get lastAccessAt() {
64
78
  return __classPrivateFieldGet(this, _User_lastAccessAt, "f");
65
79
  }
66
80
  }
67
81
  exports.User = User;
68
- _User_displayName = new WeakMap(), _User_avatar = new WeakMap(), _User_email = new WeakMap(), _User_password = new WeakMap(), _User_lastAccessAt = new WeakMap();
82
+ _User_displayName = new WeakMap(), _User_avatar = new WeakMap(), _User_email = new WeakMap(), _User_password = new WeakMap(), _User_businessStatus = new WeakMap(), _User_userType = new WeakMap(), _User_lastAccessAt = new WeakMap();
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserBusinessStatus = void 0;
4
+ var UserBusinessStatus;
5
+ (function (UserBusinessStatus) {
6
+ UserBusinessStatus["ACTIVE_IN_SYSTEM"] = "ACTIVE_IN_SYSTEM";
7
+ UserBusinessStatus["ONBOARDING_PENDING"] = "ONBOARDING_PENDING";
8
+ UserBusinessStatus["TEMPORARILY_SUSPENDED"] = "TEMPORARILY_SUSPENDED";
9
+ UserBusinessStatus["AWAITING_VERIFICATION"] = "AWAITING_VERIFICATION";
10
+ })(UserBusinessStatus || (exports.UserBusinessStatus = UserBusinessStatus = {}));
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserType = void 0;
4
+ var UserType;
5
+ (function (UserType) {
6
+ UserType["STAKEHOLDER"] = "STAKEHOLDER";
7
+ UserType["ADMINISTRATOR"] = "ADMINISTRATOR";
8
+ })(UserType || (exports.UserType = UserType = {}));
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidUserBusinessStatusError = void 0;
4
+ const RootError_1 = require("./RootError");
5
+ class InvalidUserBusinessStatusError extends RootError_1.RootError {
6
+ constructor(value, validStatuses) {
7
+ const message = `Invalid user business status: '${value}'. Valid statuses are: ${validStatuses.join(', ')}.`;
8
+ super(message);
9
+ this.name = 'InvalidUserBusinessStatusError';
10
+ }
11
+ static create(value, validStatuses) {
12
+ return new InvalidUserBusinessStatusError(value, validStatuses);
13
+ }
14
+ logError() {
15
+ return `${this.name}: ${this.message}`;
16
+ }
17
+ }
18
+ exports.InvalidUserBusinessStatusError = InvalidUserBusinessStatusError;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidUserTypeError = void 0;
4
+ const RootError_1 = require("./RootError");
5
+ class InvalidUserTypeError extends RootError_1.RootError {
6
+ constructor(value, validTypes) {
7
+ const message = `Invalid user type: '${value}'. Valid types are: ${validTypes.join(', ')}.`;
8
+ super(message);
9
+ this.name = 'InvalidUserTypeError';
10
+ }
11
+ static create(value, validTypes) {
12
+ return new InvalidUserTypeError(value, validTypes);
13
+ }
14
+ logError() {
15
+ return `${this.name}: ${this.message}`;
16
+ }
17
+ }
18
+ exports.InvalidUserTypeError = InvalidUserTypeError;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _UserBusinessStatus_instances, _a, _UserBusinessStatus_guardAgainstInvalidStatus, _UserBusinessStatus_isInvalidStatus, _UserBusinessStatus_isValidStatus;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UserBusinessStatus = void 0;
10
+ const String_1 = require("./String");
11
+ const UserBusinessStatus_1 = require("../enums/UserBusinessStatus");
12
+ const InvalidUserBusinessStatusError_1 = require("../exceptions/InvalidUserBusinessStatusError");
13
+ class UserBusinessStatus extends String_1.String {
14
+ constructor(value, skipDomainValidation) {
15
+ super(value, skipDomainValidation, _a.PROPERTY_NAME);
16
+ _UserBusinessStatus_instances.add(this);
17
+ if (skipDomainValidation === false) {
18
+ __classPrivateFieldGet(this, _UserBusinessStatus_instances, "m", _UserBusinessStatus_guardAgainstInvalidStatus).call(this, value);
19
+ }
20
+ }
21
+ static create(value) {
22
+ String_1.String.guardAgainstEmptyValue(value, _a.PROPERTY_NAME);
23
+ String_1.String.guardAgainstInvalidType(value, _a.PROPERTY_NAME);
24
+ return new _a(value, false);
25
+ }
26
+ static fromPrimitives(primitive) {
27
+ const value = primitive;
28
+ return new _a(value, true);
29
+ }
30
+ toPrimitives() {
31
+ return this.value;
32
+ }
33
+ toEnum() {
34
+ return this.value;
35
+ }
36
+ // Métodos de conveniencia específicos para el dominio
37
+ isActiveInSystem() {
38
+ return this.value === UserBusinessStatus_1.UserBusinessStatus.ACTIVE_IN_SYSTEM;
39
+ }
40
+ isOnboardingPending() {
41
+ return this.value === UserBusinessStatus_1.UserBusinessStatus.ONBOARDING_PENDING;
42
+ }
43
+ isTemporarilySuspended() {
44
+ return this.value === UserBusinessStatus_1.UserBusinessStatus.TEMPORARILY_SUSPENDED;
45
+ }
46
+ isAwaitingVerification() {
47
+ return this.value === UserBusinessStatus_1.UserBusinessStatus.AWAITING_VERIFICATION;
48
+ }
49
+ canPerformBusinessOperations() {
50
+ return this.isActiveInSystem();
51
+ }
52
+ needsAction() {
53
+ return this.isOnboardingPending() || this.isAwaitingVerification();
54
+ }
55
+ equals(other) {
56
+ return this.value === other.value;
57
+ }
58
+ }
59
+ exports.UserBusinessStatus = UserBusinessStatus;
60
+ _a = UserBusinessStatus, _UserBusinessStatus_instances = new WeakSet(), _UserBusinessStatus_guardAgainstInvalidStatus = function _UserBusinessStatus_guardAgainstInvalidStatus(value) {
61
+ if (__classPrivateFieldGet(this, _UserBusinessStatus_instances, "m", _UserBusinessStatus_isInvalidStatus).call(this, value)) {
62
+ throw InvalidUserBusinessStatusError_1.InvalidUserBusinessStatusError.create(value, _a.VALID_STATUSES);
63
+ }
64
+ }, _UserBusinessStatus_isInvalidStatus = function _UserBusinessStatus_isInvalidStatus(value) {
65
+ return __classPrivateFieldGet(this, _UserBusinessStatus_instances, "m", _UserBusinessStatus_isValidStatus).call(this, value) === false;
66
+ }, _UserBusinessStatus_isValidStatus = function _UserBusinessStatus_isValidStatus(value) {
67
+ return _a.VALID_STATUSES.includes(value);
68
+ };
69
+ UserBusinessStatus.PROPERTY_NAME = 'businessStatus';
70
+ UserBusinessStatus.VALID_STATUSES = Object.values(UserBusinessStatus_1.UserBusinessStatus);
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _UserType_instances, _a, _UserType_guardAgainstInvalidType, _UserType_isInvalidType, _UserType_isValidType;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UserType = void 0;
10
+ const String_1 = require("./String");
11
+ const UserType_1 = require("../enums/UserType");
12
+ const InvalidUserTypeError_1 = require("../exceptions/InvalidUserTypeError");
13
+ class UserType extends String_1.String {
14
+ constructor(value, skipDomainValidation) {
15
+ super(value, skipDomainValidation, _a.PROPERTY_NAME);
16
+ _UserType_instances.add(this);
17
+ if (skipDomainValidation === false) {
18
+ __classPrivateFieldGet(this, _UserType_instances, "m", _UserType_guardAgainstInvalidType).call(this, value);
19
+ }
20
+ }
21
+ static create(value) {
22
+ String_1.String.guardAgainstEmptyValue(value, _a.PROPERTY_NAME);
23
+ String_1.String.guardAgainstInvalidType(value, _a.PROPERTY_NAME);
24
+ return new _a(value, false);
25
+ }
26
+ static fromPrimitives(primitive) {
27
+ const value = primitive;
28
+ return new _a(value, true);
29
+ }
30
+ toPrimitives() {
31
+ return this.value;
32
+ }
33
+ toEnum() {
34
+ return this.value;
35
+ }
36
+ // Métodos de conveniencia específicos para el dominio
37
+ isAdministrator() {
38
+ return this.value === UserType_1.UserType.ADMINISTRATOR;
39
+ }
40
+ isStakeholder() {
41
+ return this.value === UserType_1.UserType.STAKEHOLDER;
42
+ }
43
+ equals(other) {
44
+ return this.value === other.value;
45
+ }
46
+ }
47
+ exports.UserType = UserType;
48
+ _a = UserType, _UserType_instances = new WeakSet(), _UserType_guardAgainstInvalidType = function _UserType_guardAgainstInvalidType(value) {
49
+ if (__classPrivateFieldGet(this, _UserType_instances, "m", _UserType_isInvalidType).call(this, value)) {
50
+ throw InvalidUserTypeError_1.InvalidUserTypeError.create(value, _a.VALID_TYPES);
51
+ }
52
+ }, _UserType_isInvalidType = function _UserType_isInvalidType(value) {
53
+ return __classPrivateFieldGet(this, _UserType_instances, "m", _UserType_isValidType).call(this, value) === false;
54
+ }, _UserType_isValidType = function _UserType_isValidType(value) {
55
+ return _a.VALID_TYPES.includes(value);
56
+ };
57
+ UserType.PROPERTY_NAME = 'userType';
58
+ UserType.VALID_TYPES = Object.values(UserType_1.UserType);
@@ -25,7 +25,7 @@ class LeftEither extends Either_1.Either {
25
25
  return this.value;
26
26
  }
27
27
  right() {
28
- throw new CannotAccessRightOnLeftValueError_1.CannotAccessRightOnLeftValueError(`Cannot access right value on Left(${this.value})`);
28
+ throw CannotAccessRightOnLeftValueError_1.CannotAccessRightOnLeftValueError.create(`Cannot access right value on Left(${this.value})`);
29
29
  }
30
30
  map(_fn) {
31
31
  return Either_1.Either.left(this.value);
@@ -22,7 +22,7 @@ class RightEither extends Either_1.Either {
22
22
  return this.value;
23
23
  }
24
24
  left() {
25
- throw new CannotAccessLeftOnRightValueError_1.CannotAccessLeftOnRightValueError(`Cannot access left value on Right(${this.value})`);
25
+ throw CannotAccessLeftOnRightValueError_1.CannotAccessLeftOnRightValueError.create(`Cannot access left value on Right(${this.value})`);
26
26
  }
27
27
  right() {
28
28
  return this.value;
@@ -33,6 +33,7 @@ const CarbonClientPrimaryContactPhone_1 = require("../value-objects/CarbonClient
33
33
  const CarbonClientRoleType_1 = require("../value-objects/CarbonClientRoleType");
34
34
  const CarbonClientSupervisedByStakeholder_1 = require("../value-objects/CarbonClientSupervisedByStakeholder");
35
35
  const CarbonClientTaxIdentification_1 = require("../value-objects/CarbonClientTaxIdentification");
36
+ const CarbonClientUserType_1 = require("../value-objects/CarbonClientUserType");
36
37
  const CarbonClientWebsiteUrl_1 = require("../value-objects/CarbonClientWebsiteUrl");
37
38
  class CarbonClient extends Stakeholder_1.Stakeholder {
38
39
  constructor(props, skipDomainValidation) {
@@ -63,6 +64,9 @@ class CarbonClient extends Stakeholder_1.Stakeholder {
63
64
  const businessStatus = skipDomainValidation
64
65
  ? CarbonClientBusinessStatus_1.CarbonClientBusinessStatus.fromPrimitives(props.businessStatus).toEnum()
65
66
  : CarbonClientBusinessStatus_1.CarbonClientBusinessStatus.create(props.businessStatus).toEnum();
67
+ const userType = skipDomainValidation
68
+ ? CarbonClientUserType_1.CarbonClientUserType.fromPrimitives(props.userType).toEnum()
69
+ : CarbonClientUserType_1.CarbonClientUserType.create(props.userType).toEnum();
66
70
  super({
67
71
  id,
68
72
  avatar,
@@ -73,6 +77,7 @@ class CarbonClient extends Stakeholder_1.Stakeholder {
73
77
  taxIdentification,
74
78
  roleType,
75
79
  businessStatus,
80
+ userType,
76
81
  }, skipDomainValidation);
77
82
  _CarbonClient_legalBusinessName.set(this, void 0);
78
83
  _CarbonClient_industryType.set(this, void 0);
@@ -128,6 +133,7 @@ class CarbonClient extends Stakeholder_1.Stakeholder {
128
133
  taxIdentification: primitives.taxIdentification,
129
134
  roleType: primitives.roleType,
130
135
  businessStatus: primitives.businessStatus,
136
+ userType: primitives.userType,
131
137
  legalBusinessName: primitives.legalBusinessName,
132
138
  industryType: primitives.industryType,
133
139
  organizationSize: primitives.organizationSize,
@@ -152,6 +158,7 @@ class CarbonClient extends Stakeholder_1.Stakeholder {
152
158
  lastAccessAt: this.lastAccessAt.toPrimitives(),
153
159
  roleType: this.roleType.toEnum(),
154
160
  businessStatus: this.businessStatus.toEnum(),
161
+ userType: this.userType.toEnum(),
155
162
  legalBusinessName: this.legalBusinessName.toPrimitives(),
156
163
  taxIdentification: this.taxIdentification.toPrimitives(),
157
164
  industryType: this.industryType.toPrimitives(),
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CarbonClientUserType = void 0;
4
+ const StakeholderUserType_1 = require("../../../shared/domain/value-objects/StakeholderUserType");
5
+ class CarbonClientUserType extends StakeholderUserType_1.StakeholderUserType {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation);
8
+ }
9
+ static create(value) {
10
+ StakeholderUserType_1.StakeholderUserType.guardAgainstEmptyValue(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
11
+ StakeholderUserType_1.StakeholderUserType.guardAgainstInvalidType(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
12
+ return new CarbonClientUserType(value, false);
13
+ }
14
+ static fromPrimitives(primitive) {
15
+ return new CarbonClientUserType(primitive, true);
16
+ }
17
+ }
18
+ exports.CarbonClientUserType = CarbonClientUserType;
@@ -29,6 +29,7 @@ const CarbonCoordinatorPermissions_1 = require("../value-objects/CarbonCoordinat
29
29
  const CarbonCoordinatorReportsToStakeholder_1 = require("../value-objects/CarbonCoordinatorReportsToStakeholder");
30
30
  const CarbonCoordinatorRoleType_1 = require("../value-objects/CarbonCoordinatorRoleType");
31
31
  const CarbonCoordinatorTaxIdentification_1 = require("../value-objects/CarbonCoordinatorTaxIdentification");
32
+ const CarbonCoordinatorUserType_1 = require("../value-objects/CarbonCoordinatorUserType");
32
33
  const CarbonCoordinatorWeeklyWorkingSchedule_1 = require("../value-objects/CarbonCoordinatorWeeklyWorkingSchedule");
33
34
  class CarbonCoordinator extends Stakeholder_1.Stakeholder {
34
35
  constructor(props, skipDomainValidation) {
@@ -59,6 +60,9 @@ class CarbonCoordinator extends Stakeholder_1.Stakeholder {
59
60
  const businessStatus = skipDomainValidation
60
61
  ? CarbonCoordinatorBusinessStatus_1.CarbonCoordinatorBusinessStatus.fromPrimitives(props.businessStatus).toEnum()
61
62
  : CarbonCoordinatorBusinessStatus_1.CarbonCoordinatorBusinessStatus.create(props.businessStatus).toEnum();
63
+ const userType = skipDomainValidation
64
+ ? CarbonCoordinatorUserType_1.CarbonCoordinatorUserType.fromPrimitives(props.userType).toEnum()
65
+ : CarbonCoordinatorUserType_1.CarbonCoordinatorUserType.create(props.userType).toEnum();
62
66
  super({
63
67
  id,
64
68
  avatar,
@@ -69,6 +73,7 @@ class CarbonCoordinator extends Stakeholder_1.Stakeholder {
69
73
  taxIdentification,
70
74
  roleType,
71
75
  businessStatus,
76
+ userType,
72
77
  }, skipDomainValidation);
73
78
  _CarbonCoordinator_availabilityStatus.set(this, void 0);
74
79
  _CarbonCoordinator_weeklyWorkingSchedule.set(this, void 0);
@@ -112,6 +117,7 @@ class CarbonCoordinator extends Stakeholder_1.Stakeholder {
112
117
  taxIdentification: primitives.taxIdentification,
113
118
  roleType: primitives.roleType,
114
119
  businessStatus: primitives.businessStatus,
120
+ userType: primitives.userType,
115
121
  availabilityStatus: primitives.availabilityStatus,
116
122
  weeklyWorkingSchedule: primitives.weeklyWorkingSchedule,
117
123
  gender: primitives.gender,
@@ -132,6 +138,7 @@ class CarbonCoordinator extends Stakeholder_1.Stakeholder {
132
138
  lastAccessAt: this.lastAccessAt.toPrimitives(),
133
139
  roleType: this.roleType.toEnum(),
134
140
  businessStatus: this.businessStatus.toEnum(),
141
+ userType: this.userType.toEnum(),
135
142
  taxIdentification: this.taxIdentification.toPrimitives(),
136
143
  availabilityStatus: __classPrivateFieldGet(this, _CarbonCoordinator_availabilityStatus, "f").toEnum(),
137
144
  weeklyWorkingSchedule: __classPrivateFieldGet(this, _CarbonCoordinator_weeklyWorkingSchedule, "f").toPrimitives(),
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CarbonCoordinatorUserType = void 0;
4
+ const StakeholderUserType_1 = require("../../../shared/domain/value-objects/StakeholderUserType");
5
+ class CarbonCoordinatorUserType extends StakeholderUserType_1.StakeholderUserType {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation);
8
+ }
9
+ static create(value) {
10
+ StakeholderUserType_1.StakeholderUserType.guardAgainstEmptyValue(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
11
+ StakeholderUserType_1.StakeholderUserType.guardAgainstInvalidType(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
12
+ return new CarbonCoordinatorUserType(value, false);
13
+ }
14
+ static fromPrimitives(primitive) {
15
+ return new CarbonCoordinatorUserType(primitive, true);
16
+ }
17
+ }
18
+ exports.CarbonCoordinatorUserType = CarbonCoordinatorUserType;
@@ -24,6 +24,7 @@ const CarbonHostPassword_1 = require("../value-objects/CarbonHostPassword");
24
24
  const CarbonHostPermissions_1 = require("../value-objects/CarbonHostPermissions");
25
25
  const CarbonHostRoleType_1 = require("../value-objects/CarbonHostRoleType");
26
26
  const CarbonHostTaxIdentification_1 = require("../value-objects/CarbonHostTaxIdentification");
27
+ const CarbonHostUserType_1 = require("../value-objects/CarbonHostUserType");
27
28
  class CarbonHost extends Stakeholder_1.Stakeholder {
28
29
  constructor(props, skipDomainValidation) {
29
30
  const id = skipDomainValidation
@@ -53,6 +54,9 @@ class CarbonHost extends Stakeholder_1.Stakeholder {
53
54
  const businessStatus = skipDomainValidation
54
55
  ? CarbonHostBusinessStatus_1.CarbonHostBusinessStatus.fromPrimitives(props.businessStatus).toEnum()
55
56
  : CarbonHostBusinessStatus_1.CarbonHostBusinessStatus.create(props.businessStatus).toEnum();
57
+ const userType = skipDomainValidation
58
+ ? CarbonHostUserType_1.CarbonHostUserType.fromPrimitives(props.userType).toEnum()
59
+ : CarbonHostUserType_1.CarbonHostUserType.create(props.userType).toEnum();
56
60
  super({
57
61
  id,
58
62
  avatar,
@@ -63,6 +67,7 @@ class CarbonHost extends Stakeholder_1.Stakeholder {
63
67
  taxIdentification,
64
68
  roleType,
65
69
  businessStatus,
70
+ userType,
66
71
  }, skipDomainValidation);
67
72
  _CarbonHost_permissions.set(this, void 0);
68
73
  if (skipDomainValidation === false) {
@@ -88,6 +93,7 @@ class CarbonHost extends Stakeholder_1.Stakeholder {
88
93
  taxIdentification: primitives.taxIdentification,
89
94
  roleType: primitives.roleType,
90
95
  businessStatus: primitives.businessStatus,
96
+ userType: primitives.userType,
91
97
  permissions: primitives.permissions,
92
98
  };
93
99
  return new CarbonHost(props, true);
@@ -102,6 +108,7 @@ class CarbonHost extends Stakeholder_1.Stakeholder {
102
108
  lastAccessAt: this.lastAccessAt.toPrimitives(),
103
109
  roleType: this.roleType.toEnum(),
104
110
  businessStatus: this.businessStatus.toEnum(),
111
+ userType: this.userType.toEnum(),
105
112
  taxIdentification: this.taxIdentification.toPrimitives(),
106
113
  permissions: this.permissions.toPrimitives(),
107
114
  };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CarbonHostUserType = void 0;
4
+ const StakeholderUserType_1 = require("../../../shared/domain/value-objects/StakeholderUserType");
5
+ class CarbonHostUserType extends StakeholderUserType_1.StakeholderUserType {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation);
8
+ }
9
+ static create(value) {
10
+ StakeholderUserType_1.StakeholderUserType.guardAgainstEmptyValue(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
11
+ StakeholderUserType_1.StakeholderUserType.guardAgainstInvalidType(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
12
+ return new CarbonHostUserType(value, false);
13
+ }
14
+ static fromPrimitives(primitive) {
15
+ return new CarbonHostUserType(primitive, true);
16
+ }
17
+ }
18
+ exports.CarbonHostUserType = CarbonHostUserType;
@@ -25,6 +25,7 @@ const CarbonManagerPassword_1 = require("../value-objects/CarbonManagerPassword"
25
25
  const CarbonManagerPermissions_1 = require("../value-objects/CarbonManagerPermissions");
26
26
  const CarbonManagerRoleType_1 = require("../value-objects/CarbonManagerRoleType");
27
27
  const CarbonManagerTaxIdentification_1 = require("../value-objects/CarbonManagerTaxIdentification");
28
+ const CarbonManagerUserType_1 = require("../value-objects/CarbonManagerUserType");
28
29
  class CarbonManager extends Stakeholder_1.Stakeholder {
29
30
  constructor(props, skipDomainValidation) {
30
31
  const id = skipDomainValidation
@@ -54,6 +55,9 @@ class CarbonManager extends Stakeholder_1.Stakeholder {
54
55
  const businessStatus = skipDomainValidation
55
56
  ? CarbonManagerBusinessStatus_1.CarbonManagerBusinessStatus.fromPrimitives(props.businessStatus).toEnum()
56
57
  : CarbonManagerBusinessStatus_1.CarbonManagerBusinessStatus.create(props.businessStatus).toEnum();
58
+ const userType = skipDomainValidation
59
+ ? CarbonManagerUserType_1.CarbonManagerUserType.fromPrimitives(props.userType).toEnum()
60
+ : CarbonManagerUserType_1.CarbonManagerUserType.create(props.userType).toEnum();
57
61
  super({
58
62
  id,
59
63
  avatar,
@@ -64,6 +68,7 @@ class CarbonManager extends Stakeholder_1.Stakeholder {
64
68
  taxIdentification,
65
69
  roleType,
66
70
  businessStatus,
71
+ userType,
67
72
  }, skipDomainValidation);
68
73
  _CarbonManager_permissions.set(this, void 0);
69
74
  _CarbonManager_managedStakeholders.set(this, void 0);
@@ -92,6 +97,7 @@ class CarbonManager extends Stakeholder_1.Stakeholder {
92
97
  taxIdentification: primitives.taxIdentification,
93
98
  roleType: primitives.roleType,
94
99
  businessStatus: primitives.businessStatus,
100
+ userType: primitives.userType,
95
101
  permissions: primitives.permissions,
96
102
  managedStakeholders: primitives.managedStakeholders,
97
103
  };
@@ -107,6 +113,7 @@ class CarbonManager extends Stakeholder_1.Stakeholder {
107
113
  lastAccessAt: this.lastAccessAt.toPrimitives(),
108
114
  roleType: this.roleType.toEnum(),
109
115
  businessStatus: this.businessStatus.toEnum(),
116
+ userType: this.userType.toEnum(),
110
117
  taxIdentification: this.taxIdentification.toPrimitives(),
111
118
  permissions: this.permissions.toPrimitives(),
112
119
  managedStakeholders: __classPrivateFieldGet(this, _CarbonManager_managedStakeholders, "f").toPrimitives(),
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CarbonManagerUserType = void 0;
4
+ const StakeholderUserType_1 = require("../../../shared/domain/value-objects/StakeholderUserType");
5
+ class CarbonManagerUserType extends StakeholderUserType_1.StakeholderUserType {
6
+ constructor(value, skipDomainValidation) {
7
+ super(value, skipDomainValidation);
8
+ }
9
+ static create(value) {
10
+ StakeholderUserType_1.StakeholderUserType.guardAgainstEmptyValue(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
11
+ StakeholderUserType_1.StakeholderUserType.guardAgainstInvalidType(value, StakeholderUserType_1.StakeholderUserType.PROPERTY_NAME);
12
+ return new CarbonManagerUserType(value, false);
13
+ }
14
+ static fromPrimitives(primitive) {
15
+ return new CarbonManagerUserType(primitive, true);
16
+ }
17
+ }
18
+ exports.CarbonManagerUserType = CarbonManagerUserType;
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _Stakeholder_taxIdentification, _Stakeholder_roleType, _Stakeholder_businessStatus;
13
+ var _Stakeholder_taxIdentification, _Stakeholder_roleType;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Stakeholder = void 0;
16
16
  const User_1 = require("../../../../shared/domain/entities/User");
@@ -23,6 +23,7 @@ const StakeholderLastAccessAt_1 = require("../value-objects/StakeholderLastAcces
23
23
  const StakeholderPassword_1 = require("../value-objects/StakeholderPassword");
24
24
  const StakeholderRoleType_1 = require("../value-objects/StakeholderRoleType");
25
25
  const StakeholderTaxIdentification_1 = require("../value-objects/StakeholderTaxIdentification");
26
+ const StakeholderUserType_1 = require("../value-objects/StakeholderUserType");
26
27
  class Stakeholder extends User_1.User {
27
28
  constructor(props, skipDomainValidation) {
28
29
  const id = skipDomainValidation
@@ -37,6 +38,12 @@ class Stakeholder extends User_1.User {
37
38
  const password = skipDomainValidation
38
39
  ? StakeholderPassword_1.StakeholderPassword.fromPrimitives(props.password).toPrimitives()
39
40
  : StakeholderPassword_1.StakeholderPassword.create(props.password).toPrimitives();
41
+ const businessStatus = skipDomainValidation
42
+ ? StakeholderBusinessStatus_1.StakeholderBusinessStatus.fromPrimitives(props.businessStatus).toEnum()
43
+ : StakeholderBusinessStatus_1.StakeholderBusinessStatus.create(props.businessStatus).toEnum();
44
+ const userType = skipDomainValidation
45
+ ? StakeholderUserType_1.StakeholderUserType.fromPrimitives(props.userType).toEnum()
46
+ : StakeholderUserType_1.StakeholderUserType.create(props.userType).toEnum();
40
47
  const displayName = skipDomainValidation
41
48
  ? StakeholderDisplayName_1.StakeholderDisplayName.fromPrimitives(props.displayName).toPrimitives()
42
49
  : StakeholderDisplayName_1.StakeholderDisplayName.create(props.displayName).toPrimitives();
@@ -48,23 +55,22 @@ class Stakeholder extends User_1.User {
48
55
  avatar,
49
56
  email,
50
57
  password,
58
+ businessStatus,
59
+ userType,
51
60
  displayName,
52
61
  lastAccessAt,
53
62
  }, skipDomainValidation);
54
63
  _Stakeholder_taxIdentification.set(this, void 0);
55
64
  _Stakeholder_roleType.set(this, void 0);
56
- _Stakeholder_businessStatus.set(this, void 0);
57
65
  if (skipDomainValidation === false) {
58
66
  // Initialize with domain validation
59
67
  __classPrivateFieldSet(this, _Stakeholder_taxIdentification, StakeholderTaxIdentification_1.StakeholderTaxIdentification.create(props.taxIdentification), "f");
60
68
  __classPrivateFieldSet(this, _Stakeholder_roleType, StakeholderRoleType_1.StakeholderRoleType.create(props.roleType), "f");
61
- __classPrivateFieldSet(this, _Stakeholder_businessStatus, StakeholderBusinessStatus_1.StakeholderBusinessStatus.create(props.businessStatus), "f");
62
69
  }
63
70
  else {
64
71
  // Initialize from primitives (no domain validation)
65
72
  __classPrivateFieldSet(this, _Stakeholder_taxIdentification, StakeholderTaxIdentification_1.StakeholderTaxIdentification.fromPrimitives(props.taxIdentification), "f");
66
73
  __classPrivateFieldSet(this, _Stakeholder_roleType, StakeholderRoleType_1.StakeholderRoleType.fromPrimitives(props.roleType), "f");
67
- __classPrivateFieldSet(this, _Stakeholder_businessStatus, StakeholderBusinessStatus_1.StakeholderBusinessStatus.fromPrimitives(props.businessStatus), "f");
68
74
  }
69
75
  }
70
76
  get taxIdentification() {
@@ -73,9 +79,6 @@ class Stakeholder extends User_1.User {
73
79
  get roleType() {
74
80
  return __classPrivateFieldGet(this, _Stakeholder_roleType, "f");
75
81
  }
76
- get businessStatus() {
77
- return __classPrivateFieldGet(this, _Stakeholder_businessStatus, "f");
78
- }
79
82
  }
80
83
  exports.Stakeholder = Stakeholder;
81
- _Stakeholder_taxIdentification = new WeakMap(), _Stakeholder_roleType = new WeakMap(), _Stakeholder_businessStatus = new WeakMap();
84
+ _Stakeholder_taxIdentification = new WeakMap(), _Stakeholder_roleType = new WeakMap();