@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,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standardized error message generators for consistent error handling across applications
|
|
3
|
-
*
|
|
4
|
-
* This utility provides reusable message generation functions for common error scenarios:
|
|
5
|
-
* - Authentication context errors
|
|
6
|
-
* - Resource not found errors
|
|
7
|
-
* - Access denied errors
|
|
8
|
-
* - Validation errors
|
|
9
|
-
* - Business rule violations
|
|
10
|
-
* - Database operation errors
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* import { generateAuthRequiredMessage, generateNotFoundMessage } from '@explorins/pers-shared-patterns';
|
|
14
|
-
*
|
|
15
|
-
* const message = generateAuthRequiredMessage(['user', 'admin']);
|
|
16
|
-
* // "User or admin authentication required"
|
|
17
|
-
*
|
|
18
|
-
* const notFound = generateNotFoundMessage('transaction', 'tx-123');
|
|
19
|
-
* // "Transaction with identifier 'tx-123' not found"
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* Generate standardized authentication required error message
|
|
23
|
-
* @param requiredContexts - Array of required authentication contexts
|
|
24
|
-
* @param action - Optional action description (e.g., 'for redemption processing')
|
|
25
|
-
* @returns Standardized error message
|
|
26
|
-
*/
|
|
27
|
-
export function generateAuthRequiredMessage(requiredContexts, action) {
|
|
28
|
-
const contextMap = {
|
|
29
|
-
user: 'user',
|
|
30
|
-
business: 'business',
|
|
31
|
-
admin: 'admin',
|
|
32
|
-
tenant: 'tenant'
|
|
33
|
-
};
|
|
34
|
-
if (requiredContexts.length === 0) {
|
|
35
|
-
return `Authentication required${action ? ` ${action}` : ''}`;
|
|
36
|
-
}
|
|
37
|
-
if (requiredContexts.length === 1) {
|
|
38
|
-
return `${contextMap[requiredContexts[0]].charAt(0).toUpperCase() + contextMap[requiredContexts[0]].slice(1)} authentication required${action ? ` ${action}` : ''}`;
|
|
39
|
-
}
|
|
40
|
-
if (requiredContexts.length === 2) {
|
|
41
|
-
return `${contextMap[requiredContexts[0]].charAt(0).toUpperCase() + contextMap[requiredContexts[0]].slice(1)} or ${contextMap[requiredContexts[1]]} authentication required${action ? ` ${action}` : ''}`;
|
|
42
|
-
}
|
|
43
|
-
// For 3+ contexts, use comma separation with "or" before the last one
|
|
44
|
-
const lastContext = requiredContexts[requiredContexts.length - 1];
|
|
45
|
-
const otherContexts = requiredContexts.slice(0, -1);
|
|
46
|
-
const otherContextsStr = otherContexts.map(ctx => contextMap[ctx]).join(', ');
|
|
47
|
-
return `${otherContextsStr.charAt(0).toUpperCase() + otherContextsStr.slice(1)}, or ${contextMap[lastContext]} authentication required${action ? ` ${action}` : ''}`;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Generate standardized "not found" error message
|
|
51
|
-
* @param resourceType - Type of resource that was not found
|
|
52
|
-
* @param identifier - Optional identifier (ID, email, etc.)
|
|
53
|
-
* @returns Standardized not found message
|
|
54
|
-
*/
|
|
55
|
-
export function generateNotFoundMessage(resourceType, identifier) {
|
|
56
|
-
const resource = resourceType.charAt(0).toUpperCase() + resourceType.slice(1);
|
|
57
|
-
return identifier
|
|
58
|
-
? `${resource} with identifier '${identifier}' not found`
|
|
59
|
-
: `${resource} not found`;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Generate standardized "access denied" error message
|
|
63
|
-
* @param action - The action being attempted
|
|
64
|
-
* @param resource - Optional resource context
|
|
65
|
-
* @returns Standardized access denied message
|
|
66
|
-
*/
|
|
67
|
-
export function generateAccessDeniedMessage(action, resource) {
|
|
68
|
-
return resource
|
|
69
|
-
? `Access denied: cannot ${action} ${resource}`
|
|
70
|
-
: `Access denied: cannot ${action}`;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Generate standardized validation error message
|
|
74
|
-
* @param field - Field that failed validation
|
|
75
|
-
* @param constraint - The validation constraint
|
|
76
|
-
* @returns Standardized validation message
|
|
77
|
-
*/
|
|
78
|
-
export function generateValidationMessage(field, constraint) {
|
|
79
|
-
return `Validation failed for '${field}': ${constraint}`;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Generate standardized business rule violation message
|
|
83
|
-
* @param rule - The business rule that was violated
|
|
84
|
-
* @param context - Optional context information
|
|
85
|
-
* @returns Standardized business rule message
|
|
86
|
-
*/
|
|
87
|
-
export function generateBusinessRuleMessage(rule, context) {
|
|
88
|
-
return context
|
|
89
|
-
? `Business rule violation: ${rule} (${context})`
|
|
90
|
-
: `Business rule violation: ${rule}`;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Generate standardized database error message
|
|
94
|
-
* @param operation - The database operation that failed
|
|
95
|
-
* @param resourceType - Type of resource involved
|
|
96
|
-
* @param details - Optional error details
|
|
97
|
-
* @returns Standardized database error message
|
|
98
|
-
*/
|
|
99
|
-
export function generateDatabaseErrorMessage(operation, resourceType, details) {
|
|
100
|
-
const action = operation === 'find' ? 'retrieving' :
|
|
101
|
-
operation === 'save' ? 'saving' :
|
|
102
|
-
operation === 'delete' ? 'deleting' :
|
|
103
|
-
operation === 'update' ? 'updating' : 'querying';
|
|
104
|
-
const resource = resourceType.charAt(0).toUpperCase() + resourceType.slice(1);
|
|
105
|
-
const baseMessage = `Database error: failed ${action.toLowerCase()} ${resource.toLowerCase()}`;
|
|
106
|
-
return details ? `${baseMessage} - ${details}` : baseMessage;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Generate standardized input validation error message
|
|
110
|
-
* @param parameter - The parameter that failed validation
|
|
111
|
-
* @param requirement - What the parameter should meet
|
|
112
|
-
* @returns Standardized input validation message
|
|
113
|
-
*/
|
|
114
|
-
export function generateInputValidationMessage(parameter, requirement) {
|
|
115
|
-
return `Invalid input: ${parameter} ${requirement}`;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Generate standardized operation error message
|
|
119
|
-
* @param operation - The operation that was attempted
|
|
120
|
-
* @param reason - Why it failed
|
|
121
|
-
* @returns Standardized operation error message
|
|
122
|
-
*/
|
|
123
|
-
export function generateOperationErrorMessage(operation, reason) {
|
|
124
|
-
return `Operation failed: ${operation} - ${reason}`;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Common error message constants for quick access
|
|
128
|
-
*/
|
|
129
|
-
export const ERROR_MESSAGE_TEMPLATES = {
|
|
130
|
-
// Authentication patterns
|
|
131
|
-
AUTH: {
|
|
132
|
-
USER_ONLY: () => generateAuthRequiredMessage(['user']),
|
|
133
|
-
BUSINESS_ONLY: () => generateAuthRequiredMessage(['business']),
|
|
134
|
-
ADMIN_ONLY: () => generateAuthRequiredMessage(['admin']),
|
|
135
|
-
USER_OR_BUSINESS: () => generateAuthRequiredMessage(['user', 'business']),
|
|
136
|
-
USER_OR_ADMIN: () => generateAuthRequiredMessage(['user', 'admin']),
|
|
137
|
-
BUSINESS_OR_ADMIN: () => generateAuthRequiredMessage(['business', 'admin']),
|
|
138
|
-
USER_BUSINESS_OR_ADMIN: () => generateAuthRequiredMessage(['user', 'business', 'admin']),
|
|
139
|
-
ANY_AUTH: () => generateAuthRequiredMessage([]),
|
|
140
|
-
// With action context
|
|
141
|
-
FOR_REDEMPTION: () => generateAuthRequiredMessage(['user'], 'for redemption processing'),
|
|
142
|
-
FOR_TRANSACTION: () => generateAuthRequiredMessage(['user', 'business'], 'for transaction access'),
|
|
143
|
-
FOR_ADMIN_ACTION: () => generateAuthRequiredMessage(['admin'], 'for administrative actions'),
|
|
144
|
-
},
|
|
145
|
-
// Resource not found patterns
|
|
146
|
-
NOT_FOUND: {
|
|
147
|
-
USER: (id) => generateNotFoundMessage('user', id),
|
|
148
|
-
BUSINESS: (id) => generateNotFoundMessage('business', id),
|
|
149
|
-
ADMIN: (id) => generateNotFoundMessage('admin', id),
|
|
150
|
-
CAMPAIGN: (id) => generateNotFoundMessage('campaign', id),
|
|
151
|
-
TRANSACTION: (id) => generateNotFoundMessage('transaction', id),
|
|
152
|
-
REDEMPTION: (id) => generateNotFoundMessage('redemption', id),
|
|
153
|
-
WALLET: (id) => generateNotFoundMessage('wallet', id),
|
|
154
|
-
CONTRACT: (address) => generateNotFoundMessage('contract', address),
|
|
155
|
-
TENANT: (id) => generateNotFoundMessage('tenant', id),
|
|
156
|
-
TOKEN: (id) => generateNotFoundMessage('token', id),
|
|
157
|
-
SIGNING_ACCOUNT: (id) => generateNotFoundMessage('signing-account', id),
|
|
158
|
-
},
|
|
159
|
-
// Access control patterns
|
|
160
|
-
ACCESS_DENIED: {
|
|
161
|
-
VIEW_RESOURCE: (resource) => generateAccessDeniedMessage('view', resource),
|
|
162
|
-
MODIFY_RESOURCE: (resource) => generateAccessDeniedMessage('modify', resource),
|
|
163
|
-
DELETE_RESOURCE: (resource) => generateAccessDeniedMessage('delete', resource),
|
|
164
|
-
EXECUTE_ACTION: (action) => generateAccessDeniedMessage(action),
|
|
165
|
-
},
|
|
166
|
-
// Validation patterns
|
|
167
|
-
VALIDATION: {
|
|
168
|
-
REQUIRED_FIELD: (field) => generateValidationMessage(field, 'field is required'),
|
|
169
|
-
INVALID_FORMAT: (field, format) => generateValidationMessage(field, `invalid ${format} format`),
|
|
170
|
-
OUT_OF_RANGE: (field, min, max) => {
|
|
171
|
-
if (min !== undefined && max !== undefined) {
|
|
172
|
-
return generateValidationMessage(field, `value must be between ${min} and ${max}`);
|
|
173
|
-
}
|
|
174
|
-
else if (min !== undefined) {
|
|
175
|
-
return generateValidationMessage(field, `value must be at least ${min}`);
|
|
176
|
-
}
|
|
177
|
-
else if (max !== undefined) {
|
|
178
|
-
return generateValidationMessage(field, `value must be at most ${max}`);
|
|
179
|
-
}
|
|
180
|
-
return generateValidationMessage(field, 'value is out of range');
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
// Business rule patterns
|
|
184
|
-
BUSINESS_RULES: {
|
|
185
|
-
REDEMPTION_LIMIT_REACHED: () => generateBusinessRuleMessage('redemption limit reached'),
|
|
186
|
-
INSUFFICIENT_BALANCE: (required) => generateBusinessRuleMessage('insufficient balance', required ? `required: ${required}` : undefined),
|
|
187
|
-
GEOGRAPHIC_RESTRICTION: (location) => generateBusinessRuleMessage('geographic restriction', `not available in ${location}`),
|
|
188
|
-
STATUS_NOT_ALLOWED: (status, action) => generateBusinessRuleMessage(`status '${status}' not allowed for ${action}`),
|
|
189
|
-
},
|
|
190
|
-
// Database operation patterns
|
|
191
|
-
DATABASE: {
|
|
192
|
-
SAVE_FAILED: (resourceType, details) => generateDatabaseErrorMessage('save', resourceType, details),
|
|
193
|
-
FIND_FAILED: (resourceType, details) => generateDatabaseErrorMessage('find', resourceType, details),
|
|
194
|
-
DELETE_FAILED: (resourceType, details) => generateDatabaseErrorMessage('delete', resourceType, details),
|
|
195
|
-
UPDATE_FAILED: (resourceType, details) => generateDatabaseErrorMessage('update', resourceType, details),
|
|
196
|
-
QUERY_FAILED: (resourceType, details) => generateDatabaseErrorMessage('query', resourceType, details),
|
|
197
|
-
},
|
|
198
|
-
// Input validation patterns
|
|
199
|
-
INPUT_VALIDATION: {
|
|
200
|
-
REQUIRED: (param) => generateInputValidationMessage(param, 'is required'),
|
|
201
|
-
EMPTY: (param) => generateInputValidationMessage(param, 'cannot be empty'),
|
|
202
|
-
INVALID_FORMAT: (param, format) => generateInputValidationMessage(param, `must be valid ${format}`),
|
|
203
|
-
OUT_OF_RANGE: (param, range) => generateInputValidationMessage(param, `must be ${range}`),
|
|
204
|
-
INVALID_COMBINATION: (params) => generateInputValidationMessage(params, 'combination is not allowed'),
|
|
205
|
-
MISSING_FIELD: (param) => generateInputValidationMessage(param, 'field is missing'),
|
|
206
|
-
},
|
|
207
|
-
// Operation error patterns
|
|
208
|
-
OPERATIONS: {
|
|
209
|
-
TRANSACTION_FAILED: (reason) => generateOperationErrorMessage('transaction processing', reason),
|
|
210
|
-
SIGNATURE_FAILED: (reason) => generateOperationErrorMessage('signature verification', reason),
|
|
211
|
-
WALLET_OPERATION_FAILED: (reason) => generateOperationErrorMessage('wallet operation', reason),
|
|
212
|
-
CONTRACT_INTERACTION_FAILED: (reason) => generateOperationErrorMessage('contract interaction', reason),
|
|
213
|
-
DATA_PROCESSING_FAILED: (reason) => generateOperationErrorMessage('data processing', reason),
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
/**
|
|
217
|
-
* Database operation error helper function
|
|
218
|
-
* Creates appropriate errors for database operations using the centralized ErrorFactory
|
|
219
|
-
*/
|
|
220
|
-
export function DatabaseOperationError(operation, resourceType, details) {
|
|
221
|
-
const message = generateDatabaseErrorMessage(operation, resourceType, details);
|
|
222
|
-
// Using systemError as it's available in the current ErrorFactory
|
|
223
|
-
// TODO: Add dedicated databaseOperation method to ErrorFactory
|
|
224
|
-
throw new Error(message); // Temporary - will be replaced with proper ErrorFactory method
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Input validation error helper function
|
|
228
|
-
* Creates appropriate validation errors using the centralized ErrorFactory
|
|
229
|
-
*/
|
|
230
|
-
export function InputValidationError(field, requirement, providedValue) {
|
|
231
|
-
const message = generateInputValidationMessage(field, requirement);
|
|
232
|
-
// Using systemError as it's available in the current ErrorFactory
|
|
233
|
-
// TODO: Add dedicated inputValidation method to ErrorFactory
|
|
234
|
-
throw new Error(message); // Temporary - will be replaced with proper ErrorFactory method
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Operation failure error helper function
|
|
238
|
-
* Creates appropriate operation errors using the centralized ErrorFactory
|
|
239
|
-
*/
|
|
240
|
-
export function OperationFailureError(operation, reason, retryable = false) {
|
|
241
|
-
const message = generateOperationErrorMessage(operation, reason);
|
|
242
|
-
throw new Error(message); // Temporary - will be replaced with proper ErrorFactory method
|
|
243
|
-
}
|
|
244
|
-
//# sourceMappingURL=error-message.utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-message.utils.js","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/error-message.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAiBH;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACvC,gBAAyC,EACzC,MAAe;IAEf,MAAM,UAAU,GAA0C;QACtD,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;KACnB,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,0BAA0B,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACxK,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,2BAA2B,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9M,CAAC;IAED,sEAAsE;IACtE,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9E,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,WAAW,CAAC,2BAA2B,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzK,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAA0B,EAAE,UAAmB;IACnF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,UAAU;QACb,CAAC,CAAC,GAAG,QAAQ,qBAAqB,UAAU,aAAa;QACzD,CAAC,CAAC,GAAG,QAAQ,YAAY,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,EAAE,QAAiB;IACzE,OAAO,QAAQ;QACX,CAAC,CAAC,yBAAyB,MAAM,IAAI,QAAQ,EAAE;QAC/C,CAAC,CAAC,yBAAyB,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa,EAAE,UAAkB;IACvE,OAAO,0BAA0B,KAAK,MAAM,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,OAAgB;IACtE,OAAO,OAAO;QACV,CAAC,CAAC,4BAA4B,IAAI,KAAK,OAAO,GAAG;QACjD,CAAC,CAAC,4BAA4B,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CACxC,SAA4B,EAC5B,YAA0B,EAC1B,OAAgB;IAEhB,MAAM,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACtC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACrC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,0BAA0B,MAAM,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;IAE/F,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,SAAiB,EAAE,WAAmB;IACjF,OAAO,kBAAkB,SAAS,IAAI,WAAW,EAAE,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAiB,EAAE,MAAc;IAC3E,OAAO,qBAAqB,SAAS,MAAM,MAAM,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,0BAA0B;IAC1B,IAAI,EAAE;QACF,SAAS,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,aAAa,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,UAAU,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC;QACxD,gBAAgB,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzE,aAAa,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnE,iBAAiB,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3E,sBAAsB,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACxF,QAAQ,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAE/C,sBAAsB;QACtB,cAAc,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;QACxF,eAAe,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,wBAAwB,CAAC;QAClG,gBAAgB,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC;KAC/F;IAED,8BAA8B;IAC9B,SAAS,EAAE;QACP,IAAI,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1D,QAAQ,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClE,KAAK,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,QAAQ,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClE,WAAW,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,aAAa,EAAE,EAAE,CAAC;QACxE,UAAU,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,YAAY,EAAE,EAAE,CAAC;QACtE,MAAM,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC9D,QAAQ,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC;QAC5E,MAAM,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,eAAe,EAAE,CAAC,EAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,EAAE,CAAC;KACnF;IAED,0BAA0B;IAC1B,aAAa,EAAE;QACX,aAAa,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClF,eAAe,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACtF,eAAe,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACtF,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,2BAA2B,CAAC,MAAM,CAAC;KAC1E;IAED,sBAAsB;IACtB,UAAU,EAAE;QACR,cAAc,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACxF,cAAc,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,MAAM,SAAS,CAAC;QAC/G,YAAY,EAAE,CAAC,KAAa,EAAE,GAAY,EAAE,GAAY,EAAE,EAAE;YACxD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,yBAAyB,CAAC,KAAK,EAAE,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC7E,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,yBAAyB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QACrE,CAAC;KACJ;IAED,yBAAyB;IACzB,cAAc,EAAE;QACZ,wBAAwB,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,0BAA0B,CAAC;QACvF,oBAAoB,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChJ,sBAAsB,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,2BAA2B,CAAC,wBAAwB,EAAE,oBAAoB,QAAQ,EAAE,CAAC;QACnI,kBAAkB,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,2BAA2B,CAAC,WAAW,MAAM,qBAAqB,MAAM,EAAE,CAAC;KACtI;IAED,8BAA8B;IAC9B,QAAQ,EAAE;QACN,WAAW,EAAE,CAAC,YAA0B,EAAE,OAAgB,EAAE,EAAE,CAC1D,4BAA4B,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;QAC/D,WAAW,EAAE,CAAC,YAA0B,EAAE,OAAgB,EAAE,EAAE,CAC1D,4BAA4B,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;QAC/D,aAAa,EAAE,CAAC,YAA0B,EAAE,OAAgB,EAAE,EAAE,CAC5D,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;QACjE,aAAa,EAAE,CAAC,YAA0B,EAAE,OAAgB,EAAE,EAAE,CAC5D,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;QACjE,YAAY,EAAE,CAAC,YAA0B,EAAE,OAAgB,EAAE,EAAE,CAC3D,4BAA4B,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC;KACnE;IAED,4BAA4B;IAC5B,gBAAgB,EAAE;QACd,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,aAAa,CAAC;QACjF,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,iBAAiB,CAAC;QAClF,cAAc,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,iBAAiB,MAAM,EAAE,CAAC;QACnH,YAAY,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,WAAW,KAAK,EAAE,CAAC;QACzG,mBAAmB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,8BAA8B,CAAC,MAAM,EAAE,4BAA4B,CAAC;QAC7G,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,EAAE,kBAAkB,CAAC;KAC9F;IAED,2BAA2B;IAC3B,UAAU,EAAE;QACR,kBAAkB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,CAAC,wBAAwB,EAAE,MAAM,CAAC;QACvG,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,CAAC,wBAAwB,EAAE,MAAM,CAAC;QACrG,uBAAuB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACtG,2BAA2B,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,CAAC,sBAAsB,EAAE,MAAM,CAAC;QAC9G,sBAAsB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACvG;CACK,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAA4B,EAAE,YAA0B,EAAE,OAAgB;IAC7G,MAAM,OAAO,GAAG,4BAA4B,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/E,kEAAkE;IAClE,+DAA+D;IAC/D,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+DAA+D;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,WAAmB,EAAE,aAAmB;IACxF,MAAM,OAAO,GAAG,8BAA8B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACnE,kEAAkE;IAClE,+DAA+D;IAC/D,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+DAA+D;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAqB,KAAK;IAC/F,MAAM,OAAO,GAAG,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+DAA+D;AAC7F,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PERS Validation Utilities
|
|
3
|
-
*
|
|
4
|
-
* Centralized validation functions for consistent data validation
|
|
5
|
-
* across all PERS backend modules and domains.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Validates email format according to RFC standards
|
|
9
|
-
*
|
|
10
|
-
* Features:
|
|
11
|
-
* - RFC-compliant email regex pattern
|
|
12
|
-
* - RFC 5321 length limit enforcement (254 characters)
|
|
13
|
-
* - Performance optimized with length check first
|
|
14
|
-
* - DoS protection against extremely long strings
|
|
15
|
-
*
|
|
16
|
-
* @param email - Email address to validate
|
|
17
|
-
* @returns true if email is valid, false otherwise
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* isValidEmail('user@example.com'); // true
|
|
22
|
-
* isValidEmail('invalid-email'); // false
|
|
23
|
-
* isValidEmail('a'.repeat(300) + '@example.com'); // false (too long)
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export declare function isValidEmail(email: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Validates wallet address format
|
|
29
|
-
*
|
|
30
|
-
* @param address - Wallet address to validate
|
|
31
|
-
* @returns true if address format is valid
|
|
32
|
-
*/
|
|
33
|
-
export declare function isValidWalletAddress(address: string): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Validates that a string is not empty and meets minimum length requirements
|
|
36
|
-
*
|
|
37
|
-
* @param value - String to validate
|
|
38
|
-
* @param minLength - Minimum required length (default: 1)
|
|
39
|
-
* @returns true if string meets requirements
|
|
40
|
-
*/
|
|
41
|
-
export declare function isValidNonEmptyString(value: string, minLength?: number): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Validates UUID format (v4)
|
|
44
|
-
*
|
|
45
|
-
* @param uuid - UUID string to validate
|
|
46
|
-
* @returns true if UUID format is valid
|
|
47
|
-
*/
|
|
48
|
-
export declare function isValidUuid(uuid: string): boolean;
|
|
49
|
-
//# sourceMappingURL=validation.utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.utils.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/validation.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASnD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKjD"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PERS Validation Utilities
|
|
3
|
-
*
|
|
4
|
-
* Centralized validation functions for consistent data validation
|
|
5
|
-
* across all PERS backend modules and domains.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Validates email format according to RFC standards
|
|
9
|
-
*
|
|
10
|
-
* Features:
|
|
11
|
-
* - RFC-compliant email regex pattern
|
|
12
|
-
* - RFC 5321 length limit enforcement (254 characters)
|
|
13
|
-
* - Performance optimized with length check first
|
|
14
|
-
* - DoS protection against extremely long strings
|
|
15
|
-
*
|
|
16
|
-
* @param email - Email address to validate
|
|
17
|
-
* @returns true if email is valid, false otherwise
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* isValidEmail('user@example.com'); // true
|
|
22
|
-
* isValidEmail('invalid-email'); // false
|
|
23
|
-
* isValidEmail('a'.repeat(300) + '@example.com'); // false (too long)
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export function isValidEmail(email) {
|
|
27
|
-
// Quick length check first for performance and RFC 5321 compliance
|
|
28
|
-
if (!email || email.length > 254) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
// RFC-compliant email regex pattern
|
|
32
|
-
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
33
|
-
return emailRegex.test(email);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Validates wallet address format
|
|
37
|
-
*
|
|
38
|
-
* @param address - Wallet address to validate
|
|
39
|
-
* @returns true if address format is valid
|
|
40
|
-
*/
|
|
41
|
-
export function isValidWalletAddress(address) {
|
|
42
|
-
if (!address)
|
|
43
|
-
return false;
|
|
44
|
-
// Ethereum address format: 0x followed by 40 hexadecimal characters
|
|
45
|
-
const ethereumAddressRegex = /^0x[a-fA-F0-9]{40}$/;
|
|
46
|
-
return ethereumAddressRegex.test(address);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Validates that a string is not empty and meets minimum length requirements
|
|
50
|
-
*
|
|
51
|
-
* @param value - String to validate
|
|
52
|
-
* @param minLength - Minimum required length (default: 1)
|
|
53
|
-
* @returns true if string meets requirements
|
|
54
|
-
*/
|
|
55
|
-
export function isValidNonEmptyString(value, minLength = 1) {
|
|
56
|
-
return typeof value === 'string' && value.trim().length >= minLength;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Validates UUID format (v4)
|
|
60
|
-
*
|
|
61
|
-
* @param uuid - UUID string to validate
|
|
62
|
-
* @returns true if UUID format is valid
|
|
63
|
-
*/
|
|
64
|
-
export function isValidUuid(uuid) {
|
|
65
|
-
if (!uuid)
|
|
66
|
-
return false;
|
|
67
|
-
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
68
|
-
return uuidRegex.test(uuid);
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=validation.utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.utils.js","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/validation.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,mEAAmE;IACnE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,4BAA4B,CAAC;IAChD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,oEAAoE;IACpE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;IACnD,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,YAAoB,CAAC;IACxE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,SAAS,GAAG,wEAAwE,CAAC;IAC3F,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|