@explorins/pers-shared 2.1.37 → 2.1.39

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 (217) hide show
  1. package/dist/cjs/browser.d.ts +1 -0
  2. package/dist/cjs/browser.d.ts.map +1 -1
  3. package/dist/cjs/browser.js.map +1 -1
  4. package/dist/cjs/index.d.ts +0 -2
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +2 -2
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/esm/browser.d.ts +1 -0
  9. package/dist/esm/browser.d.ts.map +1 -1
  10. package/dist/esm/browser.js.map +1 -1
  11. package/dist/esm/index.d.ts +0 -2
  12. package/dist/esm/index.d.ts.map +1 -1
  13. package/dist/esm/index.js +2 -2
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts +2 -0
  16. package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts.map +1 -1
  17. package/package.json +1 -1
  18. package/dist/cjs/shared-patterns/database/index.d.ts +0 -6
  19. package/dist/cjs/shared-patterns/database/index.d.ts.map +0 -1
  20. package/dist/cjs/shared-patterns/database/index.js +0 -24
  21. package/dist/cjs/shared-patterns/database/index.js.map +0 -1
  22. package/dist/cjs/shared-patterns/database/models/base.model.d.ts +0 -7
  23. package/dist/cjs/shared-patterns/database/models/base.model.d.ts.map +0 -1
  24. package/dist/cjs/shared-patterns/database/models/base.model.js +0 -11
  25. package/dist/cjs/shared-patterns/database/models/base.model.js.map +0 -1
  26. package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts +0 -4
  27. package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts.map +0 -1
  28. package/dist/cjs/shared-patterns/database/models/fixture.model.js +0 -8
  29. package/dist/cjs/shared-patterns/database/models/fixture.model.js.map +0 -1
  30. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts +0 -5
  31. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +0 -1
  32. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js +0 -11
  33. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js.map +0 -1
  34. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts +0 -44
  35. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +0 -1
  36. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js +0 -64
  37. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js.map +0 -1
  38. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts +0 -51
  39. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +0 -1
  40. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js +0 -57
  41. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js.map +0 -1
  42. package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts +0 -28
  43. package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts.map +0 -1
  44. package/dist/cjs/shared-patterns/enums/lambda.enum.js +0 -34
  45. package/dist/cjs/shared-patterns/enums/lambda.enum.js.map +0 -1
  46. package/dist/cjs/shared-patterns/errors/error-factory.d.ts +0 -150
  47. package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +0 -1
  48. package/dist/cjs/shared-patterns/errors/error-factory.js +0 -257
  49. package/dist/cjs/shared-patterns/errors/error-factory.js.map +0 -1
  50. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts +0 -118
  51. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +0 -1
  52. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js +0 -111
  53. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js.map +0 -1
  54. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts +0 -23
  55. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts.map +0 -1
  56. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js +0 -165
  57. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js.map +0 -1
  58. package/dist/cjs/shared-patterns/exceptions/index.d.ts +0 -3
  59. package/dist/cjs/shared-patterns/exceptions/index.d.ts.map +0 -1
  60. package/dist/cjs/shared-patterns/exceptions/index.js +0 -24
  61. package/dist/cjs/shared-patterns/exceptions/index.js.map +0 -1
  62. package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts +0 -16
  63. package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts.map +0 -1
  64. package/dist/cjs/shared-patterns/functions/crypto.functions.js +0 -110
  65. package/dist/cjs/shared-patterns/functions/crypto.functions.js.map +0 -1
  66. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts +0 -10
  67. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts.map +0 -1
  68. package/dist/cjs/shared-patterns/functions/helper.functions.js +0 -38
  69. package/dist/cjs/shared-patterns/functions/helper.functions.js.map +0 -1
  70. package/dist/cjs/shared-patterns/functions/index.d.ts +0 -4
  71. package/dist/cjs/shared-patterns/functions/index.d.ts.map +0 -1
  72. package/dist/cjs/shared-patterns/functions/index.js +0 -21
  73. package/dist/cjs/shared-patterns/functions/index.js.map +0 -1
  74. package/dist/cjs/shared-patterns/functions/request.functions.d.ts +0 -14
  75. package/dist/cjs/shared-patterns/functions/request.functions.d.ts.map +0 -1
  76. package/dist/cjs/shared-patterns/functions/request.functions.js +0 -69
  77. package/dist/cjs/shared-patterns/functions/request.functions.js.map +0 -1
  78. package/dist/cjs/shared-patterns/index.d.ts +0 -15
  79. package/dist/cjs/shared-patterns/index.d.ts.map +0 -1
  80. package/dist/cjs/shared-patterns/index.js +0 -44
  81. package/dist/cjs/shared-patterns/index.js.map +0 -1
  82. package/dist/cjs/shared-patterns/interfaces/index.d.ts +0 -3
  83. package/dist/cjs/shared-patterns/interfaces/index.d.ts.map +0 -1
  84. package/dist/cjs/shared-patterns/interfaces/index.js +0 -19
  85. package/dist/cjs/shared-patterns/interfaces/index.js.map +0 -1
  86. package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts +0 -21
  87. package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts.map +0 -1
  88. package/dist/cjs/shared-patterns/interfaces/request.interface.js +0 -15
  89. package/dist/cjs/shared-patterns/interfaces/request.interface.js.map +0 -1
  90. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +0 -9
  91. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +0 -1
  92. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +0 -3
  93. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +0 -1
  94. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts +0 -90
  95. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts.map +0 -1
  96. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js +0 -124
  97. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js.map +0 -1
  98. package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts +0 -50
  99. package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts.map +0 -1
  100. package/dist/cjs/shared-patterns/orchestrators/base-workflow.js +0 -68
  101. package/dist/cjs/shared-patterns/orchestrators/base-workflow.js.map +0 -1
  102. package/dist/cjs/shared-patterns/orchestrators/index.d.ts +0 -26
  103. package/dist/cjs/shared-patterns/orchestrators/index.d.ts.map +0 -1
  104. package/dist/cjs/shared-patterns/orchestrators/index.js +0 -46
  105. package/dist/cjs/shared-patterns/orchestrators/index.js.map +0 -1
  106. package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts +0 -175
  107. package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts.map +0 -1
  108. package/dist/cjs/shared-patterns/utils/error-message.utils.js +0 -258
  109. package/dist/cjs/shared-patterns/utils/error-message.utils.js.map +0 -1
  110. package/dist/cjs/shared-patterns/utils/index.d.ts +0 -3
  111. package/dist/cjs/shared-patterns/utils/index.d.ts.map +0 -1
  112. package/dist/cjs/shared-patterns/utils/index.js +0 -20
  113. package/dist/cjs/shared-patterns/utils/index.js.map +0 -1
  114. package/dist/cjs/shared-patterns/utils/validation.utils.d.ts +0 -49
  115. package/dist/cjs/shared-patterns/utils/validation.utils.d.ts.map +0 -1
  116. package/dist/cjs/shared-patterns/utils/validation.utils.js +0 -76
  117. package/dist/cjs/shared-patterns/utils/validation.utils.js.map +0 -1
  118. package/dist/esm/shared-patterns/database/index.d.ts +0 -6
  119. package/dist/esm/shared-patterns/database/index.d.ts.map +0 -1
  120. package/dist/esm/shared-patterns/database/index.js +0 -8
  121. package/dist/esm/shared-patterns/database/index.js.map +0 -1
  122. package/dist/esm/shared-patterns/database/models/base.model.d.ts +0 -7
  123. package/dist/esm/shared-patterns/database/models/base.model.d.ts.map +0 -1
  124. package/dist/esm/shared-patterns/database/models/base.model.js +0 -7
  125. package/dist/esm/shared-patterns/database/models/base.model.js.map +0 -1
  126. package/dist/esm/shared-patterns/database/models/fixture.model.d.ts +0 -4
  127. package/dist/esm/shared-patterns/database/models/fixture.model.d.ts.map +0 -1
  128. package/dist/esm/shared-patterns/database/models/fixture.model.js +0 -4
  129. package/dist/esm/shared-patterns/database/models/fixture.model.js.map +0 -1
  130. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts +0 -5
  131. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +0 -1
  132. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js +0 -8
  133. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js.map +0 -1
  134. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts +0 -44
  135. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +0 -1
  136. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js +0 -61
  137. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js.map +0 -1
  138. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts +0 -51
  139. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +0 -1
  140. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js +0 -54
  141. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js.map +0 -1
  142. package/dist/esm/shared-patterns/enums/lambda.enum.d.ts +0 -28
  143. package/dist/esm/shared-patterns/enums/lambda.enum.d.ts.map +0 -1
  144. package/dist/esm/shared-patterns/enums/lambda.enum.js +0 -31
  145. package/dist/esm/shared-patterns/enums/lambda.enum.js.map +0 -1
  146. package/dist/esm/shared-patterns/errors/error-factory.d.ts +0 -150
  147. package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +0 -1
  148. package/dist/esm/shared-patterns/errors/error-factory.js +0 -254
  149. package/dist/esm/shared-patterns/errors/error-factory.js.map +0 -1
  150. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts +0 -118
  151. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +0 -1
  152. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js +0 -108
  153. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js.map +0 -1
  154. package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts +0 -23
  155. package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts.map +0 -1
  156. package/dist/esm/shared-patterns/exceptions/base/error-classifier.js +0 -161
  157. package/dist/esm/shared-patterns/exceptions/base/error-classifier.js.map +0 -1
  158. package/dist/esm/shared-patterns/exceptions/index.d.ts +0 -3
  159. package/dist/esm/shared-patterns/exceptions/index.d.ts.map +0 -1
  160. package/dist/esm/shared-patterns/exceptions/index.js +0 -6
  161. package/dist/esm/shared-patterns/exceptions/index.js.map +0 -1
  162. package/dist/esm/shared-patterns/functions/crypto.functions.d.ts +0 -16
  163. package/dist/esm/shared-patterns/functions/crypto.functions.d.ts.map +0 -1
  164. package/dist/esm/shared-patterns/functions/crypto.functions.js +0 -67
  165. package/dist/esm/shared-patterns/functions/crypto.functions.js.map +0 -1
  166. package/dist/esm/shared-patterns/functions/helper.functions.d.ts +0 -10
  167. package/dist/esm/shared-patterns/functions/helper.functions.d.ts.map +0 -1
  168. package/dist/esm/shared-patterns/functions/helper.functions.js +0 -32
  169. package/dist/esm/shared-patterns/functions/helper.functions.js.map +0 -1
  170. package/dist/esm/shared-patterns/functions/index.d.ts +0 -4
  171. package/dist/esm/shared-patterns/functions/index.d.ts.map +0 -1
  172. package/dist/esm/shared-patterns/functions/index.js +0 -5
  173. package/dist/esm/shared-patterns/functions/index.js.map +0 -1
  174. package/dist/esm/shared-patterns/functions/request.functions.d.ts +0 -14
  175. package/dist/esm/shared-patterns/functions/request.functions.d.ts.map +0 -1
  176. package/dist/esm/shared-patterns/functions/request.functions.js +0 -61
  177. package/dist/esm/shared-patterns/functions/request.functions.js.map +0 -1
  178. package/dist/esm/shared-patterns/index.d.ts +0 -15
  179. package/dist/esm/shared-patterns/index.d.ts.map +0 -1
  180. package/dist/esm/shared-patterns/index.js +0 -28
  181. package/dist/esm/shared-patterns/index.js.map +0 -1
  182. package/dist/esm/shared-patterns/interfaces/index.d.ts +0 -3
  183. package/dist/esm/shared-patterns/interfaces/index.d.ts.map +0 -1
  184. package/dist/esm/shared-patterns/interfaces/index.js +0 -3
  185. package/dist/esm/shared-patterns/interfaces/index.js.map +0 -1
  186. package/dist/esm/shared-patterns/interfaces/request.interface.d.ts +0 -21
  187. package/dist/esm/shared-patterns/interfaces/request.interface.d.ts.map +0 -1
  188. package/dist/esm/shared-patterns/interfaces/request.interface.js +0 -11
  189. package/dist/esm/shared-patterns/interfaces/request.interface.js.map +0 -1
  190. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +0 -9
  191. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +0 -1
  192. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +0 -2
  193. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +0 -1
  194. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts +0 -90
  195. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts.map +0 -1
  196. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js +0 -116
  197. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js.map +0 -1
  198. package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts +0 -50
  199. package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts.map +0 -1
  200. package/dist/esm/shared-patterns/orchestrators/base-workflow.js +0 -64
  201. package/dist/esm/shared-patterns/orchestrators/base-workflow.js.map +0 -1
  202. package/dist/esm/shared-patterns/orchestrators/index.d.ts +0 -26
  203. package/dist/esm/shared-patterns/orchestrators/index.d.ts.map +0 -1
  204. package/dist/esm/shared-patterns/orchestrators/index.js +0 -30
  205. package/dist/esm/shared-patterns/orchestrators/index.js.map +0 -1
  206. package/dist/esm/shared-patterns/utils/error-message.utils.d.ts +0 -175
  207. package/dist/esm/shared-patterns/utils/error-message.utils.d.ts.map +0 -1
  208. package/dist/esm/shared-patterns/utils/error-message.utils.js +0 -244
  209. package/dist/esm/shared-patterns/utils/error-message.utils.js.map +0 -1
  210. package/dist/esm/shared-patterns/utils/index.d.ts +0 -3
  211. package/dist/esm/shared-patterns/utils/index.d.ts.map +0 -1
  212. package/dist/esm/shared-patterns/utils/index.js +0 -4
  213. package/dist/esm/shared-patterns/utils/index.js.map +0 -1
  214. package/dist/esm/shared-patterns/utils/validation.utils.d.ts +0 -49
  215. package/dist/esm/shared-patterns/utils/validation.utils.d.ts.map +0 -1
  216. package/dist/esm/shared-patterns/utils/validation.utils.js +0 -70
  217. package/dist/esm/shared-patterns/utils/validation.utils.js.map +0 -1
