@explorins/pers-shared 2.1.40 → 2.1.42

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 (129) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.d.ts +1 -1
  4. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.d.ts.map +1 -1
  5. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.js +3 -3
  6. package/dist/cjs/shared-lib/dto/admin/admin-create.request.dto.js.map +1 -1
  7. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.d.ts +8 -0
  8. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.d.ts.map +1 -0
  9. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.js +51 -0
  10. package/dist/cjs/shared-lib/dto/api-key/api-key-verification.dto.js.map +1 -0
  11. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.d.ts +23 -0
  12. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.d.ts.map +1 -0
  13. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.js +108 -0
  14. package/dist/cjs/shared-lib/dto/api-key/api-key.dto.js.map +1 -0
  15. package/dist/cjs/shared-lib/dto/api-key/api-key.request.dto.d.ts +4 -0
  16. package/dist/cjs/shared-lib/dto/api-key/api-key.request.dto.d.ts.map +1 -0
  17. package/dist/cjs/shared-lib/dto/{tenant/tenantApiKey.request.dto.js → api-key/api-key.request.dto.js} +12 -16
  18. package/dist/cjs/shared-lib/dto/api-key/api-key.request.dto.js.map +1 -0
  19. package/dist/cjs/shared-lib/dto/api-key/index.d.ts +4 -0
  20. package/dist/cjs/shared-lib/dto/api-key/index.d.ts.map +1 -0
  21. package/dist/cjs/shared-lib/dto/api-key/index.js +20 -0
  22. package/dist/cjs/shared-lib/dto/api-key/index.js.map +1 -0
  23. package/dist/cjs/shared-lib/dto/auth.dto.js +3 -2
  24. package/dist/cjs/shared-lib/dto/auth.dto.js.map +1 -1
  25. package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
  26. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  27. package/dist/cjs/shared-lib/dto/index.js +1 -0
  28. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  29. package/dist/cjs/shared-lib/dto/tenant/index.d.ts +0 -1
  30. package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -1
  31. package/dist/cjs/shared-lib/dto/tenant/index.js +0 -1
  32. package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -1
  33. package/dist/cjs/shared-lib/dto/token/token.request.dto.d.ts +1 -0
  34. package/dist/cjs/shared-lib/dto/token/token.request.dto.d.ts.map +1 -1
  35. package/dist/cjs/shared-lib/dto/token/token.request.dto.js +7 -0
  36. package/dist/cjs/shared-lib/dto/token/token.request.dto.js.map +1 -1
  37. package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts +3 -1
  38. package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
  39. package/dist/cjs/shared-lib/enum/api-key-type.enum.js +1 -1
  40. package/dist/cjs/shared-lib/enum/api-key-type.enum.js.map +1 -1
  41. package/dist/cjs/shared-lib/enum/transaction-status.enum.d.ts +3 -1
  42. package/dist/cjs/shared-lib/enum/transaction-status.enum.d.ts.map +1 -1
  43. package/dist/cjs/shared-lib/enum/transaction-status.enum.js +6 -0
  44. package/dist/cjs/shared-lib/enum/transaction-status.enum.js.map +1 -1
  45. package/dist/cjs/shared-lib/errors/technical-errors.d.ts +0 -13
  46. package/dist/cjs/shared-lib/errors/technical-errors.d.ts.map +1 -1
  47. package/dist/cjs/shared-lib/errors/technical-errors.js +1 -46
  48. package/dist/cjs/shared-lib/errors/technical-errors.js.map +1 -1
  49. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts +32 -10
  50. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
  51. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js +16 -1
  52. package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
  53. package/dist/cjs/shared-lib/value-objects/account-selector.vo.d.ts.map +1 -1
  54. package/dist/cjs/shared-lib/value-objects/account-selector.vo.js +13 -9
  55. package/dist/cjs/shared-lib/value-objects/account-selector.vo.js.map +1 -1
  56. package/dist/cjs/shared-lib/value-objects/address.value-object.d.ts.map +1 -1
  57. package/dist/cjs/shared-lib/value-objects/address.value-object.js +2 -1
  58. package/dist/cjs/shared-lib/value-objects/address.value-object.js.map +1 -1
  59. package/dist/cjs/shared-patterns/errors/error-factory.d.ts +150 -0
  60. package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +1 -0
  61. package/dist/cjs/shared-patterns/errors/error-factory.js +257 -0
  62. package/dist/cjs/shared-patterns/errors/error-factory.js.map +1 -0
  63. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.d.ts +1 -1
  64. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.d.ts.map +1 -1
  65. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js +1 -1
  66. package/dist/esm/shared-lib/dto/admin/admin-create.request.dto.js.map +1 -1
  67. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.d.ts +8 -0
  68. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.d.ts.map +1 -0
  69. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.js +41 -0
  70. package/dist/esm/shared-lib/dto/api-key/api-key-verification.dto.js.map +1 -0
  71. package/dist/esm/shared-lib/dto/api-key/api-key.dto.d.ts +23 -0
  72. package/dist/esm/shared-lib/dto/api-key/api-key.dto.d.ts.map +1 -0
  73. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js +92 -0
  74. package/dist/esm/shared-lib/dto/api-key/api-key.dto.js.map +1 -0
  75. package/dist/esm/shared-lib/dto/api-key/api-key.request.dto.d.ts +4 -0
  76. package/dist/esm/shared-lib/dto/api-key/api-key.request.dto.d.ts.map +1 -0
  77. package/dist/esm/shared-lib/dto/{tenant/tenantApiKey.request.dto.js → api-key/api-key.request.dto.js} +9 -11
  78. package/dist/esm/shared-lib/dto/api-key/api-key.request.dto.js.map +1 -0
  79. package/dist/esm/shared-lib/dto/api-key/index.d.ts +4 -0
  80. package/dist/esm/shared-lib/dto/api-key/index.d.ts.map +1 -0
  81. package/dist/esm/shared-lib/dto/api-key/index.js +4 -0
  82. package/dist/esm/shared-lib/dto/api-key/index.js.map +1 -0
  83. package/dist/esm/shared-lib/dto/auth.dto.js +3 -2
  84. package/dist/esm/shared-lib/dto/auth.dto.js.map +1 -1
  85. package/dist/esm/shared-lib/dto/index.d.ts +1 -0
  86. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  87. package/dist/esm/shared-lib/dto/index.js +1 -0
  88. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  89. package/dist/esm/shared-lib/dto/tenant/index.d.ts +0 -1
  90. package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -1
  91. package/dist/esm/shared-lib/dto/tenant/index.js +0 -1
  92. package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -1
  93. package/dist/esm/shared-lib/dto/token/token.request.dto.d.ts +1 -0
  94. package/dist/esm/shared-lib/dto/token/token.request.dto.d.ts.map +1 -1
  95. package/dist/esm/shared-lib/dto/token/token.request.dto.js +6 -0
  96. package/dist/esm/shared-lib/dto/token/token.request.dto.js.map +1 -1
  97. package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts +3 -1
  98. package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
  99. package/dist/esm/shared-lib/enum/api-key-type.enum.js +1 -1
  100. package/dist/esm/shared-lib/enum/api-key-type.enum.js.map +1 -1
  101. package/dist/esm/shared-lib/enum/transaction-status.enum.d.ts +3 -1
  102. package/dist/esm/shared-lib/enum/transaction-status.enum.d.ts.map +1 -1
  103. package/dist/esm/shared-lib/enum/transaction-status.enum.js +6 -0
  104. package/dist/esm/shared-lib/enum/transaction-status.enum.js.map +1 -1
  105. package/dist/esm/shared-lib/errors/technical-errors.d.ts +0 -13
  106. package/dist/esm/shared-lib/errors/technical-errors.d.ts.map +1 -1
  107. package/dist/esm/shared-lib/errors/technical-errors.js +0 -44
  108. package/dist/esm/shared-lib/errors/technical-errors.js.map +1 -1
  109. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts +32 -10
  110. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
  111. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js +13 -2
  112. package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
  113. package/dist/esm/shared-lib/value-objects/account-selector.vo.d.ts.map +1 -1
  114. package/dist/esm/shared-lib/value-objects/account-selector.vo.js +13 -9
  115. package/dist/esm/shared-lib/value-objects/account-selector.vo.js.map +1 -1
  116. package/dist/esm/shared-lib/value-objects/address.value-object.d.ts.map +1 -1
  117. package/dist/esm/shared-lib/value-objects/address.value-object.js +2 -1
  118. package/dist/esm/shared-lib/value-objects/address.value-object.js.map +1 -1
  119. package/dist/esm/shared-patterns/errors/error-factory.d.ts +150 -0
  120. package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +1 -0
  121. package/dist/esm/shared-patterns/errors/error-factory.js +254 -0
  122. package/dist/esm/shared-patterns/errors/error-factory.js.map +1 -0
  123. package/package.json +1 -1
  124. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +0 -7
  125. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +0 -1
  126. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +0 -1
  127. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +0 -7
  128. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +0 -1
  129. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OrchestrationError = exports.TechnicalError = void 0;
