reloadUser method

  1. @override
Future<Either<AuthServiceSignInFailure, Unit>> reloadUser()
override

Reload user data to get latest email verification status

Implementation

@override
Future<Either<AuthServiceSignInFailure, Unit>> reloadUser() async {
  try {
    final user = _fbAuth.currentUser;
    if (user == null) {
      logw('reloadUser: No user logged in');
      return left(AuthServiceSignInFailure.userNotFound);
    }

    logd('reloadUser: Reloading user data');
    await user.reload();
    logd('reloadUser: User data reloaded, emailVerified=${_fbAuth.currentUser?.emailVerified}');

    return right(unit);
  } on fb_auth.FirebaseAuthException catch (e) {
    loge(e, 'reloadUser failed');
    return left(AuthServiceSignInFailure.unexpected);
  } catch (e) {
    loge(e, 'reloadUser failed');
    return left(AuthServiceSignInFailure.unexpected);
  }
}