register method

  1. @override
Future<AuthResult<UserModel>> register(
  1. RegisterCredentials credentials
)
override

Implementation

@override
Future<AuthResult<UserModel>> register(RegisterCredentials credentials) async {
  try {
    fb.UserCredential credential;
    if (credentials.method == AuthMethod.email) {
      credential = await _auth.createUserWithEmailAndPassword(
        email: credentials.email!,
        password: credentials.password,
      );
    } else {
      credential = await _auth.createUserWithEmailAndPassword(
        email: '', // phone registration via Firebase typically uses phone auth provider
        password: credentials.password,
      );
    }
    return AuthResult.success(_mapFirebaseUser(credential.user!));
  } on fb.FirebaseAuthException catch (e) {
    return AuthResult.failure(AuthException.fromFirebase(e));
  }
}