3
+ exports.TechnicalError = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const error_classification_enums_1 = require("./base/error-classification-enums");
6
6
  const error_codes_1 = require("./error-codes");
@@ -44,49 +44,4 @@ class TechnicalError extends common_1.HttpException {
44
44
  }
45
45
  }
46
46
  exports.TechnicalError = TechnicalError;
47
- /**
48
- * Orchestration errors that wrap other errors but preserve business context
49
- */
50
- class OrchestrationError extends common_1.HttpException {
51
- operation;
52
- originalError;
53
- constructor(operation, originalError) {
54
- // If the original error is a business error, preserve its HTTP status and message
55
- const isBusinessError = originalError instanceof common_1.HttpException;
56
- const status = isBusinessError ? originalError.getStatus() : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
57
- const response = isBusinessError ? originalError.getResponse() : {
58
- code: error_codes_1.CommonErrorCodes.ORCHESTRATION_ERROR,
59
- message: 'Operation failed',
60
- timestamp: new Date().toISOString(),
61
- category: 'ORCHESTRATION'
62
- };
63
- super(response, status);
64
- this.operation = operation;
65
- this.originalError = originalError;
66
- this.name = this.constructor.name;
67
- }
68
- static isOrchestrationError(error) {
69
- return error instanceof OrchestrationError;
70
- }
71
- /**
72
- * Get the root business error if it exists
73
- */
74
- getRootBusinessError() {
75
- let current = this.originalError;
76
- while (current) {
77
- if (current instanceof common_1.HttpException &&
78
- current.getResponse?.()?.category === 'DOMAIN_RULE') {
79
- return current;
80
- }
81
- if (current instanceof OrchestrationError) {
82
- current = current.originalError;
83
- }
84
- else {
85
- break;
86
- }
87
- }
88
- return null;
89
- }
90
- }
91
- exports.OrchestrationError = OrchestrationError;
92
47
  //# sourceMappingURL=technical-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"technical-errors.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/technical-errors.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAC3D,kFAAkE;AAClE,+CAAiD;AAEjD;;;GAGG;AACH,MAAa,cAAe,SAAQ,sBAAa;IAC/B,aAAa,CAAU;IACvB,aAAa,CAAS;IACtB,eAAe,CAAU;IAEzC,YACE,OAAe,EACf,aAAqB,EACrB,aAAsB,EACtB,aAAyB,mBAAU,CAAC,qBAAqB,EACzD,kBAA2B,IAAI;QAE/B,2EAA2E;QAC3E,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;QAEjF,KAAK,CACH;YACE,IAAI,EAAE,8BAAgB,CAAC,eAAe;YACtC,OAAO,EAAE,aAAa;YACtB,aAAa;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,0CAAa,CAAC,SAAS;SAClC,EACD,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,OAAO,KAAK,YAAY,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe,EAAE,aAAsB;QACxD,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACvG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,aAAqB,EAAE,aAAsB;QAC1E,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAU,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5G,CAAC;CACF;AAjDD,wCAiDC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,sBAAa;IACnC,SAAS,CAAS;IAClB,aAAa,CAAQ;IAErC,YAAY,SAAiB,EAAE,aAAoB;QACjD,kFAAkF;QAClF,MAAM,eAAe,GAAG,aAAa,YAAY,sBAAa,CAAC;QAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QAC9F,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,EAAE,8BAAgB,CAAC,mBAAmB;YAC1C,OAAO,EAAE,kBAAkB;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,eAAe;SAC1B,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,KAAU;QACpC,OAAO,KAAK,YAAY,kBAAkB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,OAAO,GAAU,IAAI,CAAC,aAAa,CAAC;QAExC,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,YAAY,sBAAa;gBAC/B,OAAe,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,KAAK,aAAa,EAAE,CAAC;gBACjE,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,YAAY,kBAAkB,EAAE,CAAC;gBAC1C,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA/CD,gDA+CC"}
