signInByBiometric method
Implementation
Future<Response> signInByBiometric() async {
emit(state.copy(isLoading: true));
final response = await handler.signInWithBiometric();
if (response.isSuccessful) {
final userResponse = await userHandler.get(uid, fromCache: true);
final user = userResponse.data;
if (userResponse.isSuccessful && user is UserEntity) {
final email = user.email;
final password = user.password;
final loginResponse = await handler.signInWithEmailNPassword(
email: email,
password: password,
);
if (loginResponse.isSuccessful) {
emit(state.copy(
isLoggedIn: true,
firebaseUser: loginResponse.data?.user,
user: user,
));
} else {
emit(state.copy(error: loginResponse.message));
}
return loginResponse;
} else {
emit(state.copy(error: userResponse.message));
}
return userResponse;
} else {
emit(state.copy(error: response.message));
}
return response;
}