165 lines
6.1 KiB
TypeScript
165 lines
6.1 KiB
TypeScript
/**
|
|
* Platform Service Error Codes
|
|
*
|
|
* This file contains all error codes used across the platform service.
|
|
*
|
|
* Format: PREFIX_ERROR_TYPE
|
|
* - PREFIX: Component/domain prefix (e.g., EMAIL, MTA, SMS)
|
|
* - ERROR_TYPE: Specific error type within the domain
|
|
*/
|
|
|
|
// General platform errors (PLATFORM_*)
|
|
export const PLATFORM_INITIALIZATION_ERROR = 'PLATFORM_INITIALIZATION_ERROR';
|
|
export const PLATFORM_CONFIGURATION_ERROR = 'PLATFORM_CONFIGURATION_ERROR';
|
|
export const PLATFORM_OPERATION_ERROR = 'PLATFORM_OPERATION_ERROR';
|
|
export const PLATFORM_NOT_IMPLEMENTED = 'PLATFORM_NOT_IMPLEMENTED';
|
|
export const PLATFORM_NOT_SUPPORTED = 'PLATFORM_NOT_SUPPORTED';
|
|
export const PLATFORM_SERVICE_UNAVAILABLE = 'PLATFORM_SERVICE_UNAVAILABLE';
|
|
|
|
// Email service errors (EMAIL_*)
|
|
export const EMAIL_SERVICE_ERROR = 'EMAIL_SERVICE_ERROR';
|
|
export const EMAIL_TEMPLATE_ERROR = 'EMAIL_TEMPLATE_ERROR';
|
|
export const EMAIL_VALIDATION_ERROR = 'EMAIL_VALIDATION_ERROR';
|
|
export const EMAIL_SEND_ERROR = 'EMAIL_SEND_ERROR';
|
|
export const EMAIL_RECEIVE_ERROR = 'EMAIL_RECEIVE_ERROR';
|
|
export const EMAIL_ATTACHMENT_ERROR = 'EMAIL_ATTACHMENT_ERROR';
|
|
export const EMAIL_PARSE_ERROR = 'EMAIL_PARSE_ERROR';
|
|
export const EMAIL_RATE_LIMIT_EXCEEDED = 'EMAIL_RATE_LIMIT_EXCEEDED';
|
|
|
|
// MTA-specific errors (MTA_*)
|
|
export const MTA_CONNECTION_ERROR = 'MTA_CONNECTION_ERROR';
|
|
export const MTA_AUTHENTICATION_ERROR = 'MTA_AUTHENTICATION_ERROR';
|
|
export const MTA_DELIVERY_ERROR = 'MTA_DELIVERY_ERROR';
|
|
export const MTA_CONFIGURATION_ERROR = 'MTA_CONFIGURATION_ERROR';
|
|
export const MTA_DNS_ERROR = 'MTA_DNS_ERROR';
|
|
export const MTA_TIMEOUT_ERROR = 'MTA_TIMEOUT_ERROR';
|
|
export const MTA_PROTOCOL_ERROR = 'MTA_PROTOCOL_ERROR';
|
|
|
|
// Bounce management errors (BOUNCE_*)
|
|
export const BOUNCE_PROCESSING_ERROR = 'BOUNCE_PROCESSING_ERROR';
|
|
export const BOUNCE_STORAGE_ERROR = 'BOUNCE_STORAGE_ERROR';
|
|
export const BOUNCE_CLASSIFICATION_ERROR = 'BOUNCE_CLASSIFICATION_ERROR';
|
|
|
|
// Email authentication errors (AUTH_*)
|
|
export const AUTH_SPF_ERROR = 'AUTH_SPF_ERROR';
|
|
export const AUTH_DKIM_ERROR = 'AUTH_DKIM_ERROR';
|
|
export const AUTH_DMARC_ERROR = 'AUTH_DMARC_ERROR';
|
|
export const AUTH_KEY_ERROR = 'AUTH_KEY_ERROR';
|
|
|
|
// Content scanning errors (SCAN_*)
|
|
export const SCAN_ANALYSIS_ERROR = 'SCAN_ANALYSIS_ERROR';
|
|
export const SCAN_MALWARE_DETECTED = 'SCAN_MALWARE_DETECTED';
|
|
export const SCAN_PHISHING_DETECTED = 'SCAN_PHISHING_DETECTED';
|
|
export const SCAN_CONTENT_REJECTED = 'SCAN_CONTENT_REJECTED';
|
|
|
|
// IP and reputation errors (REPUTATION_*)
|
|
export const REPUTATION_CHECK_ERROR = 'REPUTATION_CHECK_ERROR';
|
|
export const REPUTATION_DATA_ERROR = 'REPUTATION_DATA_ERROR';
|
|
export const REPUTATION_BLOCKLIST_ERROR = 'REPUTATION_BLOCKLIST_ERROR';
|
|
export const REPUTATION_UPDATE_ERROR = 'REPUTATION_UPDATE_ERROR';
|
|
|
|
// IP warmup errors (WARMUP_*)
|
|
export const WARMUP_ALLOCATION_ERROR = 'WARMUP_ALLOCATION_ERROR';
|
|
export const WARMUP_LIMIT_EXCEEDED = 'WARMUP_LIMIT_EXCEEDED';
|
|
export const WARMUP_SCHEDULE_ERROR = 'WARMUP_SCHEDULE_ERROR';
|
|
|
|
// Network and connectivity errors (NETWORK_*)
|
|
export const NETWORK_CONNECTION_ERROR = 'NETWORK_CONNECTION_ERROR';
|
|
export const NETWORK_TIMEOUT = 'NETWORK_TIMEOUT';
|
|
export const NETWORK_DNS_ERROR = 'NETWORK_DNS_ERROR';
|
|
export const NETWORK_TLS_ERROR = 'NETWORK_TLS_ERROR';
|
|
|
|
// Queue and processing errors (QUEUE_*)
|
|
export const QUEUE_FULL_ERROR = 'QUEUE_FULL_ERROR';
|
|
export const QUEUE_PROCESSING_ERROR = 'QUEUE_PROCESSING_ERROR';
|
|
export const QUEUE_PERSISTENCE_ERROR = 'QUEUE_PERSISTENCE_ERROR';
|
|
export const QUEUE_ITEM_NOT_FOUND = 'QUEUE_ITEM_NOT_FOUND';
|
|
|
|
// DcRouter errors (DCR_*)
|
|
export const DCR_ROUTING_ERROR = 'DCR_ROUTING_ERROR';
|
|
export const DCR_CONFIGURATION_ERROR = 'DCR_CONFIGURATION_ERROR';
|
|
export const DCR_PROXY_ERROR = 'DCR_PROXY_ERROR';
|
|
export const DCR_DOMAIN_ERROR = 'DCR_DOMAIN_ERROR';
|
|
|
|
// SMS service errors (SMS_*)
|
|
export const SMS_SERVICE_ERROR = 'SMS_SERVICE_ERROR';
|
|
export const SMS_SEND_ERROR = 'SMS_SEND_ERROR';
|
|
export const SMS_VALIDATION_ERROR = 'SMS_VALIDATION_ERROR';
|
|
export const SMS_RATE_LIMIT_EXCEEDED = 'SMS_RATE_LIMIT_EXCEEDED';
|
|
|
|
// Storage errors (STORAGE_*)
|
|
export const STORAGE_WRITE_ERROR = 'STORAGE_WRITE_ERROR';
|
|
export const STORAGE_READ_ERROR = 'STORAGE_READ_ERROR';
|
|
export const STORAGE_DELETE_ERROR = 'STORAGE_DELETE_ERROR';
|
|
export const STORAGE_QUOTA_EXCEEDED = 'STORAGE_QUOTA_EXCEEDED';
|
|
|
|
// Rule management errors (RULE_*)
|
|
export const RULE_VALIDATION_ERROR = 'RULE_VALIDATION_ERROR';
|
|
export const RULE_EXECUTION_ERROR = 'RULE_EXECUTION_ERROR';
|
|
export const RULE_NOT_FOUND = 'RULE_NOT_FOUND';
|
|
|
|
// Type definitions for error severity
|
|
export enum ErrorSeverity {
|
|
/** Critical errors that require immediate attention */
|
|
CRITICAL = 'CRITICAL',
|
|
|
|
/** High-impact errors that may affect service functioning */
|
|
HIGH = 'HIGH',
|
|
|
|
/** Medium-impact errors that cause partial degradation */
|
|
MEDIUM = 'MEDIUM',
|
|
|
|
/** Low-impact errors that have minimal or local impact */
|
|
LOW = 'LOW',
|
|
|
|
/** Informational errors that are not problematic */
|
|
INFO = 'INFO'
|
|
}
|
|
|
|
// Type definitions for error categories
|
|
export enum ErrorCategory {
|
|
/** Errors related to configuration */
|
|
CONFIGURATION = 'CONFIGURATION',
|
|
|
|
/** Errors related to network connectivity */
|
|
CONNECTIVITY = 'CONNECTIVITY',
|
|
|
|
/** Errors related to authentication/authorization */
|
|
AUTHENTICATION = 'AUTHENTICATION',
|
|
|
|
/** Errors related to data validation */
|
|
VALIDATION = 'VALIDATION',
|
|
|
|
/** Errors related to resource availability */
|
|
RESOURCE = 'RESOURCE',
|
|
|
|
/** Errors related to service operations */
|
|
OPERATION = 'OPERATION',
|
|
|
|
/** Errors related to third-party integrations */
|
|
INTEGRATION = 'INTEGRATION',
|
|
|
|
/** Errors related to security */
|
|
SECURITY = 'SECURITY',
|
|
|
|
/** Errors related to data storage */
|
|
STORAGE = 'STORAGE',
|
|
|
|
/** Errors that don't fit into other categories */
|
|
OTHER = 'OTHER'
|
|
}
|
|
|
|
// Type definitions for error recoverability
|
|
export enum ErrorRecoverability {
|
|
/** Error cannot be automatically recovered from */
|
|
NON_RECOVERABLE = 'NON_RECOVERABLE',
|
|
|
|
/** Error might be recoverable with retry */
|
|
MAYBE_RECOVERABLE = 'MAYBE_RECOVERABLE',
|
|
|
|
/** Error is definitely recoverable with retries */
|
|
RECOVERABLE = 'RECOVERABLE',
|
|
|
|
/** Error is transient and should resolve without action */
|
|
TRANSIENT = 'TRANSIENT'
|
|
} |