AutoCat2/AutoCatCore/Utils/ApiError.swift

41 lines
915 B
Swift

import Foundation
public enum ApiError: LocalizedError, Equatable {
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
}
}
public func code() -> Int? {
switch self {
case .invalidLoginOrPassword:
return 0
default:
return nil
}
}
}