/** * 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' }