import Foundation public enum ApiError: LocalizedError { case generic case message(String) case httpError(Int) case invalidLoginOrPassword public var errorDescription: String? { switch self { case .generic: return "Something bad happened" case .message(let message): return message case .httpError(let status): return "General http error (status \(status))" case .invalidLoginOrPassword: return "Invalid login or password" } } init(code: Int) { switch code { case 0: self = .invalidLoginOrPassword default: self = .generic } } }