diff --git a/particle-auth-core/ios/Classes/ParticleAuthCorePlugin.swift b/particle-auth-core/ios/Classes/ParticleAuthCorePlugin.swift index a7b54b59..f56c47c2 100644 --- a/particle-auth-core/ios/Classes/ParticleAuthCorePlugin.swift +++ b/particle-auth-core/ios/Classes/ParticleAuthCorePlugin.swift @@ -19,12 +19,12 @@ public class ParticleAuthCorePlugin: NSObject, FlutterPlugin { public enum Method: String { case initialize case connect + case getUserInfo case disconnect case isConnected - case getUserInfo - case switchChain case evmGetAddress case solanaGetAddress + case switchChain } public static func register(with registrar: FlutterPluginRegistrar) { @@ -114,10 +114,24 @@ public extension ParticleAuthCorePlugin { } } - func isConnected(flutterResult: @escaping FlutterResult) { + func getUserInfo(flutterResult: @escaping FlutterResult) { + guard let userInfo = auth.getUserInfo() else { + flutterResult(FlutterError(code: "", message: "user is not login", details: nil)) + return + } + + let userInfoJsonString = userInfo.jsonStringFullSnake() + let newUserInfo = JSON(parseJSON: userInfoJsonString) + + let data = try! JSONEncoder().encode(newUserInfo) + let json = String(data: data, encoding: .utf8) + flutterResult(json ?? "") + } + + func disconnect(flutterResult: @escaping FlutterResult) { Task { do { - let result = try await auth.isConnected() + let result = try await auth.disconnect() flutterResult(result) } catch { print(error) @@ -125,11 +139,11 @@ public extension ParticleAuthCorePlugin { } } } - - func disconnect(flutterResult: @escaping FlutterResult) { + + func isConnected(flutterResult: @escaping FlutterResult) { Task { do { - let result = try await auth.disconnect() + let result = try await auth.isConnected() flutterResult(result) } catch { print(error) @@ -138,20 +152,6 @@ public extension ParticleAuthCorePlugin { } } - func getUserInfo(flutterResult: @escaping FlutterResult) { - guard let userInfo = auth.getUserInfo() else { - flutterResult(FlutterError(code: "", message: "user is not login", details: nil)) - return - } - - let userInfoJsonString = userInfo.jsonStringFullSnake() - let newUserInfo = JSON(parseJSON: userInfoJsonString) - - let data = try! JSONEncoder().encode(newUserInfo) - let json = String(data: data, encoding: .utf8) - flutterResult(json ?? "") - } - func switchChain(_ json: Int?, flutterResult: @escaping FlutterResult) { let chainId = json ?? 0 Task { diff --git a/particle-auth-core/lib/particle_auth_core.dart b/particle-auth-core/lib/particle_auth_core.dart index 36c4c1f0..6fb19900 100644 --- a/particle-auth-core/lib/particle_auth_core.dart +++ b/particle-auth-core/lib/particle_auth_core.dart @@ -9,7 +9,7 @@ class ParticleAuthCore { static const MethodChannel _channel = MethodChannel('auth_core_bridge'); - /// Init particle-auth-core SDK + // Init particle-auth-core SDK static Future init(ChainInfo chainInfo, Env env) async { if (Platform.isIOS) { await _channel.invokeMethod('initialize', jsonEncode({'chain_name': chainInfo.name, 'chain_id': chainInfo.id, 'env': env.name})); @@ -18,38 +18,38 @@ class ParticleAuthCore { } } - /// connect + // Login static Future connect(String jwt) async { return await _channel.invokeMethod('connect', jwt); } - /// disconnect + // Get user info + static Future getUserInfo() async { + return await _channel.invokeMethod('getUserInfo'); + } + + // Logout static Future disconnect() async { return await _channel.invokeMethod('disconnect'); } - /// isConnected + // Is User Logged In static Future isConnected() async { return await _channel.invokeMethod('isConnected'); } - /// Get userinfo - static Future getUserInfo() async { - return await _channel.invokeMethod('getUserInfo'); - } - - /// switchChain - static Future switchChain(int chainId) async { - return await _channel.invokeMethod('switchChain', chainId); - } - - /// evmGetAddress + // Get Wallet Evm Address static Future evmGetAddress() async { return await _channel.invokeMethod('evmGetAddress'); } - /// solanaGetAddress + // Get Wallet Solana Address static Future solanaGetAddress() async { return await _channel.invokeMethod('solanaGetAddress'); } + + // Switch ChainInfo + static Future switchChain(int chainId) async { + return await _channel.invokeMethod('switchChain', chainId); + } }