@explorins/pers-shared 2.1.34 → 2.1.36

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 (193) hide show
  1. package/dist/cjs/shared-lib/dto/admin/admin.dto.d.ts +1 -1
  2. package/dist/cjs/shared-lib/dto/admin/admin.dto.d.ts.map +1 -1
  3. package/dist/cjs/shared-lib/dto/admin/admin.dto.js +2 -2
  4. package/dist/cjs/shared-lib/dto/admin/admin.dto.js.map +1 -1
  5. package/dist/cjs/shared-lib/dto/auth.dto.d.ts +1 -2
  6. package/dist/cjs/shared-lib/dto/auth.dto.d.ts.map +1 -1
  7. package/dist/cjs/shared-lib/dto/auth.dto.js +1 -10
  8. package/dist/cjs/shared-lib/dto/auth.dto.js.map +1 -1
  9. package/dist/cjs/shared-lib/dto/index.d.ts +1 -2
  10. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  11. package/dist/cjs/shared-lib/dto/index.js +1 -2
  12. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  13. package/dist/cjs/shared-lib/dto/tenant/index.d.ts +6 -0
  14. package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -0
  15. package/dist/cjs/shared-lib/dto/tenant/index.js +22 -0
  16. package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -0
  17. package/dist/cjs/shared-lib/dto/{tenant-client-config.dto.d.ts → tenant/tenant-client-config.dto.d.ts} +1 -1
  18. package/dist/cjs/shared-lib/dto/tenant/tenant-client-config.dto.d.ts.map +1 -0
  19. package/dist/cjs/shared-lib/dto/tenant/tenant-client-config.dto.js.map +1 -0
  20. package/dist/cjs/shared-lib/dto/{tenant.dto.d.ts → tenant/tenant.dto.d.ts} +2 -2
  21. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -0
  22. package/dist/cjs/shared-lib/dto/{tenant.dto.js → tenant/tenant.dto.js} +9 -9
  23. package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -0
  24. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +7 -0
  25. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +1 -0
  26. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.js +34 -0
  27. package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +1 -0
  28. package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts +4 -0
  29. package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts.map +1 -0
  30. package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.js +24 -0
  31. package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.js.map +1 -0
  32. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +14 -0
  33. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -0
  34. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +84 -0
  35. package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -0
  36. package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
  37. package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
  38. package/dist/cjs/shared-lib/errors/base/error-classification-enums.js +20 -1
  39. package/dist/cjs/shared-lib/errors/base/error-classification-enums.js.map +1 -1
  40. package/dist/cjs/shared-lib/errors/base-business-error.d.ts +56 -2
  41. package/dist/cjs/shared-lib/errors/base-business-error.d.ts.map +1 -1
  42. package/dist/cjs/shared-lib/errors/base-business-error.js +110 -11
  43. package/dist/cjs/shared-lib/errors/base-business-error.js.map +1 -1
  44. package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
  45. package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
  46. package/dist/cjs/shared-lib/errors/domains/authentication-errors.js +6 -6
  47. package/dist/cjs/shared-lib/errors/domains/authentication-errors.js.map +1 -1
  48. package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts +2 -2
  49. package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
  50. package/dist/cjs/shared-lib/errors/domains/balance-errors.js +2 -2
  51. package/dist/cjs/shared-lib/errors/domains/balance-errors.js.map +1 -1
  52. package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts +24 -3
  53. package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
  54. package/dist/cjs/shared-lib/errors/domains/business-errors.js +42 -3
  55. package/dist/cjs/shared-lib/errors/domains/business-errors.js.map +1 -1
  56. package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts +2 -2
  57. package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
  58. package/dist/cjs/shared-lib/errors/domains/contract-errors.js +1 -1
  59. package/dist/cjs/shared-lib/errors/domains/contract-errors.js.map +1 -1
  60. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
  61. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
  62. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js +12 -10
  63. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
  64. package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts +7 -4
  65. package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
  66. package/dist/cjs/shared-lib/errors/domains/system-errors.js +13 -6
  67. package/dist/cjs/shared-lib/errors/domains/system-errors.js.map +1 -1
  68. package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts +10 -4
  69. package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
  70. package/dist/cjs/shared-lib/errors/domains/token-errors.js +19 -5
  71. package/dist/cjs/shared-lib/errors/domains/token-errors.js.map +1 -1
  72. package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
  73. package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
  74. package/dist/cjs/shared-lib/errors/domains/transaction-errors.js +14 -7
  75. package/dist/cjs/shared-lib/errors/domains/transaction-errors.js.map +1 -1
  76. package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts +2 -2
  77. package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
  78. package/dist/cjs/shared-lib/errors/domains/user-errors.js +1 -1
  79. package/dist/cjs/shared-lib/errors/domains/user-errors.js.map +1 -1
  80. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts +4 -4
  81. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  82. package/dist/cjs/shared-lib/errors/domains/validation-errors.js +6 -7
  83. package/dist/cjs/shared-lib/errors/domains/validation-errors.js.map +1 -1
  84. package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
  85. package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
  86. package/dist/cjs/shared-lib/errors/domains/wallet-errors.js +5 -4
  87. package/dist/cjs/shared-lib/errors/domains/wallet-errors.js.map +1 -1
  88. package/dist/cjs/shared-lib/errors/index.d.ts +1 -1
  89. package/dist/cjs/shared-lib/errors/index.d.ts.map +1 -1
  90. package/dist/cjs/shared-lib/errors/index.js +9 -1
  91. package/dist/cjs/shared-lib/errors/index.js.map +1 -1
  92. package/dist/esm/shared-lib/dto/admin/admin.dto.d.ts +1 -1
  93. package/dist/esm/shared-lib/dto/admin/admin.dto.d.ts.map +1 -1
  94. package/dist/esm/shared-lib/dto/admin/admin.dto.js +1 -1
  95. package/dist/esm/shared-lib/dto/admin/admin.dto.js.map +1 -1
  96. package/dist/esm/shared-lib/dto/auth.dto.d.ts +1 -2
  97. package/dist/esm/shared-lib/dto/auth.dto.d.ts.map +1 -1
  98. package/dist/esm/shared-lib/dto/auth.dto.js +1 -9
  99. package/dist/esm/shared-lib/dto/auth.dto.js.map +1 -1
  100. package/dist/esm/shared-lib/dto/index.d.ts +1 -2
  101. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  102. package/dist/esm/shared-lib/dto/index.js +1 -2
  103. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  104. package/dist/esm/shared-lib/dto/tenant/index.d.ts +6 -0
  105. package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -0
  106. package/dist/esm/shared-lib/dto/tenant/index.js +6 -0
  107. package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -0
  108. package/dist/esm/shared-lib/dto/{tenant-client-config.dto.d.ts → tenant/tenant-client-config.dto.d.ts} +1 -1
  109. package/dist/esm/shared-lib/dto/tenant/tenant-client-config.dto.d.ts.map +1 -0
  110. package/dist/esm/shared-lib/dto/tenant/tenant-client-config.dto.js.map +1 -0
  111. package/dist/esm/shared-lib/dto/{tenant.dto.d.ts → tenant/tenant.dto.d.ts} +2 -2
  112. package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -0
  113. package/dist/esm/shared-lib/dto/{tenant.dto.js → tenant/tenant.dto.js} +8 -8
  114. package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -0
  115. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +7 -0
  116. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +1 -0
  117. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.js +24 -0
  118. package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +1 -0
  119. package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts +4 -0
  120. package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts.map +1 -0
  121. package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.js +16 -0
  122. package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.js.map +1 -0
  123. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +14 -0
  124. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -0
  125. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +66 -0
  126. package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -0
  127. package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
  128. package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
  129. package/dist/esm/shared-lib/errors/base/error-classification-enums.js +11 -0
  130. package/dist/esm/shared-lib/errors/base/error-classification-enums.js.map +1 -1
  131. package/dist/esm/shared-lib/errors/base-business-error.d.ts +56 -2
  132. package/dist/esm/shared-lib/errors/base-business-error.d.ts.map +1 -1
  133. package/dist/esm/shared-lib/errors/base-business-error.js +101 -10
  134. package/dist/esm/shared-lib/errors/base-business-error.js.map +1 -1
  135. package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
  136. package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
  137. package/dist/esm/shared-lib/errors/domains/authentication-errors.js +7 -7
  138. package/dist/esm/shared-lib/errors/domains/authentication-errors.js.map +1 -1
  139. package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts +2 -2
  140. package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
  141. package/dist/esm/shared-lib/errors/domains/balance-errors.js +3 -3
  142. package/dist/esm/shared-lib/errors/domains/balance-errors.js.map +1 -1
  143. package/dist/esm/shared-lib/errors/domains/business-errors.d.ts +24 -3
  144. package/dist/esm/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
  145. package/dist/esm/shared-lib/errors/domains/business-errors.js +37 -3
  146. package/dist/esm/shared-lib/errors/domains/business-errors.js.map +1 -1
  147. package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts +2 -2
  148. package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
  149. package/dist/esm/shared-lib/errors/domains/contract-errors.js +2 -2
  150. package/dist/esm/shared-lib/errors/domains/contract-errors.js.map +1 -1
  151. package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
  152. package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
  153. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js +13 -11
  154. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
  155. package/dist/esm/shared-lib/errors/domains/system-errors.d.ts +7 -4
  156. package/dist/esm/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
  157. package/dist/esm/shared-lib/errors/domains/system-errors.js +12 -6
  158. package/dist/esm/shared-lib/errors/domains/system-errors.js.map +1 -1
  159. package/dist/esm/shared-lib/errors/domains/token-errors.d.ts +10 -4
  160. package/dist/esm/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
  161. package/dist/esm/shared-lib/errors/domains/token-errors.js +17 -5
  162. package/dist/esm/shared-lib/errors/domains/token-errors.js.map +1 -1
  163. package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
  164. package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
  165. package/dist/esm/shared-lib/errors/domains/transaction-errors.js +13 -7
  166. package/dist/esm/shared-lib/errors/domains/transaction-errors.js.map +1 -1
  167. package/dist/esm/shared-lib/errors/domains/user-errors.d.ts +2 -2
  168. package/dist/esm/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
  169. package/dist/esm/shared-lib/errors/domains/user-errors.js +2 -2
  170. package/dist/esm/shared-lib/errors/domains/user-errors.js.map +1 -1
  171. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts +4 -4
  172. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  173. package/dist/esm/shared-lib/errors/domains/validation-errors.js +7 -8
  174. package/dist/esm/shared-lib/errors/domains/validation-errors.js.map +1 -1
  175. package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
  176. package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
  177. package/dist/esm/shared-lib/errors/domains/wallet-errors.js +6 -5
  178. package/dist/esm/shared-lib/errors/domains/wallet-errors.js.map +1 -1
  179. package/dist/esm/shared-lib/errors/index.d.ts +1 -1
  180. package/dist/esm/shared-lib/errors/index.d.ts.map +1 -1
  181. package/dist/esm/shared-lib/errors/index.js +1 -1
  182. package/dist/esm/shared-lib/errors/index.js.map +1 -1
  183. package/package.json +1 -1
  184. package/dist/cjs/shared-lib/dto/tenant-client-config.dto.d.ts.map +0 -1
  185. package/dist/cjs/shared-lib/dto/tenant-client-config.dto.js.map +0 -1
  186. package/dist/cjs/shared-lib/dto/tenant.dto.d.ts.map +0 -1
  187. package/dist/cjs/shared-lib/dto/tenant.dto.js.map +0 -1
  188. package/dist/esm/shared-lib/dto/tenant-client-config.dto.d.ts.map +0 -1
  189. package/dist/esm/shared-lib/dto/tenant-client-config.dto.js.map +0 -1
  190. package/dist/esm/shared-lib/dto/tenant.dto.d.ts.map +0 -1
  191. package/dist/esm/shared-lib/dto/tenant.dto.js.map +0 -1
  192. /package/dist/cjs/shared-lib/dto/{tenant-client-config.dto.js → tenant/tenant-client-config.dto.js} +0 -0
  193. /package/dist/esm/shared-lib/dto/{tenant-client-config.dto.js → tenant/tenant-client-config.dto.js} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { HttpException, HttpStatus } from '@nestjs/common';
