summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2020-01-07 13:09:28 +0100
committerAndrej Mihajlov <and@mullvad.net>2020-01-08 15:02:46 +0100
commit03a2805c77f7055942ed8ad92cd750c1f199eeea (patch)
tree001326fd2be207a79f764d9093e9c6da1edebefd
parent501064962e47f84709675b49a9c392fbf73bf879 (diff)
downloadmullvadvpn-03a2805c77f7055942ed8ad92cd750c1f199eeea.tar.xz
mullvadvpn-03a2805c77f7055942ed8ad92cd750c1f199eeea.zip
Implement LocalizedError for JsonRpcResponseError
-rw-r--r--ios/MullvadVPN/MullvadAPI.swift29
1 files changed, 29 insertions, 0 deletions
diff --git a/ios/MullvadVPN/MullvadAPI.swift b/ios/MullvadVPN/MullvadAPI.swift
index be87728b7f..055b55e078 100644
--- a/ios/MullvadVPN/MullvadAPI.swift
+++ b/ios/MullvadVPN/MullvadAPI.swift
@@ -204,3 +204,32 @@ class MullvadAPI {
return decoder
}
}
+
+
+extension JsonRpcResponseError: LocalizedError
+ where
+ ResponseCode == MullvadAPI.ResponseCode
+{
+ var errorDescription: String? {
+ switch code {
+ case .accountDoesNotExist:
+ return NSLocalizedString("Invalid account", comment: "")
+
+ case .tooManyWireguardKeys:
+ return NSLocalizedString("Too many public WireGuard keys", comment: "")
+
+ case .other:
+ return nil
+ }
+ }
+
+ var recoverySuggestion: String? {
+ switch code {
+ case .tooManyWireguardKeys:
+ return NSLocalizedString("Remove unused WireGuard keys", comment: "")
+
+ default:
+ return nil
+ }
+ }
+}