From 0085b06d2c81b36851a79a5f235fe9da96e30481 Mon Sep 17 00:00:00 2001 From: Gaurav Goel Date: Wed, 6 Nov 2024 15:10:05 +0530 Subject: [PATCH 1/3] feat: better error handling in swift instead using generic error. Signed-off-by: Gaurav Goel --- .../SingleFactorAuthFlutterPlugin.swift | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/ios/Classes/SingleFactorAuthFlutterPlugin.swift b/ios/Classes/SingleFactorAuthFlutterPlugin.swift index f7e5619..288e569 100644 --- a/ios/Classes/SingleFactorAuthFlutterPlugin.swift +++ b/ios/Classes/SingleFactorAuthFlutterPlugin.swift @@ -46,7 +46,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { case "init": let args = call.arguments as? String guard let data = args?.data(using: .utf8) else { - return result(throwKeyNotGeneratedError()) + return result(throwParamMissingError(param: args!)) } let params = try self.decoder.decode(InitParams.self, from: data) @@ -74,13 +74,17 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { let resultJson = String(decoding: resultData, as: UTF8.self) return result(resultJson) } catch { - result(throwKeyNotGeneratedError()) + result(FlutterError( + code: (error as NSError).domain, + message: error.localizedDescription, + details: nil + )) } case "connect": let args = call.arguments as? String guard let data = args?.data(using: .utf8) else { - return result(throwKeyNotGeneratedError()) + return result(throwParamMissingError(param: args!)) } let params = try self.decoder.decode(getTorusKeyParams.self, from: data) @@ -116,7 +120,11 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { let resultJson = String(decoding: resultData, as: UTF8.self) return result(resultJson) } catch { - result(throwKeyNotGeneratedError()) + result(FlutterError( + code: (error as NSError).domain, + message: error.localizedDescription, + details: nil + )) } break @@ -129,7 +137,11 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { return result(isSessionExists) } } catch { - result(throwKeyNotGeneratedError()) + result(FlutterError( + code: (error as NSError).domain, + message: error.localizedDescription, + details: nil + )) } break From fe7b877e7d3c8f64c9ad345a37e9f5605930e1cc Mon Sep 17 00:00:00 2001 From: Gaurav Goel Date: Thu, 7 Nov 2024 11:24:49 +0530 Subject: [PATCH 2/3] feat: better error handling in swift instead using generic error. Signed-off-by: Gaurav Goel --- ios/Classes/SingleFactorAuthFlutterPlugin.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ios/Classes/SingleFactorAuthFlutterPlugin.swift b/ios/Classes/SingleFactorAuthFlutterPlugin.swift index 288e569..6b72e17 100644 --- a/ios/Classes/SingleFactorAuthFlutterPlugin.swift +++ b/ios/Classes/SingleFactorAuthFlutterPlugin.swift @@ -77,7 +77,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { result(FlutterError( code: (error as NSError).domain, message: error.localizedDescription, - details: nil + details: String(describing: error) )) } @@ -123,7 +123,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { result(FlutterError( code: (error as NSError).domain, message: error.localizedDescription, - details: nil + details: String(describing: error) )) } break @@ -140,7 +140,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { result(FlutterError( code: (error as NSError).domain, message: error.localizedDescription, - details: nil + details: String(describing: error) )) } break From e1baafe9d9a61bf391dec19f0f182b3c8d1094f7 Mon Sep 17 00:00:00 2001 From: Gaurav Goel Date: Thu, 7 Nov 2024 11:54:16 +0530 Subject: [PATCH 3/3] feat: better error handling in swift instead using generic error. Signed-off-by: Gaurav Goel --- ios/Classes/SingleFactorAuthFlutterPlugin.swift | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/ios/Classes/SingleFactorAuthFlutterPlugin.swift b/ios/Classes/SingleFactorAuthFlutterPlugin.swift index 6b72e17..742fa99 100644 --- a/ios/Classes/SingleFactorAuthFlutterPlugin.swift +++ b/ios/Classes/SingleFactorAuthFlutterPlugin.swift @@ -46,7 +46,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { case "init": let args = call.arguments as? String guard let data = args?.data(using: .utf8) else { - return result(throwParamMissingError(param: args!)) + return result(throwParamMissingError(param: args)) } let params = try self.decoder.decode(InitParams.self, from: data) @@ -84,7 +84,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { case "connect": let args = call.arguments as? String guard let data = args?.data(using: .utf8) else { - return result(throwParamMissingError(param: args!)) + return result(throwParamMissingError(param: args)) } let params = try self.decoder.decode(getTorusKeyParams.self, from: data) @@ -151,13 +151,7 @@ public class SingleFactorAuthFlutterPlugin: NSObject, FlutterPlugin { } } - public func throwKeyNotGeneratedError() -> FlutterError { - return FlutterError( - code: "key_not_generated", message: "Key not generated", details: nil - ) - } - - public func throwParamMissingError(param: String) -> FlutterError { + public func throwParamMissingError(param: String?) -> FlutterError { return FlutterError( code: "missing_param", message: param, details: nil )