-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathNativeAppTemplateAPIError.swift
More file actions
49 lines (45 loc) · 1.66 KB
/
Copy pathNativeAppTemplateAPIError.swift
File metadata and controls
49 lines (45 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
// NativeAppTemplateAPIError.swift
// NativeAppTemplate
//
import Foundation
enum NativeAppTemplateAPIError: CodedError {
case requestFailed(Error?, Int, String?)
case processingError(Error?)
case responseMissingRequiredMeta(field: String?)
case responseHasIncorrectNumberOfElements
case noData
nonisolated var errorCode: String {
switch self {
case .requestFailed:
"NATIVEAPPTEMPLATE-2001"
case .processingError:
"NATIVEAPPTEMPLATE-2002"
case .responseMissingRequiredMeta:
"NATIVEAPPTEMPLATE-2003"
case .responseHasIncorrectNumberOfElements:
"NATIVEAPPTEMPLATE-2004"
case .noData:
"NATIVEAPPTEMPLATE-2005"
}
}
nonisolated var errorDescription: String? {
switch self {
case let .requestFailed(error, statusCode, message):
if let message {
"\(message) [Status: \(statusCode)]"
} else {
"NativeAppTemplateAPIError::RequestFailed" +
"[Status: \(statusCode) | Error: \(error?.localizedDescription ?? "UNKNOWN")]"
}
case let .processingError(error):
"NativeAppTemplateAPIError::ProcessingError[Error: \(error?.localizedDescription ?? "UNKNOWN")]"
case let .responseMissingRequiredMeta(field: field):
"NativeAppTemplateAPIError::ResponseMissingRequiredMeta[Field: \(field ?? "UNKNOWN")]"
case .responseHasIncorrectNumberOfElements:
"NativeAppTemplateAPIError::ResponseHasIncorrectNumberOfElements"
case .noData:
"NativeAppTemplateAPIError::NoData"
}
}
}