@@ -1,254 +0,0 @@
1
- import {
2
- // Domain error classes - single source of truth
3
- 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';
4
- /**
5
- * Universal Error Factory for NestJS Applications
6
- *
7
- * This factory provides a clean, discoverable API for creating errors while
8
- * maintaining the domain error classes as the single source of truth.
9
- *
10
- * Architecture:
11
- * - Domain files define canonical error classes (exported as types for frontend)
12
- * - Factory methods instantiate these domain classes (no duplication)
13
- * - NestJS apps use factory for clean developer experience
14
- * - Frontend devs import types from domain classes
15
- */
16
- export class ErrorFactory {
17
- /**
18
- * Resource "not found" patterns
19
- * Uses domain classes internally for consistency
20
- */
21
- static userNotFound(identifier) {
22
- return new UserNotFoundError(identifier);
23
- }
24
- static businessNotFound(identifier) {
25
- return new BusinessNotFoundError(identifier);
26
- }
27
- static tokenNotFound(tokenId) {
28
- return new TokenNotFoundError(tokenId);
29
- }
30
- static transactionNotFound(transactionId) {
31
- return new TransactionNotFoundError(transactionId);
32
- }
33
- static campaignNotFound(campaignId) {
34
- return new CampaignNotFoundError(campaignId);
35
- }
36
- static tokenUnitNotFound(tokenUnitId) {
37
- return new TokenUnitNotFoundError(tokenUnitId);
38
- }
39
- /**
40
- * Authentication & Authorization patterns
41
- */
42
- static authRequired(resource) {
43
- return new AuthenticationRequiredError(resource || 'this resource');
44
- }
45
- static invalidToken(reason) {
46
- return new InvalidTokenError(reason);
47
- }
48
- static tokenExpired() {
49
- return new TokenExpiredError();
50
- }
51
- static forbidden(action, resource) {
52
- return new AuthorizationFailedError(action, resource);
53
- }
54
- /**
55
- * Business rule patterns
56
- */
57
- static geographicRestriction(countryCode, resource) {
58
- return new GeographicRestrictionError(countryCode, resource);
59
- }
60
- static locationRequired(resource) {
61
- return new LocationVerificationRequiredError(resource);
62
- }
63
- static limitReached(limitType) {
64
- return new RedemptionLimitReachedError(limitType);
65
- }
66
- static userStatusRestricted() {
67
- return new UserStatusRestrictedError();
68
- }
69
- /**
70
- * Validation patterns
71
- */
72
- static invalidInput(field, reason) {
73
- return new InvalidInputError(field, reason);
74
- }
75
- static requiredField(field) {
76
- return new RequiredFieldError(field);
77
- }
78
- static invalidFormat(field, expectedFormat) {
79
- return new InvalidFormatError(field, expectedFormat);
80
- }
81
- /**
82
- * Financial/Balance patterns
83
- */
84
- static insufficientBalance(required, available) {
85
- return new InsufficientBalanceError(required, available);
86
- }
87
- /**
88
- * Technical/Infrastructure patterns
89
- */
90
- static systemError(operation, details) {
91
- return new SystemError(operation, details);
92
- }
93
- static externalServiceError(serviceName, operation) {
94
- return new ExternalServiceError(serviceName, operation);
95
- }
96
- static configMissing(configKey) {
97
- return new ConfigurationMissingError(configKey);
98
- }
99
- /**
100
- * Token-specific patterns
101
- */
102
- static tokenNotActive(tokenId) {
103
- return new TokenNotActiveError(tokenId);
104
- }
105
- static tokenIdRequired(tokenType) {
106
- return new TokenIdRequiredError(tokenType);
107
- }
108
- static tokenTypeNotFound(tokenType) {
109
- return new TokenTypeNotFoundError(tokenType);
110
- }
111
- /**
112
- * Transaction-specific patterns
113
- */
114
- static transactionAlreadyCompleted(transactionId, currentStatus) {
115
- return new TransactionAlreadyCompletedError(transactionId, currentStatus);
116
- }
117
- static transactionNotPending(transactionId, currentStatus) {
118
- return new TransactionNotPendingError(transactionId, currentStatus);
119
- }
120
- static transactionValidation(field, reason) {
121
- return new TransactionValidationError(field, reason);
122
- }
123
- /**
124
- * Signing account patterns
125
- */
126
- static signingAccountValidation(field, reason) {
127
- return new SigningAccountValidationError(field, reason);
128
- }
129
- static signingAccountNotFound(identifier) {
130
- return new SigningAccountNotFoundError(identifier);
131
- }
132
- static signingAccountAlreadyExists(accountAddress) {
133
- return new SigningAccountAlreadyExistsError(accountAddress);
134
- }
135
- static keyGeneration(reason) {
136
- return new KeyGenerationError(reason);
137
- }
138
- /**
139
- * Wallet patterns
140
- */
141
- static walletNotFound(ownerAddress) {
142
- return new WalletNotFoundError(ownerAddress);
143
- }
144
- static walletMissingSigning(walletAddress, reason) {
145
- return new WalletMissingSigningError(walletAddress, reason);
146
- }
147
- static smartWalletProcessing(reason) {
148
- return new SmartWalletProcessingError(reason);
149
- }
150
- /**
151
- * Business patterns
152
- */
153
- static businessNotMinter(businessId, tokenAddress) {
154
- return new BusinessNotMinterError(businessId, tokenAddress);
155
- }
156
- /**
157
- * Validation patterns
158
- */
159
- static unexpectedValidationScenario(context) {
160
- return new UnexpectedValidationScenarioError(context);
161
- }
162
- }
163
- /**
164
- * Convenient shortcut object for the most commonly used error patterns
165
- * Provides clean, discoverable API for NestJS applications
166
- */
167
- export const Errors = {
168
- // Resource not found
169
- userNotFound: (id) => ErrorFactory.userNotFound(id),
170
- businessNotFound: (id) => ErrorFactory.businessNotFound(id),
171
- tokenNotFound: (id) => ErrorFactory.tokenNotFound(id),
172
- tokenUnitNotFound: (id) => ErrorFactory.tokenUnitNotFound(id),
173
- transactionNotFound: (id) => ErrorFactory.transactionNotFound(id),
174
- campaignNotFound: (id) => ErrorFactory.campaignNotFound(id),
175
- // Authentication
176
- authRequired: (resource) => ErrorFactory.authRequired(resource),
177
- invalidToken: (reason) => ErrorFactory.invalidToken(reason),
178
- tokenExpired: () => ErrorFactory.tokenExpired(),
179
- forbidden: (action, resource) => ErrorFactory.forbidden(action, resource),
180
- // Business rules
181
- geographicRestriction: (countryCode, resource) => ErrorFactory.geographicRestriction(countryCode, resource),
182
- locationRequired: (resource) => ErrorFactory.locationRequired(resource),
183
- limitReached: (limitType) => ErrorFactory.limitReached(limitType),
184
- userStatusRestricted: () => ErrorFactory.userStatusRestricted(),
185
- // Validation
186
- invalidInput: (field, reason) => ErrorFactory.invalidInput(field, reason),
187
- requiredField: (field) => ErrorFactory.requiredField(field),
188
- invalidFormat: (field, format) => ErrorFactory.invalidFormat(field, format),
189
- // Financial
190
- insufficientBalance: (required, available) => ErrorFactory.insufficientBalance(required, available),
191
- // Technical
192
- systemError: (operation, details) => ErrorFactory.systemError(operation, details),
193
- externalServiceError: (service, operation) => ErrorFactory.externalServiceError(service, operation),
194
- configMissing: (key) => ErrorFactory.configMissing(key),
195
- // Token specific
196
- tokenNotActive: (id) => ErrorFactory.tokenNotActive(id),
197
- tokenIdRequired: (type) => ErrorFactory.tokenIdRequired(type),
198
- tokenTypeNotFound: (type) => ErrorFactory.tokenTypeNotFound(type),
199
- // Transaction specific
200
- transactionAlreadyCompleted: (id, status) => ErrorFactory.transactionAlreadyCompleted(id, status),
201
- transactionNotPending: (id, status) => ErrorFactory.transactionNotPending(id, status),
202
- transactionValidation: (field, reason) => ErrorFactory.transactionValidation(field, reason),
203
- // Signing account
204
- signingAccountValidation: (field, reason) => ErrorFactory.signingAccountValidation(field, reason),
205
- signingAccountNotFound: (id) => ErrorFactory.signingAccountNotFound(id),
206
- signingAccountAlreadyExists: (address) => ErrorFactory.signingAccountAlreadyExists(address),
207
- keyGeneration: (reason) => ErrorFactory.keyGeneration(reason),
208
- // Wallet
209
- walletNotFound: (address) => ErrorFactory.walletNotFound(address),
210
- walletMissingSigning: (address, reason) => ErrorFactory.walletMissingSigning(address, reason),
211
- smartWalletProcessing: (reason) => ErrorFactory.smartWalletProcessing(reason),
212
- // Business
213
- businessNotMinter: (businessId, tokenAddress) => ErrorFactory.businessNotMinter(businessId, tokenAddress),
214
- // Validation
215
- unexpectedValidationScenario: (context) => ErrorFactory.unexpectedValidationScenario(context)
216
- };
217
- /**
218
- * Advanced Error Builder for complex scenarios
219
- * Still references domain classes when possible
220
- */
221
- export class ErrorBuilder {
222
- config = {};
223
- static create() {
224
- return new ErrorBuilder();
225
- }
226
- /**
227
- * Use a specific domain error class
228
- */
229
- useClass(errorClass, ...params) {
230
- this.config.errorClass = errorClass;
231
- this.config.params = params;
232
- return this;
233
- }
234
- /**
235
- * Build the error instance
236
- */
237
- build() {
238
- if (this.config.errorClass && this.config.params) {
239
- return new this.config.errorClass(...this.config.params);
240
- }
241
- throw new Error('ErrorBuilder: No error class specified');
242
- }
243
- // Convenience methods for common error types
244
- buildUserNotFound(id) {
245
- return new UserNotFoundError(id);
246
- }
247
- buildBusinessNotFound(id) {
248
- return new BusinessNotFoundError(id);
249
- }
250
- buildAuthRequired(resource) {
251
- return new AuthenticationRequiredError(resource);
252
- }
253
- }
254
- //# sourceMappingURL=error-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-factory.js","sourceRoot":"","sources":["../../../../src/shared-patterns/errors/error-factory.ts"],"names":[],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- /**
2
- * Error Classification Enums and Interfaces
3
- *
4
- * This file defines the error categorization system used throughout the application.
5
- *
6
- * 🎯 DEVELOPER GUIDANCE:
7
- *
8
- * When creating errors, choose the appropriate category:
9
- *
10
- * 1. DOMAIN_RULE: Business logic violations
11
- * → Use BusinessLogicError subclasses (e.g., TokenTypeNotFoundError)
12
- *
13
- * 2. TECHNICAL: Application/config issues
14
- * → Use TechnicalError.withMessage() for meaningful technical errors
15
- *
16
- * 3. VALIDATION: Input format/validation failures
17
- * → Let NestJS validation decorators handle these automatically
18
- *
19
- * 4. INFRASTRUCTURE: External system failures
20
- * → These are usually classified automatically from generic Error() instances
21
- *
22
- * 5. SECURITY: Auth/authorization issues
23
- * → Use NestJS guards and filters for consistent security errors
24
- *
25
- * 💡 TIP: Prefer structured errors (BusinessLogicError/TechnicalError) over generic Error()
26
- * for better user experience and debugging capability.
27
- *
28
- * 📊 QUICK REFERENCE TABLE:
29
- * ┌─────────────────┬─────────────┬─────────────────────────────────────┬───────────┐
30
- * │ Category │ HTTP Status │ Example │ Retryable │
31
- * ├─────────────────┼─────────────┼─────────────────────────────────────┼───────────┤
32
- * │ VALIDATION │ 400 │ "Email format invalid" │ No │
33
- * │ DOMAIN_RULE │ 422 │ "Insufficient balance" │ No │
34
- * │ TECHNICAL │ 422 │ "Invalid file format" │ Maybe │
35
- * │ INFRASTRUCTURE │ 503 │ "Database connection failed" │ Yes │
36
- * │ SECURITY │ 403 │ "Access denied" │ No │
37
- * │ RATE_LIMIT │ 429 │ "API rate limit exceeded" │ Yes │
38
- * │ TIMEOUT │ 504 │ "Request timeout" │ Yes │
39
- * │ UNKNOWN │ 500 │ Generic Error() instances │ Yes │
40
- * └─────────────────┴─────────────┴─────────────────────────────────────┴───────────┘
41
- */
42
- /**
43
- * Error severity levels for prioritization and alerting
44
- *
45
- * Determines the urgency of response and escalation procedures:
46
- * - Monitoring alert thresholds
47
- * - On-call escalation policies
48
- * - SLA response times
49
- * - Business impact assessment
50
- */
51
- export declare enum ErrorSeverity {
52
- /**
53
- * Low severity - Minor issues, degraded experience but service functional
54
- * Examples: Optional feature failures, cosmetic issues, non-critical warnings
55
- * Response Time: 24-48 hours
56
- * Escalation: Development team during business hours
57
- * Business Impact: Minimal
58
- */
59
- LOW = "LOW",
60
- /**
61
- * Medium severity - Noticeable issues, some functionality impaired
62
- * Examples: Performance degradation, secondary feature failures, data sync delays
63
- * Response Time: 4-8 hours
64
- * Escalation: Development team within same day
65
- * Business Impact: Moderate
66
- */
67
- MEDIUM = "MEDIUM",
68
- /**
69
- * High severity - Significant issues, core functionality impaired
70
- * Examples: Payment failures, authentication issues, critical feature outages
71
- * Response Time: 1-2 hours
72
- * Escalation: Immediate development team notification
73
- * Business Impact: High
74
- */
75
- HIGH = "HIGH",
76
- /**
77
- * Critical severity - System down, major business impact
78
- * Examples: Complete service outage, data corruption, security breaches
79
- * Response Time: Immediate (< 15 minutes)
80
- * Escalation: Page on-call engineer, notify leadership
81
- * Business Impact: Severe
82
- */
83
- CRITICAL = "CRITICAL"
84
- }
85
- /**
86
- * API error response format including correlation tracking
87
- */
88
- export interface ApiErrorResponse {
89
- code: string;
90
- domain: string;
91
- message: string;
92
- developerMessage?: string;
93
- action?: string;
94
- timestamp: string;
95
- category: string;
96
- correlationId: string;
97
- retryable: boolean;
98
- severity: ErrorSeverity;
99
- }
100
- /**
101
- * HTTP Status codes used by our error classification system
102
- *
103
- * Centralized here to maintain consistency across error classification
104
- * and avoid duplication with NestJS HttpStatus values.
105
- */
106
- export declare enum ErrorHttpStatus {
107
- BAD_REQUEST = 400,
108
- UNAUTHORIZED = 401,
109
- FORBIDDEN = 403,
110
- NOT_FOUND = 404,
111
- CONFLICT = 409,
112
- UNPROCESSABLE_ENTITY = 422,
113
- TOO_MANY_REQUESTS = 429,
114
- INTERNAL_SERVER_ERROR = 500,
115
- SERVICE_UNAVAILABLE = 503,
116
- GATEWAY_TIMEOUT = 504
117
- }
118
- //# sourceMappingURL=error-classification-enums.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-classification-enums.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classification-enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAKH;;;;;;;;GAQG;AACH,oBAAY,aAAa;IACvB;;;;;;OAMG;IACH,GAAG,QAAQ;IAEX;;;;;;OAMG;IACH,MAAM,WAAW;IAEjB;;;;;;OAMG;IACH,IAAI,SAAS;IAEb;;;;;;OAMG;IACH,QAAQ,aAAa;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAID;;;;;GAKG;AACH,oBAAY,eAAe;IACzB,WAAW,MAAM;IACjB,YAAY,MAAM;IAClB,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd,oBAAoB,MAAM;IAC1B,iBAAiB,MAAM;IACvB,qBAAqB,MAAM;IAC3B,mBAAmB,MAAM;IACzB,eAAe,MAAM;CACtB"}
@@ -1,108 +0,0 @@
1
- /**
2
- * Error Classification Enums and Interfaces
3
- *
4
- * This file defines the error categorization system used throughout the application.
5
- *
6
- * 🎯 DEVELOPER GUIDANCE:
7
- *
8
- * When creating errors, choose the appropriate category:
9
- *
10
- * 1. DOMAIN_RULE: Business logic violations
11
- * → Use BusinessLogicError subclasses (e.g., TokenTypeNotFoundError)
12
- *
13
- * 2. TECHNICAL: Application/config issues
14
- * → Use TechnicalError.withMessage() for meaningful technical errors
15
- *
16
- * 3. VALIDATION: Input format/validation failures
17
- * → Let NestJS validation decorators handle these automatically
18
- *
19
- * 4. INFRASTRUCTURE: External system failures
20
- * → These are usually classified automatically from generic Error() instances
21
- *
22
- * 5. SECURITY: Auth/authorization issues
23
- * → Use NestJS guards and filters for consistent security errors
24
- *
25
- * 💡 TIP: Prefer structured errors (BusinessLogicError/TechnicalError) over generic Error()
26
- * for better user experience and debugging capability.
27
- *
28
- * 📊 QUICK REFERENCE TABLE:
29
- * ┌─────────────────┬─────────────┬─────────────────────────────────────┬───────────┐
30
- * │ Category │ HTTP Status │ Example │ Retryable │
31
- * ├─────────────────┼─────────────┼─────────────────────────────────────┼───────────┤
32
- * │ VALIDATION │ 400 │ "Email format invalid" │ No │
33
- * │ DOMAIN_RULE │ 422 │ "Insufficient balance" │ No │
34
- * │ TECHNICAL │ 422 │ "Invalid file format" │ Maybe │
35
- * │ INFRASTRUCTURE │ 503 │ "Database connection failed" │ Yes │
36
- * │ SECURITY │ 403 │ "Access denied" │ No │
37
- * │ RATE_LIMIT │ 429 │ "API rate limit exceeded" │ Yes │
38
- * │ TIMEOUT │ 504 │ "Request timeout" │ Yes │
39
- * │ UNKNOWN │ 500 │ Generic Error() instances │ Yes │
40
- * └─────────────────┴─────────────┴─────────────────────────────────────┴───────────┘
41
- */
42
- // Note: ErrorCategory is now imported from @explorins/pers-shared
43
- // This library contains only the detailed classification enums and interfaces
44
- /**
45
- * Error severity levels for prioritization and alerting
46
- *
47
- * Determines the urgency of response and escalation procedures:
48
- * - Monitoring alert thresholds
49
- * - On-call escalation policies
50
- * - SLA response times
51
- * - Business impact assessment
52
- */
53
- export var ErrorSeverity;
54
- (function (ErrorSeverity) {
55
- /**
56
- * Low severity - Minor issues, degraded experience but service functional
57
- * Examples: Optional feature failures, cosmetic issues, non-critical warnings
58
- * Response Time: 24-48 hours
59
- * Escalation: Development team during business hours
60
- * Business Impact: Minimal
61
- */
62
- ErrorSeverity["LOW"] = "LOW";
63
- /**
64
- * Medium severity - Noticeable issues, some functionality impaired
65
- * Examples: Performance degradation, secondary feature failures, data sync delays
66
- * Response Time: 4-8 hours
67
- * Escalation: Development team within same day
68
- * Business Impact: Moderate
69
- */
70
- ErrorSeverity["MEDIUM"] = "MEDIUM";
71
- /**
72
- * High severity - Significant issues, core functionality impaired
73
- * Examples: Payment failures, authentication issues, critical feature outages
74
- * Response Time: 1-2 hours
75
- * Escalation: Immediate development team notification
76
- * Business Impact: High
77
- */
78
- ErrorSeverity["HIGH"] = "HIGH";
79
- /**
80
- * Critical severity - System down, major business impact
81
- * Examples: Complete service outage, data corruption, security breaches
82
- * Response Time: Immediate (< 15 minutes)
83
- * Escalation: Page on-call engineer, notify leadership
84
- * Business Impact: Severe
85
- */
86
- ErrorSeverity["CRITICAL"] = "CRITICAL";
87
- })(ErrorSeverity || (ErrorSeverity = {}));
88
- // Note: All interfaces moved to @explorins/pers-shared for proper data contract separation
89
- /**
90
- * HTTP Status codes used by our error classification system
91
- *
92
- * Centralized here to maintain consistency across error classification
93
- * and avoid duplication with NestJS HttpStatus values.
94
- */
95
- export var ErrorHttpStatus;
96
- (function (ErrorHttpStatus) {
97
- ErrorHttpStatus[ErrorHttpStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
98
- ErrorHttpStatus[ErrorHttpStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
99
- ErrorHttpStatus[ErrorHttpStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
100
- ErrorHttpStatus[ErrorHttpStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
101
- ErrorHttpStatus[ErrorHttpStatus["CONFLICT"] = 409] = "CONFLICT";
102
- ErrorHttpStatus[ErrorHttpStatus["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
103
- ErrorHttpStatus[ErrorHttpStatus["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
104
- ErrorHttpStatus[ErrorHttpStatus["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
105
- ErrorHttpStatus[ErrorHttpStatus["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
106
- ErrorHttpStatus[ErrorHttpStatus["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
107
- })(ErrorHttpStatus || (ErrorHttpStatus = {}));
108
- //# sourceMappingURL=error-classification-enums.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-classification-enums.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classification-enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kEAAkE;AAClE,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,aAoCX;AApCD,WAAY,aAAa;IACvB;;;;;;OAMG;IACH,4BAAW,CAAA;IAEX;;;;;;OAMG;IACH,kCAAiB,CAAA;IAEjB;;;;;;OAMG;IACH,8BAAa,CAAA;IAEb;;;;;;OAMG;IACH,sCAAqB,CAAA;AACvB,CAAC,EApCW,aAAa,KAAb,aAAa,QAoCxB;AAoBD,2FAA2F;AAE3F;;;;;GAKG;AACH,MAAM,CAAN,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,qEAAiB,CAAA;IACjB,uEAAkB,CAAA;IAClB,iEAAe,CAAA;IACf,iEAAe,CAAA;IACf,+DAAc,CAAA;IACd,uFAA0B,CAAA;IAC1B,iFAAuB,CAAA;IACvB,yFAA2B,CAAA;IAC3B,qFAAyB,CAAA;IACzB,6EAAqB,CAAA;AACvB,CAAC,EAXW,eAAe,KAAf,eAAe,QAW1B"}
@@ -1,23 +0,0 @@
1
- import { StructuredError } from '../../../shared-lib/errors';
2
- /**
3
- * Error classification utilities with 3-path decision logic
4
- */
5
- export declare class ErrorClassifier {
6
- /**
7
- * Simplified error classification with 3-path logic
8
- * 1. BusinessLogicError -> Preserve structure (fast path)
9
- * 2. TechnicalError -> Preserve message (fast path)
10
- * 3. Everything else -> Security-first fallback
11
- */
12
- static classify(error: any, domain: string): StructuredError;
13
- /**
14
- * Determine if an error message is safe to expose to users
15
- * Uses a balanced approach: block sensitive system data while allowing business messages
16
- */
17
- private static isSafeForUsers;
18
- /**
19
- * Convert structured error to HTTP status code
20
- */
21
- static getHttpStatusCode(structuredError: StructuredError): number;
22
- }
23
- //# sourceMappingURL=error-classifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,eAAe,EAAkB,MAAM,4BAA4B,CAAC;AAGhH;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAyE5D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAgE7B;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM;CAkBnE"}