signInWithEmail method

  1. @override
Future<Either<AuthServiceSignInFailure, Unit>> signInWithEmail(
  1. String email
)
override

Implementation

@override
Future<Either<AuthServiceSignInFailure, Unit>> signInWithEmail(String email) async {
  try {
    // Save the email for later
    // GetStorage().write(Constants.boxKeyUserSignInWithLinkEmail, email);
    // Send the email
    await _fbAuth.sendSignInLinkToEmail(
      email: email,
      actionCodeSettings: _createActionCodeSettings(),
    );
    // For UI
    await Future.delayed(const Duration(seconds: 1));
    return right(unit);
  } on fb_auth.FirebaseAuthException catch (e) {
    switch (e.code) {
      case 'invalid-email':
        return left(AuthServiceSignInFailure.invalidEmail);
      default:
        return left(AuthServiceSignInFailure.unexpected);
    }
  } catch (e) {
    loge(e);
    return left(AuthServiceSignInFailure.unexpected);
  }
}