loginByEmail method

Future<UserCredential> loginByEmail({
  1. required String email,
  2. required String password,
})

Implementation

Future<UserCredential> loginByEmail({
  required String email,
  required String password,
}) async {
  try {
    final response = await firebaseAuth.signInWithEmailAndPassword(
      email: email,
      password: password,
    );
    await analytics.logLogin(loginMethod: 'email');

    secureStorage.write('userID', response.user!.uid);
    return response;
  } on FirebaseAuthException catch (e) {
    crashlytics.recordError(
      e,
      StackTrace.current,
      reason: 'Auth/loginByEmail',
    );

    throw FirebaseFailure(e.message!);
  } catch (e) {
    crashlytics.recordError(
      e,
      StackTrace.current,
      reason: 'Auth/loginByEmail',
    );

    throw FirebaseFailure(e.toString());
  }
}