|
|
|
|
@ -16,13 +16,43 @@ public enum NetworkManagerError: LocalizedError { |
|
|
|
|
case messageNotSent //no network no error |
|
|
|
|
case fileNotModified |
|
|
|
|
case fileNotDownloaded(Int) |
|
|
|
|
|
|
|
|
|
case noDataReceived // New: If data is empty or nil |
|
|
|
|
case htmlDecodingFailed // New: If String(data: data, encoding: .utf8) fails |
|
|
|
|
case formBuildIdPrefixNotFound // New: If the prefix regex doesn't match |
|
|
|
|
case formBuildIdSuffixNotFound // New: If the suffix regex doesn't match |
|
|
|
|
case formBuildIdExtractionFailed // New: General parsing failure if other specific errors don't cover it |
|
|
|
|
case apiError(String) // ADDED: General API error with a descriptive message |
|
|
|
|
|
|
|
|
|
public var errorDescription: String? { |
|
|
|
|
switch self { |
|
|
|
|
case .maintenance: |
|
|
|
|
return "Le site de la FFT est en maintenance" |
|
|
|
|
default: |
|
|
|
|
return String(describing: self) |
|
|
|
|
return "Le site de la FFT est en maintenance." |
|
|
|
|
case .fileNotYetAvailable: |
|
|
|
|
return "Le fichier n'est pas encore disponible." |
|
|
|
|
case .mailFailed: |
|
|
|
|
return "L'envoi de l'e-mail a échoué." |
|
|
|
|
case .mailNotSent: |
|
|
|
|
return "L'e-mail n'a pas été envoyé (pas de réseau ou autre)." |
|
|
|
|
case .messageFailed: |
|
|
|
|
return "L'envoi du message a échoué." |
|
|
|
|
case .messageNotSent: |
|
|
|
|
return "Le message n'a pas été envoyé (pas de réseau ou autre)." |
|
|
|
|
case .fileNotModified: |
|
|
|
|
return "Le fichier n'a pas été modifié." |
|
|
|
|
case .fileNotDownloaded(let statusCode): |
|
|
|
|
return "Le fichier n'a pas pu être téléchargé. Code d'état : \(statusCode)." |
|
|
|
|
case .noDataReceived: |
|
|
|
|
return "Aucune donnée n'a été reçue du serveur." |
|
|
|
|
case .htmlDecodingFailed: |
|
|
|
|
return "Échec du décodage de la réponse HTML." |
|
|
|
|
case .formBuildIdPrefixNotFound: |
|
|
|
|
return "Impossible de trouver le début de l'ID du formulaire (form_build_id) dans la page." |
|
|
|
|
case .formBuildIdSuffixNotFound: |
|
|
|
|
return "Impossible de trouver la fin de l'ID du formulaire (form_build_id) dans la page." |
|
|
|
|
case .formBuildIdExtractionFailed: |
|
|
|
|
return "Échec général de l'extraction de l'ID du formulaire (form_build_id)." |
|
|
|
|
case .apiError(let message): |
|
|
|
|
return "Erreur API: \(message)" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|