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