sendEmailVerification method
Send email verification to current user
Implementation
@override
Future<Either<AuthServiceEmailVerificationFailure, Unit>> sendEmailVerification() async {
try {
final user = _fbAuth.currentUser;
if (user == null) {
logw('sendEmailVerification: No user logged in');
return left(AuthServiceEmailVerificationFailure.userNotLoggedIn);
}
logd('sendEmailVerification: Sending verification email to ${user.email}');
await user.sendEmailVerification();
logd('sendEmailVerification: Email sent successfully');
return right(unit);
} on fb_auth.FirebaseAuthException catch (e) {
loge(e, 'sendEmailVerification failed');
if (e.code == 'too-many-requests') {
return left(AuthServiceEmailVerificationFailure.tooManyRequests);
}
return left(AuthServiceEmailVerificationFailure.unexpected);
} catch (e) {
loge(e, 'sendEmailVerification failed');
return left(AuthServiceEmailVerificationFailure.unexpected);
}
}