Files

25 lines
837 B
Swift

import Foundation
import Security
/// 仅包含错误类别与系统状态码,不携带服务器资料或路径。
enum ServerLibraryFailure: Equatable {
case authorization(OSStatus)
case keyUnavailable
case authenticationFailed
case unsupportedVersion
case malformedFile
case storage
init(_ error: Error) {
switch error {
case CredentialKeyStoreError.keychainStatus(let status): self = .authorization(status)
case ServerLibraryError.keyUnavailable: self = .keyUnavailable
case ServerLibraryError.authenticationFailed: self = .authenticationFailed
case ServerLibraryError.unsupportedVersion: self = .unsupportedVersion
case ServerLibraryError.malformedFile: self = .malformedFile
case CatalogFileStore.PersistenceError.corrupt: self = .malformedFile
default: self = .storage
}
}
}