1
+ {"version":3,"file":"technical-errors.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/technical-errors.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAC3D,kFAAkE;AAClE,+CAAiD;AAEjD;;;GAGG;AACH,MAAa,cAAe,SAAQ,sBAAa;IAC/B,aAAa,CAAU;IACvB,aAAa,CAAS;IACtB,eAAe,CAAU;IAEzC,YACE,OAAe,EACf,aAAqB,EACrB,aAAsB,EACtB,aAAyB,mBAAU,CAAC,qBAAqB,EACzD,kBAA2B,IAAI;QAE/B,2EAA2E;QAC3E,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;QAEjF,KAAK,CACH;YACE,IAAI,EAAE,8BAAgB,CAAC,eAAe;YACtC,OAAO,EAAE,aAAa;YACtB,aAAa;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,0CAAa,CAAC,SAAS;SAClC,EACD,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,OAAO,KAAK,YAAY,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe,EAAE,aAAsB;QACxD,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACvG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,aAAqB,EAAE,aAAsB;QAC1E,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAU,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5G,CAAC;CACF;AAjDD,wCAiDC"}
@@ -1,15 +1,37 @@
1
- import { ApiKeyType } from "../enum/api-key-type.enum";
2
- type JWTPayloadSub = 'PERS-Auth-Token';
3
- export interface JWTPayload {
4
- sub: JWTPayloadSub | string;
5
- providerContextId?: string;
1
+ import { AccountOwnerType } from "../enum/owner-type.enum";
2
+ import { IntegrationApiKeyType, ApiKeyType, AuthApiKeyType, BlockchainApiKeyType } from "../enum/api-key-type.enum";
3
+ interface BaseJWTPayload {
4
+ sub: string;
6
5
  type: ApiKeyType;
7
6
  tenantId: string | null;
8
- transactionId?: string | null;
9
- userId: string | null;
10
- adminId: string | null;
11
- businessId?: string | null;
12
- permissions?: string[];
7
+ accountType?: AccountOwnerType;
8
+ }
9
+ export interface AuthJWTPayload extends BaseJWTPayload {
10
+ sub: string;
11
+ type: AuthApiKeyType | IntegrationApiKeyType;
12
+ tenantId: string | null;
13
+ accountType: AccountOwnerType;
14
+ apiKeyId: string | null;
15
+ providerContextId?: string;
16
+ }
17
+ export interface ActionableJWTPayload extends BaseJWTPayload {
18
+ sub: string;
19
+ type: AuthApiKeyType;
20
+ tenantId: string | null;
21
+ accountType: AccountOwnerType;
22
+ transactionId: string | null;
23
+ providerContextId?: string;
24
+ }
25
+ export interface BlockchainJWTPayload extends BaseJWTPayload {
26
+ sub: string;
27
+ type: BlockchainApiKeyType;
28
+ tenantId: string | null;
29
+ accountType?: AccountOwnerType;
30
+ permissions: string[];
13
31
  }
32
+ export type PersJWTPayload = AuthJWTPayload | ActionableJWTPayload | BlockchainJWTPayload;
33
+ export declare function isAuthPayload(payload: PersJWTPayload): payload is AuthJWTPayload;
34
+ export declare function isActionablePayload(payload: PersJWTPayload): payload is ActionableJWTPayload;
35
+ export declare function isBlockchainPayload(payload: PersJWTPayload): payload is BlockchainJWTPayload;
14
36
  export {};
15
37
  //# sourceMappingURL=jwt.payload.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,KAAK,aAAa,GAAG,iBAAiB,CAAC;AAEvC,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAwBpH,UAAU,cAAc;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAMlC;AAGD,MAAM,WAAW,cAAe,SAAQ,cAAc;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,GAAG,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,CAAC;IAG9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAG/B,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAOD,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAQ1F,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,CAEhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,oBAAoB,CAE5F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,oBAAoB,CAE5F"}
@@ -1,4 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
3
+ exports.isAuthPayload = isAuthPayload;
4
+ exports.isActionablePayload = isActionablePayload;
5
+ exports.isBlockchainPayload = isBlockchainPayload;
6
+ // ===========================================
7
+ // TYPE GUARDS & UTILITIES
8
+ // ===========================================
9
+ // Type guards for specific payload types
10
+ function isAuthPayload(payload) {
11
+ return !('permissionss' in payload) && !('transactionId' in payload);
12
+ }
13
+ function isActionablePayload(payload) {
14
+ return 'transactionId' in payload && !('permissions' in payload);
15
+ }
16
+ function isBlockchainPayload(payload) {
17
+ return 'permissions' in payload;
18
+ }
4
19
  //# sourceMappingURL=jwt.payload.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAeG,CAAC"}
1
+ {"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAoFA,sCAEC;AAED,kDAEC;AAED,kDAEC;AAhBD,8CAA8C;AAC9C,0BAA0B;AAC1B,8CAA8C;AAG9C,yCAAyC;AACzC,SAAgB,aAAa,CAAC,OAAuB;IACjD,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,aAAa,IAAI,OAAO,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-selector.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/account-selector.vo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAG5C,qBAAa,iBAAiB;IAGpB,WAAW,EAAE,gBAAgB,CAAC;IAI9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEjC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,iBAAiB;IAuC/D;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAQ1D,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOjI;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOrD;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAO3D;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,iBAAiB;gBAO9B,IAAI,EAAE,eAAe;IAQjC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;;OAGG;IACH,iBAAiB,IAAI,eAAe;CA+BrC"}
1
+ {"version":3,"file":"account-selector.vo.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/account-selector.vo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C,qBAAa,iBAAiB;IAGpB,WAAW,EAAE,gBAAgB,CAAC;IAI9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEjC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,iBAAiB;IAwC/D;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;IAQ1D,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOjI;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAOrD;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAO3D;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,iBAAiB;gBAO9B,IAAI,EAAE,eAAe;IAQjC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;;OAGG;IACH,iBAAiB,IAAI,eAAe;CAgCrC"}
@@ -14,6 +14,7 @@ const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const enum_1 = require("./../enum");
16
16
  const address_value_object_1 = require("./address.value-object");
17
+ const error_factory_1 = require("../../shared-patterns/errors/error-factory");
17
18
  class AccountSelectorVo {
18
19
  static fromDTO(selector) {
19
20
  // Create the appropriate AccountSelector based on accountType
@@ -22,7 +23,7 @@ class AccountSelectorVo {
22
23
  case enum_1.AccountOwnerType.USER:
23
24
  case enum_1.AccountOwnerType.BUSINESS:
24
25
  if (!selector.accountId) {
25
- throw new Error(`${selector.accountType} account selector requires accountId`);
26
+ throw error_factory_1.ErrorFactory.requiredField(`accountId for ${selector.accountType} account selector`);
26
27
  }
27
28
  accountSelectorData = {
28
29
  accountType: selector.accountType,
@@ -31,7 +32,7 @@ class AccountSelectorVo {
31
32
  break;
32
33
  case enum_1.AccountOwnerType.EXTERNAL:
33
34
  if (!selector.accountAddress) {
34
- throw new Error('External account selector requires accountAddress');
35
+ throw error_factory_1.ErrorFactory.requiredField('accountAddress for external account selector');
35
36
  }
36
37
  accountSelectorData = {
37
38
  accountType: selector.accountType,
@@ -44,7 +45,8 @@ class AccountSelectorVo {
44
45
  };
45
46
  break;
46
47
  default:
47
- throw new Error(`Unsupported account type: ${selector.accountType}`);
48
+ const accountTypeValue = selector.accountType === undefined ? 'undefined' : selector.accountType;
49
+ throw error_factory_1.ErrorFactory.invalidInput('accountType', `Unsupported account type: ${accountTypeValue}. Supported types: ${Object.values(enum_1.AccountOwnerType).join(', ')}`);
48
50
  }
49
51
  return new AccountSelectorVo(accountSelectorData);
50
52
  }
@@ -110,19 +112,20 @@ class AccountSelectorVo {
110
112
  case enum_1.AccountOwnerType.USER:
111
113
  case enum_1.AccountOwnerType.BUSINESS:
112
114
  if (!this.accountId) {
113
- throw new Error(`${this.accountType} account selector requires accountId`);
115
+ throw error_factory_1.ErrorFactory.requiredField(`accountId for ${this.accountType} account selector`);
114
116
  }
115
117
  break;
116
118
  case enum_1.AccountOwnerType.EXTERNAL:
117
119
  if (!this.accountAddress) {
118
- throw new Error('External account selector requires accountAddress');
120
+ throw error_factory_1.ErrorFactory.requiredField('accountAddress for external account selector');
119
121
  }
120
122
  break;
121
123
  case enum_1.AccountOwnerType.TENANT:
122
124
  // Tenant context resolved from request - no validation needed
123
125
  break;
124
126
  default:
125
- throw new Error(`Unsupported account type: ${this.accountType}`);
127
+ const accountTypeValue = this.accountType === undefined ? 'undefined' : this.accountType;
128
+ throw error_factory_1.ErrorFactory.invalidInput('accountType', `Unsupported account type: ${accountTypeValue}. Supported types: ${Object.values(enum_1.AccountOwnerType).join(', ')}`);
126
129
  }
127
130
  }
128
131
  /**
@@ -134,7 +137,7 @@ class AccountSelectorVo {
134
137
  case enum_1.AccountOwnerType.USER:
135
138
  case enum_1.AccountOwnerType.BUSINESS:
136
139
  if (!this.accountId) {
137
- throw new Error(`${this.accountType} account selector requires accountId`);
140
+ throw error_factory_1.ErrorFactory.requiredField(`accountId for ${this.accountType} account selector`);
138
141
  }
139
142
  return {
140
143
  accountType: this.accountType,
@@ -142,7 +145,7 @@ class AccountSelectorVo {
142
145
  };
143
146
  case enum_1.AccountOwnerType.EXTERNAL:
144
147
  if (!this.accountAddress) {
145
- throw new Error('EXTERNAL account selector requires accountAddress');
148
+ throw error_factory_1.ErrorFactory.requiredField('accountAddress for external account selector');
146
149
  }
147
150
  return {
148
151
  accountType: this.accountType,
@@ -154,7 +157,8 @@ class AccountSelectorVo {
154
157
  accountType: this.accountType
155
158
  };
156
159
  default:
157
- throw new Error(`Unsupported account type: ${this.accountType}`);
160
+ const accountTypeValue = this.accountType === undefined ? 'undefined' : this.accountType;
161
+ throw error_factory_1.ErrorFactory.invalidInput('accountType', `Unsupported account type: ${accountTypeValue}. Supported types: ${Object.values(enum_1.AccountOwnerType).join(', ')}`);
158
162
  }
159
163
  }
160
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account-selector.vo.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/account-selector.vo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-selector.vo.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/account-selector.vo.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAA2F;AAC3F,oCAA6C;AAE7C,iEAAiD;AAEjD,8EAA0E;AAG1E,MAAa,iBAAiB;IAc5B,MAAM,CAAC,OAAO,CAAC,QAA4B;QACzC,8DAA8D;QAC9D,IAAI,mBAAoC,CAAC;QAEzC,QAAQ,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7B,KAAK,uBAAgB,CAAC,IAAI,CAAC;YAC3B,KAAK,uBAAgB,CAAC,QAAQ;gBAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACxB,MAAM,4BAAY,CAAC,aAAa,CAAC,iBAAiB,QAAQ,CAAC,WAAW,mBAAmB,CAAC,CAAC;gBAC7F,CAAC;gBACD,mBAAmB,GAAG;oBACpB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC;gBACF,MAAM;YAER,KAAK,uBAAgB,CAAC,QAAQ;gBAC5B,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC7B,MAAM,4BAAY,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC;gBACnF,CAAC;gBACD,mBAAmB,GAAG;oBACpB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;iBACxC,CAAC;gBACF,MAAM;YAER,KAAK,uBAAgB,CAAC,MAAM;gBAC1B,mBAAmB,GAAG;oBACpB,WAAW,EAAE,QAAQ,CAAC,WAAW;iBAClC,CAAC;gBACF,MAAM;YAER;gBACE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACjG,MAAM,4BAAY,CAAC,YAAY,CAAC,aAAa,EAAE,6BAA6B,gBAAgB,sBAAsB,MAAM,CAAC,MAAM,CAAC,uBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpK,CAAC;QAED,OAAO,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,OAAgB;QACpC,OAAO,IAAI,iBAAiB,CAAC;YAC3B,WAAW,EAAE,uBAAgB,CAAC,QAAQ;YACtC,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE;YAClC,gCAAgC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,WAA8D,EAAE,SAAiB;QAC3G,OAAO,IAAI,iBAAiB,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAiB;QACjC,OAAO,IAAI,iBAAiB,CAAC;YAC3B,WAAW,EAAE,uBAAgB,CAAC,IAAI;YAClC,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAEC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,SAAiB;QACnC,OAAO,IAAI,iBAAiB,CAAC;YAC7B,WAAW,EAAE,uBAAgB,CAAC,QAAQ;YACtC,SAAS,EAAE,SAAS;SACnB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACf,OAAO,IAAI,iBAAiB,CAAC;YAC7B,WAAW,EAAE,uBAAgB,CAAC,MAAM;YACpC,6DAA6D;SAC5D,CAAC,CAAC;IACP,CAAC;IAEH,YAAY,IAAqB;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,8BAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9F,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,qBAAqB;QAC3B,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,uBAAgB,CAAC,IAAI,CAAC;YAC3B,KAAK,uBAAgB,CAAC,QAAQ;gBAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,MAAM,4BAAY,CAAC,aAAa,CAAC,iBAAiB,IAAI,CAAC,WAAW,mBAAmB,CAAC,CAAC;gBACzF,CAAC;gBACD,MAAM;YAER,KAAK,uBAAgB,CAAC,QAAQ;gBAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,4BAAY,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM;YAER,KAAK,uBAAgB,CAAC,MAAM;gBAC1B,8DAA8D;gBAC9D,MAAM;YAER;gBACE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;gBACzF,MAAM,4BAAY,CAAC,YAAY,CAAC,aAAa,EAAE,6BAA6B,gBAAgB,sBAAsB,MAAM,CAAC,MAAM,CAAC,uBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpK,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,uBAAgB,CAAC,IAAI,CAAC;YAC3B,KAAK,uBAAgB,CAAC,QAAQ;gBAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,MAAM,4BAAY,CAAC,aAAa,CAAC,iBAAiB,IAAI,CAAC,WAAW,mBAAmB,CAAC,CAAC;gBACzF,CAAC;gBACD,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC;YAEJ,KAAK,uBAAgB,CAAC,QAAQ;gBAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,4BAAY,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC;gBACnF,CAAC;gBACD,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;iBAC/C,CAAC;YAEJ,KAAK,uBAAgB,CAAC,MAAM,CAAC;YAC7B,KAAK,uBAAgB,CAAC,MAAM;gBAC1B,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC;YAEJ;gBACE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;gBACzF,MAAM,4BAAY,CAAC,YAAY,CAAC,aAAa,EAAE,6BAA6B,gBAAgB,sBAAsB,MAAM,CAAC,MAAM,CAAC,uBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpK,CAAC;IACH,CAAC;CACF;AAnLD,8CAmLC;AAhLS;IAFP,IAAA,wBAAM,EAAC,uBAAgB,CAAC;IACxB,IAAA,4BAAU,GAAE;;sDACyB;AAI9B;IAFP,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACc;AAKnB;IAHP,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,8BAAO,CAAC;IACnB,IAAA,4BAAU,GAAE;8BACY,8BAAO;yDAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"address.value-object.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/address.value-object.ts"],"names":[],"mappings":"AAEA,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,EAAE,MAAM;IAOzB,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"address.value-object.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/address.value-object.ts"],"names":[],"mappings":"AAIA,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,EAAE,MAAM;IAOzB,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,OAAO,CAAC,cAAc;CAIvB"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Address = void 0;
4
+ const error_factory_1 = require("../../shared-patterns/errors/error-factory");
4
5
  class Address {
5
6
  value;
6
7
  constructor(value) {
7
8
  if (!this.isValidAddress(value)) {
8
- throw new Error('Invalid address for value: ' + value);
9
+ throw error_factory_1.ErrorFactory.invalidFormat('address', `Valid Ethereum address (0x + 40 hex characters). Received: "${value}" with length ${value?.length || 0}`);
9
10
  }
10
11
  this.value = value;
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"address.value-object.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/address.value-object.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IACC,KAAK,CAAS;IAE/B,YAAY,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IACpC,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,yEAAyE;QACzE,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AAtBH,0BAsBG"}
1
+ {"version":3,"file":"address.value-object.js","sourceRoot":"","sources":["../../../../src/shared-lib/value-objects/address.value-object.ts"],"names":[],"mappings":";;;AAEA,8EAA0E;AAE1E,MAAa,OAAO;IACC,KAAK,CAAS;IAE/B,YAAY,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,4BAAY,CAAC,aAAa,CAAC,SAAS,EAAE,+DAA+D,KAAK,iBAAiB,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QACzJ,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IACpC,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,yEAAyE;QACzE,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AAtBH,0BAsBG"}
@@ -0,0 +1,150 @@
1
+ import { UserNotFoundError, BusinessNotFoundError, TokenNotFoundError, TransactionNotFoundError, AuthenticationRequiredError, InvalidTokenError, TokenExpiredError, AuthorizationFailedError, InsufficientBalanceError, InvalidInputError, RequiredFieldError, InvalidFormatError, SystemError, ExternalServiceError, ConfigurationMissingError, TokenNotActiveError, TokenIdRequiredError, TokenTypeNotFoundError, TokenUnitNotFoundError, TransactionAlreadyCompletedError, TransactionNotPendingError, TransactionValidationError, SigningAccountValidationError, SigningAccountNotFoundError, SigningAccountAlreadyExistsError, KeyGenerationError, CampaignNotFoundError, GeographicRestrictionError, LocationVerificationRequiredError, RedemptionLimitReachedError, UserStatusRestrictedError, WalletNotFoundError, WalletMissingSigningError, SmartWalletProcessingError, BusinessNotMinterError, UnexpectedValidationScenarioError } from '../../shared-lib/errors';
2
+ /**
3
+ * Universal Error Factory for NestJS Applications
4
+ *
5
+ * This factory provides a clean, discoverable API for creating errors while
6
+ * maintaining the domain error classes as the single source of truth.
7
+ *
8
+ * Architecture:
9
+ * - Domain files define canonical error classes (exported as types for frontend)
10
+ * - Factory methods instantiate these domain classes (no duplication)
11
+ * - NestJS apps use factory for clean developer experience
12
+ * - Frontend devs import types from domain classes
13
+ */
14
+ export declare class ErrorFactory {
15
+ /**
16
+ * Resource "not found" patterns
17
+ * Uses domain classes internally for consistency
18
+ */
19
+ static userNotFound(identifier: string): UserNotFoundError;
20
+ static businessNotFound(identifier: string): BusinessNotFoundError;
21
+ static tokenNotFound(tokenId: string): TokenNotFoundError;
22
+ static transactionNotFound(transactionId: string): TransactionNotFoundError;
23
+ static campaignNotFound(campaignId: string): CampaignNotFoundError;
24
+ static tokenUnitNotFound(tokenUnitId?: string): TokenUnitNotFoundError;
25
+ /**
26
+ * Authentication & Authorization patterns
27
+ */
28
+ static authRequired(resource?: string): AuthenticationRequiredError;
29
+ static invalidToken(reason?: string): InvalidTokenError;
30
+ static tokenExpired(): TokenExpiredError;
31
+ static forbidden(action: string, resource: string): AuthorizationFailedError;
32
+ /**
33
+ * Business rule patterns
34
+ */
35
+ static geographicRestriction(countryCode: string, resource?: string): GeographicRestrictionError;
36
+ static locationRequired(resource?: string): LocationVerificationRequiredError;
37
+ static limitReached(limitType: 'max_redemption' | 'user_limit'): RedemptionLimitReachedError;
38
+ static userStatusRestricted(): UserStatusRestrictedError;
39
+ /**
40
+ * Validation patterns
41
+ */
42
+ static invalidInput(field: string, reason?: string): InvalidInputError;
43
+ static requiredField(field: string): RequiredFieldError;
44
+ static invalidFormat(field: string, expectedFormat: string): InvalidFormatError;
45
+ /**
46
+ * Financial/Balance patterns
47
+ */
48
+ static insufficientBalance(required: string, available: string): InsufficientBalanceError;
49
+ /**
50
+ * Technical/Infrastructure patterns
51
+ */
52
+ static systemError(operation: string, details: string): SystemError;
53
+ static externalServiceError(serviceName: string, operation: string): ExternalServiceError;
54
+ static configMissing(configKey: string): ConfigurationMissingError;
55
+ /**
56
+ * Token-specific patterns
57
+ */
58
+ static tokenNotActive(tokenId: string): TokenNotActiveError;
59
+ static tokenIdRequired(tokenType: string): TokenIdRequiredError;
60
+ static tokenTypeNotFound(tokenType: string): TokenTypeNotFoundError;
61
+ /**
62
+ * Transaction-specific patterns
63
+ */
64
+ static transactionAlreadyCompleted(transactionId: string, currentStatus: string): TransactionAlreadyCompletedError;
65
+ static transactionNotPending(transactionId: string, currentStatus: string): TransactionNotPendingError;
66
+ static transactionValidation(field: string, reason: string): TransactionValidationError;
67
+ /**
68
+ * Signing account patterns
69
+ */
70
+ static signingAccountValidation(field: string, reason: string): SigningAccountValidationError;
71
+ static signingAccountNotFound(identifier: string): SigningAccountNotFoundError;
72
+ static signingAccountAlreadyExists(accountAddress: string): SigningAccountAlreadyExistsError;
73
+ static keyGeneration(reason: string): KeyGenerationError;
74
+ /**
75
+ * Wallet patterns
76
+ */
77
+ static walletNotFound(ownerAddress: string): WalletNotFoundError;
78
+ static walletMissingSigning(walletAddress: string, reason: string): WalletMissingSigningError;
79
+ static smartWalletProcessing(reason: string): SmartWalletProcessingError;
80
+ /**
81
+ * Business patterns
82
+ */
83
+ static businessNotMinter(businessId: string, tokenAddress: string): BusinessNotMinterError;
84
+ /**
85
+ * Validation patterns
86
+ */
87
+ static unexpectedValidationScenario(context: string): UnexpectedValidationScenarioError;
88
+ }
89
+ /**
90
+ * Convenient shortcut object for the most commonly used error patterns
91
+ * Provides clean, discoverable API for NestJS applications
92
+ */
93
+ export declare const Errors: {
94
+ userNotFound: (id: string) => UserNotFoundError;
95
+ businessNotFound: (id: string) => BusinessNotFoundError;
96
+ tokenNotFound: (id: string) => TokenNotFoundError;
97
+ tokenUnitNotFound: (id?: string) => TokenUnitNotFoundError;
98
+ transactionNotFound: (id: string) => TransactionNotFoundError;
99
+ campaignNotFound: (id: string) => CampaignNotFoundError;
100
+ authRequired: (resource?: string) => AuthenticationRequiredError;
101
+ invalidToken: (reason?: string) => InvalidTokenError;
102
+ tokenExpired: () => TokenExpiredError;
103
+ forbidden: (action: string, resource: string) => AuthorizationFailedError;
104
+ geographicRestriction: (countryCode: string, resource?: string) => GeographicRestrictionError;
105
+ locationRequired: (resource?: string) => LocationVerificationRequiredError;
106
+ limitReached: (limitType: "max_redemption" | "user_limit") => RedemptionLimitReachedError;
107
+ userStatusRestricted: () => UserStatusRestrictedError;
108
+ invalidInput: (field: string, reason?: string) => InvalidInputError;
109
+ requiredField: (field: string) => RequiredFieldError;
110
+ invalidFormat: (field: string, format: string) => InvalidFormatError;
111
+ insufficientBalance: (required: string, available: string) => InsufficientBalanceError;
112
+ systemError: (operation: string, details: string) => SystemError;
113
+ externalServiceError: (service: string, operation: string) => ExternalServiceError;
114
+ configMissing: (key: string) => ConfigurationMissingError;
115
+ tokenNotActive: (id: string) => TokenNotActiveError;
116
+ tokenIdRequired: (type: string) => TokenIdRequiredError;
117
+ tokenTypeNotFound: (type: string) => TokenTypeNotFoundError;
118
+ transactionAlreadyCompleted: (id: string, status: string) => TransactionAlreadyCompletedError;
119
+ transactionNotPending: (id: string, status: string) => TransactionNotPendingError;
120
+ transactionValidation: (field: string, reason: string) => TransactionValidationError;
121
+ signingAccountValidation: (field: string, reason: string) => SigningAccountValidationError;
122
+ signingAccountNotFound: (id: string) => SigningAccountNotFoundError;
123
+ signingAccountAlreadyExists: (address: string) => SigningAccountAlreadyExistsError;
124
+ keyGeneration: (reason: string) => KeyGenerationError;
125
+ walletNotFound: (address: string) => WalletNotFoundError;
126
+ walletMissingSigning: (address: string, reason: string) => WalletMissingSigningError;
127
+ smartWalletProcessing: (reason: string) => SmartWalletProcessingError;
128
+ businessNotMinter: (businessId: string, tokenAddress: string) => BusinessNotMinterError;
129
+ unexpectedValidationScenario: (context: string) => UnexpectedValidationScenarioError;
130
+ };
131
+ /**
132
+ * Advanced Error Builder for complex scenarios
133
+ * Still references domain classes when possible
134
+ */
135
+ export declare class ErrorBuilder {
136
+ private config;
137
+ static create(): ErrorBuilder;
138
+ /**
139
+ * Use a specific domain error class
140
+ */
141
+ useClass(errorClass: any, ...params: any[]): ErrorBuilder;
142
+ /**
143
+ * Build the error instance
144
+ */
145
+ build(): Error;
146
+ buildUserNotFound(id: string): UserNotFoundError;
147
+ buildBusinessNotFound(id: string): BusinessNotFoundError;
148
+ buildAuthRequired(resource: string): AuthenticationRequiredError;
149
+ }
150
+ //# sourceMappingURL=error-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-factory.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/errors/error-factory.ts"],"names":[],"mappings":"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"}