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