2
+ import { ErrorCategory, StructuredError } from './base/error-classification-enums';
2
3
  /**
3
4
  * Base class for business logic errors that should be surfaced to clients
4
5
  * with meaningful error messages and appropriate HTTP status codes.
@@ -11,7 +12,9 @@ export declare abstract class BusinessLogicError extends HttpException {
11
12
  readonly userMessage: string;
12
13
  readonly developerMessage: string;
13
14
  readonly action?: string;
14
- constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
15
+ readonly category: ErrorCategory;
16
+ readonly retryable: boolean;
17
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string, category?: ErrorCategory, retryable?: boolean);
15
18
  /**
16
19
  * Type guard to check if an error is a business logic error
17
20
  */
@@ -19,6 +22,57 @@ export declare abstract class BusinessLogicError extends HttpException {
19
22
  /**
20
23
  * Get structured error response for API consumers
21
24
  */
22
- getStructuredResponse(): object;
25
+ getStructuredResponse(): StructuredError;
26
+ }
27
+ /**
28
+ * Category-specific base error classes for type safety and proper defaults
29
+ */
30
+ /**
31
+ * Base class for validation errors - input validation failures
32
+ */
33
+ export declare class ValidationError extends BusinessLogicError {
34
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, target: string, action?: string);
35
+ }
36
+ /**
37
+ * Base class for domain rule errors - business logic violations
38
+ */
39
+ export declare class DomainRuleError extends BusinessLogicError {
40
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
41
+ }
42
+ /**
43
+ * Base class for technical errors - application/configuration issues
44
+ */
45
+ export declare class TechnicalError extends BusinessLogicError {
46
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string, retryable?: boolean);
47
+ }
48
+ /**
49
+ * Base class for infrastructure errors - system/external service failures
50
+ */
51
+ export declare class InfrastructureError extends BusinessLogicError {
52
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
53
+ }
54
+ /**
55
+ * Base class for security errors - authentication/authorization failures
56
+ */
57
+ export declare class SecurityError extends BusinessLogicError {
58
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
59
+ }
60
+ /**
61
+ * Base class for rate limit errors - usage limit violations
62
+ */
63
+ export declare class RateLimitError extends BusinessLogicError {
64
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, action?: string);
65
+ }
66
+ /**
67
+ * Base class for timeout errors - operations that exceed time limits
68
+ */
69
+ export declare class TimeoutError extends BusinessLogicError {
70
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string);
71
+ }
72
+ /**
73
+ * Base class for unknown errors - unclassified failures
74
+ */
75
+ export declare class UnknownError extends BusinessLogicError {
76
+ constructor(errorCode: string, domain: string, userMessage: string, developerMessage: string, httpStatus?: HttpStatus, action?: string, retryable?: boolean);
23
77
  }
