@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.
- package/dist/cjs/shared-lib/dto/admin/admin.dto.d.ts +1 -1
- package/dist/cjs/shared-lib/dto/admin/admin.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/admin/admin.dto.js +2 -2
- package/dist/cjs/shared-lib/dto/admin/admin.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/auth.dto.d.ts +1 -2
- package/dist/cjs/shared-lib/dto/auth.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/auth.dto.js +1 -10
- package/dist/cjs/shared-lib/dto/auth.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/index.d.ts +1 -2
- package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/index.js +1 -2
- package/dist/cjs/shared-lib/dto/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/index.d.ts +6 -0
- package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.js +22 -0
- package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -0
- package/dist/cjs/shared-lib/dto/{tenant-client-config.dto.d.ts → tenant/tenant-client-config.dto.d.ts} +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenant-client-config.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenant-client-config.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/{tenant.dto.d.ts → tenant/tenant.dto.d.ts} +2 -2
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/{tenant.dto.js → tenant/tenant.dto.js} +9 -9
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +7 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.js +34 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts +4 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.js +24 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantCreate.request.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +14 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +84 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -0
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.js +20 -1
- package/dist/cjs/shared-lib/errors/base/error-classification-enums.js.map +1 -1
- package/dist/cjs/shared-lib/errors/base-business-error.d.ts +56 -2
- package/dist/cjs/shared-lib/errors/base-business-error.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/base-business-error.js +110 -11
- package/dist/cjs/shared-lib/errors/base-business-error.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.js +6 -6
- package/dist/cjs/shared-lib/errors/domains/authentication-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts +2 -2
- package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/balance-errors.js +2 -2
- package/dist/cjs/shared-lib/errors/domains/balance-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts +24 -3
- package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/business-errors.js +42 -3
- package/dist/cjs/shared-lib/errors/domains/business-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts +2 -2
- package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/contract-errors.js +1 -1
- package/dist/cjs/shared-lib/errors/domains/contract-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js +12 -10
- package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts +7 -4
- package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/system-errors.js +13 -6
- package/dist/cjs/shared-lib/errors/domains/system-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts +10 -4
- package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/token-errors.js +19 -5
- package/dist/cjs/shared-lib/errors/domains/token-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.js +14 -7
- package/dist/cjs/shared-lib/errors/domains/transaction-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts +2 -2
- package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/user-errors.js +1 -1
- package/dist/cjs/shared-lib/errors/domains/user-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts +4 -4
- package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/validation-errors.js +6 -7
- package/dist/cjs/shared-lib/errors/domains/validation-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.js +5 -4
- package/dist/cjs/shared-lib/errors/domains/wallet-errors.js.map +1 -1
- package/dist/cjs/shared-lib/errors/index.d.ts +1 -1
- package/dist/cjs/shared-lib/errors/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/index.js +9 -1
- package/dist/cjs/shared-lib/errors/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/admin/admin.dto.d.ts +1 -1
- package/dist/esm/shared-lib/dto/admin/admin.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/admin/admin.dto.js +1 -1
- package/dist/esm/shared-lib/dto/admin/admin.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/auth.dto.d.ts +1 -2
- package/dist/esm/shared-lib/dto/auth.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/auth.dto.js +1 -9
- package/dist/esm/shared-lib/dto/auth.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/index.d.ts +1 -2
- package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/index.js +1 -2
- package/dist/esm/shared-lib/dto/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/index.d.ts +6 -0
- package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.js +6 -0
- package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -0
- package/dist/esm/shared-lib/dto/{tenant-client-config.dto.d.ts → tenant/tenant-client-config.dto.d.ts} +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenant-client-config.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenant-client-config.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/{tenant.dto.d.ts → tenant/tenant.dto.d.ts} +2 -2
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/{tenant.dto.js → tenant/tenant.dto.js} +8 -8
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts +7 -0
- package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.js +24 -0
- package/dist/esm/shared-lib/dto/tenant/tenantApiKey.request.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts +4 -0
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.js +16 -0
- package/dist/esm/shared-lib/dto/tenant/tenantCreate.request.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +14 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +66 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -0
- package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
- package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/base/error-classification-enums.js +11 -0
- package/dist/esm/shared-lib/errors/base/error-classification-enums.js.map +1 -1
- package/dist/esm/shared-lib/errors/base-business-error.d.ts +56 -2
- package/dist/esm/shared-lib/errors/base-business-error.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/base-business-error.js +101 -10
- package/dist/esm/shared-lib/errors/base-business-error.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
- package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/authentication-errors.js +7 -7
- package/dist/esm/shared-lib/errors/domains/authentication-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts +2 -2
- package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/balance-errors.js +3 -3
- package/dist/esm/shared-lib/errors/domains/balance-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/business-errors.d.ts +24 -3
- package/dist/esm/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/business-errors.js +37 -3
- package/dist/esm/shared-lib/errors/domains/business-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts +2 -2
- package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/contract-errors.js +2 -2
- package/dist/esm/shared-lib/errors/domains/contract-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.js +13 -11
- package/dist/esm/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/system-errors.d.ts +7 -4
- package/dist/esm/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/system-errors.js +12 -6
- package/dist/esm/shared-lib/errors/domains/system-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/token-errors.d.ts +10 -4
- package/dist/esm/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/token-errors.js +17 -5
- package/dist/esm/shared-lib/errors/domains/token-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
- package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/transaction-errors.js +13 -7
- package/dist/esm/shared-lib/errors/domains/transaction-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/user-errors.d.ts +2 -2
- package/dist/esm/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/user-errors.js +2 -2
- package/dist/esm/shared-lib/errors/domains/user-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts +4 -4
- package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/validation-errors.js +7 -8
- package/dist/esm/shared-lib/errors/domains/validation-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
- package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/domains/wallet-errors.js +6 -5
- package/dist/esm/shared-lib/errors/domains/wallet-errors.js.map +1 -1
- package/dist/esm/shared-lib/errors/index.d.ts +1 -1
- package/dist/esm/shared-lib/errors/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/index.js +1 -1
- package/dist/esm/shared-lib/errors/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/shared-lib/dto/tenant-client-config.dto.d.ts.map +0 -1
- package/dist/cjs/shared-lib/dto/tenant-client-config.dto.js.map +0 -1
- package/dist/cjs/shared-lib/dto/tenant.dto.d.ts.map +0 -1
- package/dist/cjs/shared-lib/dto/tenant.dto.js.map +0 -1
- package/dist/esm/shared-lib/dto/tenant-client-config.dto.d.ts.map +0 -1
- package/dist/esm/shared-lib/dto/tenant-client-config.dto.js.map +0 -1
- package/dist/esm/shared-lib/dto/tenant.dto.d.ts.map +0 -1
- package/dist/esm/shared-lib/dto/tenant.dto.js.map +0 -1
- /package/dist/cjs/shared-lib/dto/{tenant-client-config.dto.js → tenant/tenant-client-config.dto.js} +0 -0
- /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
|
-
|
|
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():
|
|
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;
|
|
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;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEnF;;;;;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;IAChC,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjC,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,EACf,QAAQ,GAAE,aAAyC,EACnD,SAAS,GAAE,OAAe;IAmC5B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB;IAI/D;;OAEG;IACH,qBAAqB,IAAI,eAAe;CAkBzC;AAED;;GAEG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAEnD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAEnD,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;CAalB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;gBAElD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAA6C,EACzD,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,OAAc;CAa5B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB;gBAEvD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAA2C,EACvD,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,kBAAkB;gBAEjD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAoC,EAChD,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;gBAElD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;gBAEhD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAAuC,EACnD,MAAM,CAAC,EAAE,MAAM;CAalB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;gBAEhD,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,UAA6C,EACzD,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,OAAe;CAa7B"}
|
|
@@ -12,16 +12,26 @@ export class BusinessLogicError extends HttpException {
|
|
|
12
12
|
userMessage;
|
|
13
13
|
developerMessage;
|
|
14
14
|
action;
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
58
|
+
status: this.getStatus(),
|
|
59
|
+
title: this.userMessage,
|
|
60
|
+
detail: this.developerMessage,
|
|
48
61
|
message: this.userMessage,
|
|
49
|
-
|
|
50
|
-
|
|
62
|
+
code: this.errorCode,
|
|
63
|
+
category: this.category,
|
|
51
64
|
timestamp: new Date().toISOString(),
|
|
52
|
-
|
|
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,
|
|
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 {
|
|
1
|
+
import { SecurityError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* Authentication domain business errors
|
|
4
4
|
*/
|
|
5
|
-
export declare class AuthenticationRequiredError extends
|
|
5
|
+
export declare class AuthenticationRequiredError extends SecurityError {
|
|
6
6
|
constructor(resource: string);
|
|
7
7
|
}
|
|
8
|
-
export declare class AuthorizationFailedError extends
|
|
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
|
|
14
|
+
export declare class InvalidTokenError extends SecurityError {
|
|
15
15
|
constructor(reason?: string);
|
|
16
16
|
}
|
|
17
|
-
export declare class TokenExpiredError extends
|
|
17
|
+
export declare class TokenExpiredError extends SecurityError {
|
|
18
18
|
constructor();
|
|
19
19
|
}
|
|
20
|
-
export declare class TokenRevokedException extends
|
|
20
|
+
export declare class TokenRevokedException extends SecurityError {
|
|
21
21
|
constructor();
|
|
22
22
|
}
|
|
23
|
-
export declare class FirebaseAuthenticationError extends
|
|
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,
|
|
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 {
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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 {
|
|
1
|
+
import { DomainRuleError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* Balance/Account domain business errors
|
|
4
4
|
*/
|
|
5
|
-
export declare class InsufficientBalanceError extends
|
|
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,
|
|
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 {
|
|
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
|
|
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.
|
|
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,
|
|
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 {
|
|
1
|
+
import { DomainRuleError, ValidationError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* Business domain business errors
|
|
4
4
|
*/
|
|
5
|
-
export declare class BusinessNotFoundError extends
|
|
5
|
+
export declare class BusinessNotFoundError extends DomainRuleError {
|
|
6
6
|
constructor(identifier: string);
|
|
7
7
|
}
|
|
8
|
-
export declare class BusinessNotMinterError extends
|
|
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,
|
|
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 {
|
|
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
|
|
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
|
|
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,
|
|
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 {
|
|
1
|
+
import { DomainRuleError } from '../base-business-error';
|
|
2
2
|
/**
|
|
3
3
|
* Contract domain business errors
|
|
4
4
|
*/
|
|
5
|
-
export declare class ContractNotFoundError extends
|
|
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,
|
|
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 {
|
|
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
|
|
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,
|
|
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 {
|
|
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
|
|
8
|
+
export declare class SigningAccountValidationError extends ValidationError {
|
|
9
9
|
constructor(field: string, reason: string);
|
|
10
10
|
}
|
|
11
|
-
export declare class SigningAccountNotFoundError extends
|
|
11
|
+
export declare class SigningAccountNotFoundError extends DomainRuleError {
|
|
12
12
|
constructor(identifier: string, identifierType?: string);
|
|
13
13
|
}
|
|
14
|
-
export declare class SigningAccountAlreadyExistsError extends
|
|
14
|
+
export declare class SigningAccountAlreadyExistsError extends DomainRuleError {
|
|
15
15
|
constructor(accountAddress: string);
|
|
16
16
|
}
|
|
17
|
-
export declare class SigningAccountKeyValidationError extends
|
|
17
|
+
export declare class SigningAccountKeyValidationError extends ValidationError {
|
|
18
18
|
constructor(field: string, reason: string);
|
|
19
19
|
}
|
|
20
|
-
export declare class SigningAccountConfigurationError extends
|
|
20
|
+
export declare class SigningAccountConfigurationError extends TechnicalError {
|
|
21
21
|
constructor(provider: string, reason: string);
|
|
22
22
|
}
|
|
23
|
-
export declare class KeyGenerationError extends
|
|
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,
|
|
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"}
|