// // CustomError.swift // Nextcloud Cookbook iOS Client // // Created by Vincent Meilinger on 13.09.23. // import Foundation import SwiftUI public enum NetworkError: UserAlert { case missingUrl case parametersNil case encodingFailed case decodingFailed case redirectionError case clientError(statusCode: Int) case serverError(statusCode: Int) case invalidRequest case unknownError case dataError var localizedTitle: LocalizedStringKey { switch self { case .missingUrl: "Missing URL." case .parametersNil: "Parameters are nil." case .encodingFailed: "Parameter encoding failed." case .decodingFailed: "Data decoding failed." case .redirectionError: "Redirection error" case .clientError(let code): "Client error: \(code)" case .serverError(let code): "Server error: \(code)" case .invalidRequest: "Invalid request" case .unknownError: "Unknown error" case .dataError: "Invalid data error." } } var localizedDescription: LocalizedStringKey { return self.localizedTitle } var alertButtons: [AlertButton] { return [.OK] } }