From 2219163a05a0dcae695fb92ebb04b2b85e30d53a Mon Sep 17 00:00:00 2001 From: Hans Kokx Date: Fri, 20 Sep 2024 15:37:36 +0200 Subject: [PATCH] Updated auth interface example Signed-off-by: Hans Kokx --- .../auth/amplify_cognito_interface.dart | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/interfaces/auth/amplify_cognito_interface.dart b/interfaces/auth/amplify_cognito_interface.dart index 1347ad5..310effc 100644 --- a/interfaces/auth/amplify_cognito_interface.dart +++ b/interfaces/auth/amplify_cognito_interface.dart @@ -3,6 +3,8 @@ import "package:amplify_flutter/amplify_flutter.dart"; import "package:arcane_framework/arcane_framework.dart"; import "package:flutter/widgets.dart"; +typedef LoginInput = ({String email, String password}); + class AmplifyInterface implements ArcaneAuthInterface { AmplifyInterface._internal(); @@ -56,20 +58,19 @@ class AmplifyInterface implements ArcaneAuthInterface { } @override - Future> login({ - T? input, + Future> login({ + LoginInput? input, Future Function()? onLoggedIn, - }) => - throw UnimplementedError(); - - @override - Future> loginWithEmailAndPassword({ - required String email, - required String password, }) async { final bool alreadyLoggedIn = await isSignedIn; if (alreadyLoggedIn) return Result.ok(null); + if (input == null) return Result.error("No input provided"); + + final credentials = input as ({String email, String password}); + + final String email = credentials.email; + final String password = credentials.password; try { final CognitoSignInResult result = await _cognito.signIn( @@ -84,6 +85,13 @@ class AmplifyInterface implements ArcaneAuthInterface { } } + @override + Future> loginWithEmailAndPassword({ + required String email, + required String password, + }) async => + throw UnimplementedError(); + Future> _handleSignInResult( SignInResult result, String email,