24
78
  //# sourceMappingURL=base-business-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-business-error.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG3D;;;;;GAKG;AACH,8BAAsB,kBAAmB,SAAQ,aAAa;IAC5D,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAG9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAmC,EAC/C,MAAM,CAAC,EAAE,MAAM;IAuBjB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB;IAI/D;;OAEG;IACH,qBAAqB;CAYtB"}
1
+ {"version":3,"file":"base-business-error.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"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"}
@@ -12,16 +12,26 @@ export class BusinessLogicError extends HttpException {
12
12
  userMessage;
13
13
  developerMessage;
14
14
  action;
15
- constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.BAD_REQUEST, action) {
16
- // Create structured response for NestJS
15
+ category;
16
+ retryable;
17
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.BAD_REQUEST, action, category = ErrorCategory.DOMAIN_RULE, retryable = false) {
18
+ // Create structured response following RFC 7807 with extensions
17
19
  const response = {
20
+ // RFC 7807 core fields
21
+ status: httpStatus,
22
+ title: userMessage,
23
+ detail: developerMessage,
24
+ message: userMessage, // Industry standard field
25
+ // Custom extensions
18
26
  code: errorCode,
27
+ category: category,
28
+ timestamp: new Date().toISOString(),
29
+ retryable: retryable,
30
+ // Legacy fields for backward compatibility
19
31
  domain: domain,
20
- message: userMessage,
21
32
  developerMessage: developerMessage,
22
33
  action: action,
23
- timestamp: new Date().toISOString(),
24
- category: ErrorCategory.DOMAIN_RULE
34
+ userMessage: userMessage
25
35
  };
26
36
  super(response, httpStatus);
27
37
  this.errorCode = errorCode;
@@ -29,6 +39,8 @@ export class BusinessLogicError extends HttpException {
29
39
  this.userMessage = userMessage;
30
40
  this.developerMessage = developerMessage;
31
41
  this.action = action;
42
+ this.category = category;
43
+ this.retryable = retryable;
32
44
  this.name = this.constructor.name;
33
45
  }
34
46
  /**
@@ -43,14 +55,93 @@ export class BusinessLogicError extends HttpException {
43
55
  getStructuredResponse() {
44
56
  const response = this.getResponse();
45
57
  return typeof response === 'object' ? response : {
46
- code: this.errorCode,
47
- domain: this.domain,
58
+ status: this.getStatus(),
59
+ title: this.userMessage,
60
+ detail: this.developerMessage,
48
61
  message: this.userMessage,
49
- developerMessage: this.developerMessage,
50
- action: this.action,
62
+ code: this.errorCode,
63
+ category: this.category,
51
64
  timestamp: new Date().toISOString(),
52
- category: ErrorCategory.DOMAIN_RULE
65
+ retryable: this.retryable,
66
+ userMessage: this.userMessage,
67
+ details: {
68
+ domain: this.domain,
69
+ action: this.action
70
+ }
53
71
  };
54
72
  }
55
73
  }
74
+ /**
75
+ * Category-specific base error classes for type safety and proper defaults
76
+ */
77
+ /**
78
+ * Base class for validation errors - input validation failures
79
+ */
80
+ export class ValidationError extends BusinessLogicError {
81
+ constructor(errorCode, domain, userMessage, developerMessage, target, action) {
82
+ super(errorCode, domain, userMessage, developerMessage, HttpStatus.BAD_REQUEST, action, ErrorCategory.VALIDATION, false // Validation errors are never retryable
83
+ );
84
+ }
85
+ }
86
+ /**
87
+ * Base class for domain rule errors - business logic violations
88
+ */
89
+ export class DomainRuleError extends BusinessLogicError {
90
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.BAD_REQUEST, action) {
91
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, ErrorCategory.DOMAIN_RULE, false // Domain rules don't change on retry
92
+ );
93
+ }
94
+ }
95
+ /**
96
+ * Base class for technical errors - application/configuration issues
97
+ */
98
+ export class TechnicalError extends BusinessLogicError {
99
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.INTERNAL_SERVER_ERROR, action, retryable = true) {
100
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, ErrorCategory.TECHNICAL, retryable);
101
+ }
102
+ }
103
+ /**
104
+ * Base class for infrastructure errors - system/external service failures
105
+ */
106
+ export class InfrastructureError extends BusinessLogicError {
107
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.SERVICE_UNAVAILABLE, action) {
108
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, ErrorCategory.INFRASTRUCTURE, true // Infrastructure issues are typically retryable
109
+ );
110
+ }
111
+ }
112
+ /**
113
+ * Base class for security errors - authentication/authorization failures
114
+ */
115
+ export class SecurityError extends BusinessLogicError {
116
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.UNAUTHORIZED, action) {
117
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, ErrorCategory.SECURITY, false // Security violations are never retryable
118
+ );
119
+ }
120
+ }
121
+ /**
122
+ * Base class for rate limit errors - usage limit violations
123
+ */
124
+ export class RateLimitError extends BusinessLogicError {
125
+ constructor(errorCode, domain, userMessage, developerMessage, action) {
126
+ super(errorCode, domain, userMessage, developerMessage, HttpStatus.TOO_MANY_REQUESTS, action, ErrorCategory.RATE_LIMIT, true // Can retry after rate limit window
127
+ );
128
+ }
129
+ }
130
+ /**
131
+ * Base class for timeout errors - operations that exceed time limits
132
+ */
133
+ export class TimeoutError extends BusinessLogicError {
134
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.REQUEST_TIMEOUT, action) {
135
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, ErrorCategory.TIMEOUT, true // Timeouts can often be retried
136
+ );
137
+ }
138
+ }
139
+ /**
140
+ * Base class for unknown errors - unclassified failures
141
+ */
142
+ export class UnknownError extends BusinessLogicError {
143
+ constructor(errorCode, domain, userMessage, developerMessage, httpStatus = HttpStatus.INTERNAL_SERVER_ERROR, action, retryable = false) {
144
+ super(errorCode, domain, userMessage, developerMessage, httpStatus, action, ErrorCategory.UNKNOWN, retryable);
145
+ }
146
+ }
56
147
  //# sourceMappingURL=base-business-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-business-error.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAC5C,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,WAAW,CAAS;IACpB,gBAAgB,CAAS;IACzB,MAAM,CAAU;IAEhC,YACE,SAAiB,EACjB,MAAc,EACd,WAAmB,EACnB,gBAAwB,EACxB,aAAyB,UAAU,CAAC,WAAW,EAC/C,MAAe;QAEf,wCAAwC;QACxC,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,gBAAgB,EAAE,gBAAgB;YAClC,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,aAAa,CAAC,WAAW;SACpC,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAU;QAC/B,OAAO,KAAK,YAAY,kBAAkB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,aAAa,CAAC,WAAW;SACpC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"base-business-error.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/base-business-error.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,26 @@
