59 lines
1.3 KiB
Swift
59 lines
1.3 KiB
Swift
//
|
|
// 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]
|
|
}
|
|
}
|
|
|
|
|