accountSignUp method
Future<void>
accountSignUp({
- required String username,
- required String eMail,
- required String password,
- required String repeatPassword,
- required AccountType accountType,
Account SignUp
Implementation
Future<void> accountSignUp({
required String username,
required String eMail,
required String password,
required String repeatPassword,
required AccountType accountType,
}) async {
await _handleAccountOperation(
operationName: 'Sign Up',
successMessage:
'A verification code was send to $eMail!',
closeOverlaysOnSuccess: true,
authOperation: () async {
await FirebaseAuth.instance
.createUserWithEmailAndPassword(
email: eMail,
password: password,
);
await FirebaseAuth.instance.currentUser!
.updateDisplayName(username);
await FirebaseAuth.instance.currentUser!
.sendEmailVerification();
await FirebaseFirestore.instance
.collection('users')
.doc(FirebaseAuth.instance.currentUser!.uid)
.set({
'name': username,
'id': FirebaseAuth.instance.currentUser!.uid,
'accountType': accountTypeToString(
accountType,
),
'verified': false,
'email': eMail,
'emailVerified': false,
'imageUrl': '',
'about': '',
});
initializeUserStream();
//TODO: What if Account creation Succeeds, but not the name, and also not the deletion?
// await FirebaseAuth.instance.currentUser!.delete();
},
);
}