1
- import { BusinessLogicError } from '../base-business-error';
1
+ import { SecurityError } from '../base-business-error';
2
2
  /**
3
3
  * Authentication domain business errors
4
4
  */
5
- export declare class AuthenticationRequiredError extends BusinessLogicError {
5
+ export declare class AuthenticationRequiredError extends SecurityError {
6
6
  constructor(resource: string);
7
7
  }
8
- export declare class AuthorizationFailedError extends BusinessLogicError {
8
+ export declare class AuthorizationFailedError extends SecurityError {
9
9
  constructor(action: string, resource: string);
10
10
  }
11
11
  /**
12
12
  * Firebase authentication specific errors
13
13
  */
14
- export declare class InvalidTokenError extends BusinessLogicError {
14
+ export declare class InvalidTokenError extends SecurityError {
15
15
  constructor(reason?: string);
16
16
  }
17
- export declare class TokenExpiredError extends BusinessLogicError {
17
+ export declare class TokenExpiredError extends SecurityError {
18
18
  constructor();
19
19
  }
20
- export declare class TokenRevokedException extends BusinessLogicError {
20
+ export declare class TokenRevokedException extends SecurityError {
21
21
  constructor();
22
22
  }
23
- export declare class FirebaseAuthenticationError extends BusinessLogicError {
23
+ export declare class FirebaseAuthenticationError extends SecurityError {
24
24
  constructor(firebaseErrorCode: string, message?: string);
25
25
  }
26
26
  //# sourceMappingURL=authentication-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,QAAQ,EAAE,MAAM;CAU7B;AAED,qBAAa,wBAAyB,SAAQ,kBAAkB;gBAClD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAU7C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;gBAC3C,MAAM,CAAC,EAAE,MAAM;CAW5B;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;;CAWxD;AAED,qBAAa,qBAAsB,SAAQ,kBAAkB;;CAW5D;AAED,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAUxD"}
1
+ {"version":3,"file":"authentication-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAI3E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,aAAa;gBAChD,QAAQ,EAAE,MAAM;CAU7B;AAED,qBAAa,wBAAyB,SAAQ,aAAa;gBAC7C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAU7C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;gBACtC,MAAM,CAAC,EAAE,MAAM;CAW5B;AAED,qBAAa,iBAAkB,SAAQ,aAAa;;CAWnD;AAED,qBAAa,qBAAsB,SAAQ,aAAa;;CAWvD;AAED,qBAAa,2BAA4B,SAAQ,aAAa;gBAChD,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAUxD"}
@@ -1,15 +1,15 @@
1
1
  import { HttpStatus } from '@nestjs/common';
2
- import { BusinessLogicError } from '../base-business-error';
2
+ import { SecurityError } from '../base-business-error';
3
3
  import { CommonErrorCodes, ErrorDomains } from '../error-codes';
4
4
  /**
5
5
  * Authentication domain business errors
6
6
  */
7
- export class AuthenticationRequiredError extends BusinessLogicError {
7
+ export class AuthenticationRequiredError extends SecurityError {
8
8
  constructor(resource) {
9
9
  super(CommonErrorCodes.AUTHENTICATION_REQUIRED, ErrorDomains.AUTHENTICATION, 'Authentication required', `Access to ${resource} requires authentication`, HttpStatus.UNAUTHORIZED, 'Please sign in and try again');
10
10
  }
11
11
  }
12
- export class AuthorizationFailedError extends BusinessLogicError {
12
+ export class AuthorizationFailedError extends SecurityError {
13
13
  constructor(action, resource) {
14
14
  super(CommonErrorCodes.AUTHORIZATION_FAILED, ErrorDomains.AUTHENTICATION, 'Authorization failed', `User not authorized to ${action} on ${resource}`, HttpStatus.FORBIDDEN, 'You do not have permission for this action');
15
15
  }
@@ -17,23 +17,23 @@ export class AuthorizationFailedError extends BusinessLogicError {
17
17
  /**
18
18
  * Firebase authentication specific errors
19
19
  */
20
- export class InvalidTokenError extends BusinessLogicError {
20
+ export class InvalidTokenError extends SecurityError {
21
21
  constructor(reason) {
22
22
  const details = reason ? `: ${reason}` : '';
23
23
  super('INVALID_TOKEN', ErrorDomains.AUTHENTICATION, 'Invalid token', `Authentication token is invalid${details}`, HttpStatus.UNAUTHORIZED, 'Your session is invalid. Please sign in again');
24
24
  }
25
25
  }
26
- export class TokenExpiredError extends BusinessLogicError {
26
+ export class TokenExpiredError extends SecurityError {
27
27
  constructor() {
28
28
  super('TOKEN_EXPIRED', ErrorDomains.AUTHENTICATION, 'Token expired', 'Authentication token has expired', HttpStatus.UNAUTHORIZED, 'Your session has expired. Please sign in again');
29
29
  }
30
30
  }
31
- export class TokenRevokedException extends BusinessLogicError {
31
+ export class TokenRevokedException extends SecurityError {
32
32
  constructor() {
33
33
  super('TOKEN_REVOKED', ErrorDomains.AUTHENTICATION, 'Token revoked', 'Authentication token has been revoked', HttpStatus.UNAUTHORIZED, 'Your session has been revoked. Please sign in again');
34
34
  }
35
35
  }
36
- export class FirebaseAuthenticationError extends BusinessLogicError {
36
+ export class FirebaseAuthenticationError extends SecurityError {
37
37
  constructor(firebaseErrorCode, message) {
38
38
  super('FIREBASE_AUTH_ERROR', ErrorDomains.AUTHENTICATION, 'Authentication failed', message || `Firebase authentication error: ${firebaseErrorCode}`, HttpStatus.UNAUTHORIZED, 'Authentication failed. Please try signing in again');
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IACjE,YAAY,QAAgB;QAC1B,KAAK,CACH,gBAAgB,CAAC,uBAAuB,EACxC,YAAY,CAAC,cAAc,EAC3B,yBAAyB,EACzB,aAAa,QAAQ,0BAA0B,EAC/C,UAAU,CAAC,YAAY,EACvB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,kBAAkB;IAC9D,YAAY,MAAc,EAAE,QAAgB;QAC1C,KAAK,CACH,gBAAgB,CAAC,oBAAoB,EACrC,YAAY,CAAC,cAAc,EAC3B,sBAAsB,EACtB,0BAA0B,MAAM,OAAO,QAAQ,EAAE,EACjD,UAAU,CAAC,SAAS,EACpB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAkB;IACvD,YAAY,MAAe;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CACH,eAAe,EACf,YAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,OAAO,EAAE,EAC3C,UAAU,CAAC,YAAY,EACvB,+CAA+C,CAChD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,kBAAkB;IACvD;QACE,KAAK,CACH,eAAe,EACf,YAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,EAClC,UAAU,CAAC,YAAY,EACvB,gDAAgD,CACjD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;IAC3D;QACE,KAAK,CACH,eAAe,EACf,YAAY,CAAC,cAAc,EAC3B,eAAe,EACf,uCAAuC,EACvC,UAAU,CAAC,YAAY,EACvB,qDAAqD,CACtD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IACjE,YAAY,iBAAyB,EAAE,OAAgB;QACrD,KAAK,CACH,qBAAqB,EACrB,YAAY,CAAC,cAAc,EAC3B,uBAAuB,EACvB,OAAO,IAAI,kCAAkC,iBAAiB,EAAE,EAChE,UAAU,CAAC,YAAY,EACvB,oDAAoD,CACrD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"authentication-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/authentication-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGhE;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,aAAa;IAC5D,YAAY,QAAgB;QAC1B,KAAK,CACH,gBAAgB,CAAC,uBAAuB,EACxC,YAAY,CAAC,cAAc,EAC3B,yBAAyB,EACzB,aAAa,QAAQ,0BAA0B,EAC/C,UAAU,CAAC,YAAY,EACvB,8BAA8B,CAC/B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,aAAa;IACzD,YAAY,MAAc,EAAE,QAAgB;QAC1C,KAAK,CACH,gBAAgB,CAAC,oBAAoB,EACrC,YAAY,CAAC,cAAc,EAC3B,sBAAsB,EACtB,0BAA0B,MAAM,OAAO,QAAQ,EAAE,EACjD,UAAU,CAAC,SAAS,EACpB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,MAAe;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CACH,eAAe,EACf,YAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,OAAO,EAAE,EAC3C,UAAU,CAAC,YAAY,EACvB,+CAA+C,CAChD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD;QACE,KAAK,CACH,eAAe,EACf,YAAY,CAAC,cAAc,EAC3B,eAAe,EACf,kCAAkC,EAClC,UAAU,CAAC,YAAY,EACvB,gDAAgD,CACjD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IACtD;QACE,KAAK,CACH,eAAe,EACf,YAAY,CAAC,cAAc,EAC3B,eAAe,EACf,uCAAuC,EACvC,UAAU,CAAC,YAAY,EACvB,qDAAqD,CACtD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,aAAa;IAC5D,YAAY,iBAAyB,EAAE,OAAgB;QACrD,KAAK,CACH,qBAAqB,EACrB,YAAY,CAAC,cAAc,EAC3B,uBAAuB,EACvB,OAAO,IAAI,kCAAkC,iBAAiB,EAAE,EAChE,UAAU,CAAC,YAAY,EACvB,oDAAoD,CACrD,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import { BusinessLogicError } from '../base-business-error';
1
+ import { DomainRuleError } from '../base-business-error';
2
2
  /**
3
3
  * Balance/Account domain business errors
4
4
  */
5
- export declare class InsufficientBalanceError extends BusinessLogicError {
5
+ export declare class InsufficientBalanceError extends DomainRuleError {
6
6
  constructor(required: string, available: string);
7
7
  }
8
8
  //# sourceMappingURL=balance-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/balance-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AAEH,qBAAa,wBAAyB,SAAQ,kBAAkB;gBAClD,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAUhD"}
1
+ {"version":3,"file":"balance-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/balance-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AAEH,qBAAa,wBAAyB,SAAQ,eAAe;gBAC/C,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAUhD"}
@@ -1,12 +1,12 @@
1
1
  import { HttpStatus } from '@nestjs/common';
2
- import { BusinessLogicError } from '../base-business-error';
2
+ import { DomainRuleError } from '../base-business-error';
3
3
  import { CommonErrorCodes, ErrorDomains } from '../error-codes';
4
4
  /**
5
5
  * Balance/Account domain business errors
6
6
  */
7
- export class InsufficientBalanceError extends BusinessLogicError {
7
+ export class InsufficientBalanceError extends DomainRuleError {
8
8
  constructor(required, available) {
9
- super(CommonErrorCodes.INSUFFICIENT_BALANCE, ErrorDomains.BALANCE, 'Insufficient balance for this operation', `Required: ${required}, Available: ${available}`, HttpStatus.BAD_REQUEST, 'Please add funds to your account');
9
+ super(CommonErrorCodes.INSUFFICIENT_BALANCE, ErrorDomains.BALANCE, 'Insufficient balance for this operation', `Required: ${required}, Available: ${available}`, HttpStatus.UNPROCESSABLE_ENTITY, 'Please add funds to your account');
10
10
  }
11
11
  }
12
12
  //# sourceMappingURL=balance-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/balance-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,wBAAyB,SAAQ,kBAAkB;IAC9D,YAAY,QAAgB,EAAE,SAAiB;QAC7C,KAAK,CACH,gBAAgB,CAAC,oBAAoB,EACrC,YAAY,CAAC,OAAO,EACpB,yCAAyC,EACzC,aAAa,QAAQ,gBAAgB,SAAS,EAAE,EAChD,UAAU,CAAC,WAAW,EACtB,kCAAkC,CACnC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"balance-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/balance-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IAC3D,YAAY,QAAgB,EAAE,SAAiB;QAC7C,KAAK,CACH,gBAAgB,CAAC,oBAAoB,EACrC,YAAY,CAAC,OAAO,EACpB,yCAAyC,EACzC,aAAa,QAAQ,gBAAgB,SAAS,EAAE,EAChD,UAAU,CAAC,oBAAoB,EAC/B,kCAAkC,CACnC,CAAC;IACJ,CAAC;CACF"}
@@ -1,11 +1,32 @@
1
- import { BusinessLogicError } from '../base-business-error';
1
+ import { DomainRuleError, ValidationError } from '../base-business-error';
2
2
  /**
3
3
  * Business domain business errors
4
4
  */
5
- export declare class BusinessNotFoundError extends BusinessLogicError {
5
+ export declare class BusinessNotFoundError extends DomainRuleError {
6
6
  constructor(identifier: string);
7
7
  }
8
- export declare class BusinessNotMinterError extends BusinessLogicError {
8
+ export declare class BusinessNotMinterError extends DomainRuleError {
9
9
  constructor(businessId: string, tokenId: string);
10
10
  }
11
+ /**
12
+ * Campaign-related domain errors
13
+ */
14
+ export declare class CampaignNotFoundError extends DomainRuleError {
15
+ constructor(campaignId: string);
16
+ }
17
+ export declare class GeographicRestrictionError extends DomainRuleError {
18
+ constructor(countryCode: string, resource?: string);
19
+ }
20
+ export declare class LocationVerificationRequiredError extends ValidationError {
21
+ constructor(resource?: string);
22
+ }
23
+ /**
24
+ * Redemption-related domain errors
25
+ */
26
+ export declare class RedemptionLimitReachedError extends DomainRuleError {
27
+ constructor(limitType: 'max_redemption' | 'user_limit');
28
+ }
29
+ export declare class UserStatusRestrictedError extends DomainRuleError {
30
+ constructor();
31
+ }
11
32
  //# sourceMappingURL=business-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"business-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/business-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AAEH,qBAAa,qBAAsB,SAAQ,kBAAkB;gBAC/C,UAAU,EAAE,MAAM;CAU/B;AAID,qBAAa,sBAAuB,SAAQ,kBAAkB;gBAChD,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAUhD"}
1
+ {"version":3,"file":"business-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/business-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9F;;GAEG;AAEH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC5C,UAAU,EAAE,MAAM;CAU/B;AAID,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAUhD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC5C,UAAU,EAAE,MAAM;CAU/B;AAED,qBAAa,0BAA2B,SAAQ,eAAe;gBACjD,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAmB;CAU/D;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,QAAQ,GAAE,MAAmB;CAU1C;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,SAAS,EAAE,gBAAgB,GAAG,YAAY;CAavD;AAED,qBAAa,yBAA0B,SAAQ,eAAe;;CAW7D"}
@@ -1,17 +1,51 @@
1
1
  import { HttpStatus } from '@nestjs/common';
2
- import { BusinessLogicError } from '../base-business-error';
2
+ import { DomainRuleError, ValidationError } from '../base-business-error';
3
3
  import { CommonErrorCodes, ErrorDomains } from '../error-codes';
4
4
  /**
5
5
  * Business domain business errors
6
6
  */
7
- export class BusinessNotFoundError extends BusinessLogicError {
7
+ export class BusinessNotFoundError extends DomainRuleError {
8
8
  constructor(identifier) {
9
9
  super(CommonErrorCodes.BUSINESS_NOT_FOUND, ErrorDomains.BUSINESS, 'Business not found', `Business not found for identifier: ${identifier}`, HttpStatus.NOT_FOUND, 'Please verify the business exists');
10
10
  }
11
11
  }
12
- export class BusinessNotMinterError extends BusinessLogicError {
12
+ export class BusinessNotMinterError extends DomainRuleError {
13
13
  constructor(businessId, tokenId) {
14
14
  super(CommonErrorCodes.BUSINESS_NOT_MINTER, ErrorDomains.BUSINESS, 'Business is not authorized as a minter for this token', `Business ${businessId} is not a minter for token ${tokenId}`, HttpStatus.FORBIDDEN, 'Please verify token minting permissions');
15
15
  }
16
16
  }
17
+ /**
18
+ * Campaign-related domain errors
19
+ */
20
+ export class CampaignNotFoundError extends DomainRuleError {
21
+ constructor(campaignId) {
22
+ super('CAMPAIGN_NOT_FOUND', ErrorDomains.BUSINESS, 'Campaign not found', `Campaign with identifier '${campaignId}' not found`, HttpStatus.NOT_FOUND, 'Please verify the campaign ID and try again');
23
+ }
24
+ }
25
+ export class GeographicRestrictionError extends DomainRuleError {
26
+ constructor(countryCode, resource = 'campaign') {
27
+ super('GEOGRAPHIC_RESTRICTION', ErrorDomains.BUSINESS, 'Not available in your location', `${resource.charAt(0).toUpperCase() + resource.slice(1)} not available in ${countryCode}`, HttpStatus.FORBIDDEN, 'This content is not available in your geographic location');
28
+ }
29
+ }
30
+ export class LocationVerificationRequiredError extends ValidationError {
31
+ constructor(resource = 'campaign') {
32
+ super('LOCATION_VERIFICATION_REQUIRED', ErrorDomains.BUSINESS, 'Location verification required', `Location verification is required for this ${resource}`, 'location', 'Please enable location services and try again');
33
+ }
34
+ }
35
+ /**
36
+ * Redemption-related domain errors
37
+ */
38
+ export class RedemptionLimitReachedError extends DomainRuleError {
39
+ constructor(limitType) {
40
+ const isMaxRedemption = limitType === 'max_redemption';
41
+ super(limitType.toUpperCase(), ErrorDomains.BUSINESS, isMaxRedemption ? 'Redemption no longer available' : 'Redemption limit reached', isMaxRedemption
42
+ ? 'Redemption has reached max redemption limit'
43
+ : 'User has reached max redemption limit', HttpStatus.CONFLICT, 'This redemption is no longer available');
44
+ }
45
+ }
46
+ export class UserStatusRestrictedError extends DomainRuleError {
47
+ constructor() {
48
+ super('USER_STATUS_RESTRICTED', ErrorDomains.BUSINESS, 'Account status restriction', 'Your account status does not allow this redemption', HttpStatus.FORBIDDEN, 'Please contact support to resolve account restrictions');
49
+ }
50
+ }
17
51
  //# sourceMappingURL=business-errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"business-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/business-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;IAC3D,YAAY,UAAkB;QAC5B,KAAK,CACH,gBAAgB,CAAC,kBAAkB,EACnC,YAAY,CAAC,QAAQ,EACrB,oBAAoB,EACpB,sCAAsC,UAAU,EAAE,EAClD,UAAU,CAAC,SAAS,EACpB,mCAAmC,CACpC,CAAC;IACJ,CAAC;CACF;AAID,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D,YAAY,UAAkB,EAAE,OAAe;QAC7C,KAAK,CACH,gBAAgB,CAAC,mBAAmB,EACpC,YAAY,CAAC,QAAQ,EACrB,uDAAuD,EACvD,YAAY,UAAU,8BAA8B,OAAO,EAAE,EAC7D,UAAU,CAAC,SAAS,EACpB,yCAAyC,CAC1C,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"business-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/business-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,YAAY,UAAkB;QAC5B,KAAK,CACH,gBAAgB,CAAC,kBAAkB,EACnC,YAAY,CAAC,QAAQ,EACrB,oBAAoB,EACpB,sCAAsC,UAAU,EAAE,EAClD,UAAU,CAAC,SAAS,EACpB,mCAAmC,CACpC,CAAC;IACJ,CAAC;CACF;AAID,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IACzD,YAAY,UAAkB,EAAE,OAAe;QAC7C,KAAK,CACH,gBAAgB,CAAC,mBAAmB,EACpC,YAAY,CAAC,QAAQ,EACrB,uDAAuD,EACvD,YAAY,UAAU,8BAA8B,OAAO,EAAE,EAC7D,UAAU,CAAC,SAAS,EACpB,yCAAyC,CAC1C,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,YAAY,UAAkB;QAC5B,KAAK,CACH,oBAAoB,EACpB,YAAY,CAAC,QAAQ,EACrB,oBAAoB,EACpB,6BAA6B,UAAU,aAAa,EACpD,UAAU,CAAC,SAAS,EACpB,6CAA6C,CAC9C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,eAAe;IAC7D,YAAY,WAAmB,EAAE,WAAmB,UAAU;QAC5D,KAAK,CACH,wBAAwB,EACxB,YAAY,CAAC,QAAQ,EACrB,gCAAgC,EAChC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,WAAW,EAAE,EACzF,UAAU,CAAC,SAAS,EACpB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,eAAe;IACpE,YAAY,WAAmB,UAAU;QACvC,KAAK,CACH,gCAAgC,EAChC,YAAY,CAAC,QAAQ,EACrB,gCAAgC,EAChC,8CAA8C,QAAQ,EAAE,EACxD,UAAU,EACV,+CAA+C,CAChD,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,SAA0C;QACpD,MAAM,eAAe,GAAG,SAAS,KAAK,gBAAgB,CAAC;QACvD,KAAK,CACH,SAAS,CAAC,WAAW,EAAE,EACvB,YAAY,CAAC,QAAQ,EACrB,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,0BAA0B,EAC/E,eAAe;YACb,CAAC,CAAC,6CAA6C;YAC/C,CAAC,CAAC,uCAAuC,EAC3C,UAAU,CAAC,QAAQ,EACnB,wCAAwC,CACzC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D;QACE,KAAK,CACH,wBAAwB,EACxB,YAAY,CAAC,QAAQ,EACrB,4BAA4B,EAC5B,oDAAoD,EACpD,UAAU,CAAC,SAAS,EACpB,wDAAwD,CACzD,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import { BusinessLogicError } from '../base-business-error';
1
+ import { DomainRuleError } from '../base-business-error';
2
2
  /**
3
3
  * Contract domain business errors
4
4
  */
5
- export declare class ContractNotFoundError extends BusinessLogicError {
5
+ export declare class ContractNotFoundError extends DomainRuleError {
6
6
  constructor(contractAddress: string);
7
7
  }
8
8
  //# sourceMappingURL=contract-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/contract-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AAEH,qBAAa,qBAAsB,SAAQ,kBAAkB;gBAC/C,eAAe,EAAE,MAAM;CAUpC"}
1
+ {"version":3,"file":"contract-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/contract-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;GAEG;AAEH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC5C,eAAe,EAAE,MAAM;CAUpC"}
@@ -1,10 +1,10 @@
1
1
  import { HttpStatus } from '@nestjs/common';
2
- import { BusinessLogicError } from '../base-business-error';
2
+ import { DomainRuleError } from '../base-business-error';
3
3
  import { CommonErrorCodes, ErrorDomains } from '../error-codes';
4
4
  /**
5
5
  * Contract domain business errors
6
6
  */
7
- export class ContractNotFoundError extends BusinessLogicError {
7
+ export class ContractNotFoundError extends DomainRuleError {
8
8
  constructor(contractAddress) {
9
9
  super(CommonErrorCodes.CONTRACT_NOT_FOUND, ErrorDomains.CONTRACT, 'Contract not found or ABI unavailable', `Contract at address ${contractAddress} not found or ABI unavailable`, HttpStatus.NOT_FOUND, 'Please verify the contract address');
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"contract-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/contract-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;IAC3D,YAAY,eAAuB;QACjC,KAAK,CACH,gBAAgB,CAAC,kBAAkB,EACnC,YAAY,CAAC,QAAQ,EACrB,uCAAuC,EACvC,uBAAuB,eAAe,+BAA+B,EACrE,UAAU,CAAC,SAAS,EACpB,oCAAoC,CACrC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"contract-errors.js","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/contract-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE;;GAEG;AAEH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD,YAAY,eAAuB;QACjC,KAAK,CACH,gBAAgB,CAAC,kBAAkB,EACnC,YAAY,CAAC,QAAQ,EACrB,uCAAuC,EACvC,uBAAuB,eAAe,+BAA+B,EACrE,UAAU,CAAC,SAAS,EACpB,oCAAoC,CACrC,CAAC;IACJ,CAAC;CACF"}
@@ -1,26 +1,26 @@
1
- import { BusinessLogicError } from '../base-business-error';
1
+ import { DomainRuleError, ValidationError, TechnicalError } from '../base-business-error';
2
2
  /**
3
3
  * Signing Account domain business errors
4
4
  *
5
5
  * These errors handle signing account creation, validation, and management
6
6
  * following the PERS Error Handling System architecture.
7
7
  */
8
- export declare class SigningAccountValidationError extends BusinessLogicError {
8
+ export declare class SigningAccountValidationError extends ValidationError {
9
9
  constructor(field: string, reason: string);
10
10
  }
11
- export declare class SigningAccountNotFoundError extends BusinessLogicError {
11
+ export declare class SigningAccountNotFoundError extends DomainRuleError {
12
12
  constructor(identifier: string, identifierType?: string);
13
13
  }
14
- export declare class SigningAccountAlreadyExistsError extends BusinessLogicError {
14
+ export declare class SigningAccountAlreadyExistsError extends DomainRuleError {
15
15
  constructor(accountAddress: string);
16
16
  }
17
- export declare class SigningAccountKeyValidationError extends BusinessLogicError {
17
+ export declare class SigningAccountKeyValidationError extends ValidationError {
18
18
  constructor(field: string, reason: string);
19
19
  }
20
- export declare class SigningAccountConfigurationError extends BusinessLogicError {
20
+ export declare class SigningAccountConfigurationError extends TechnicalError {
21
21
  constructor(provider: string, reason: string);
22
22
  }
23
- export declare class KeyGenerationError extends BusinessLogicError {
23
+ export declare class KeyGenerationError extends TechnicalError {
24
24
  constructor(reason: string);
25
25
  }
26
26
  //# sourceMappingURL=signing-account-errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing-account-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/signing-account-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;;;;GAKG;AAEH,qBAAa,6BAA8B,SAAQ,kBAAkB;gBACvD,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAU1C;AAED,qBAAa,2BAA4B,SAAQ,kBAAkB;gBACrD,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,MAAa;CAU9D;AAED,qBAAa,gCAAiC,SAAQ,kBAAkB;gBAC1D,cAAc,EAAE,MAAM;CAUnC;AAED,qBAAa,gCAAiC,SAAQ,kBAAkB;gBAC1D,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAU1C;AAED,qBAAa,gCAAiC,SAAQ,kBAAkB;gBAC1D,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAU7C;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB;gBAC5C,MAAM,EAAE,MAAM;CAU3B"}
1
+ {"version":3,"file":"signing-account-errors.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/errors/domains/signing-account-errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG9G;;;;;GAKG;AAEH,qBAAa,6BAA8B,SAAQ,eAAe;gBACpD,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAU1C;AAED,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,MAAa;CAU9D;AAED,qBAAa,gCAAiC,SAAQ,eAAe;gBACvD,cAAc,EAAE,MAAM;CAUnC;AAED,qBAAa,gCAAiC,SAAQ,eAAe;gBACvD,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAU1C;AAED,qBAAa,gCAAiC,SAAQ,cAAc;gBACtD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAW7C;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,MAAM,EAAE,MAAM;CAW3B"}