From 74907497ba870345863ceec20e59de2d4ff81fd8 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Wed, 9 Jul 2025 17:50:45 +0200 Subject: [PATCH] fix issue with fft search --- PadelClubData/Utils/NetworkManagerError.swift | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/PadelClubData/Utils/NetworkManagerError.swift b/PadelClubData/Utils/NetworkManagerError.swift index eb91408..ae5a766 100644 --- a/PadelClubData/Utils/NetworkManagerError.swift +++ b/PadelClubData/Utils/NetworkManagerError.swift @@ -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)" } } }