signUpWithFacebook method
Future<void>
signUpWithFacebook(
{ - dynamic onSuccess(
- String
)?,
- dynamic onError(
- dynamic
)?,
})
Implementation
Future<void> signUpWithFacebook({
final Function(String)? onSuccess,
final Function(dynamic)? onError,
}) async {
try {
final _account = await _facebookSignIn.login();
if (_account.status != LoginStatus.success)
throw Exception('${_account.status}');
final _accessToken = _account.accessToken;
if (_accessToken == null) throw Exception('Access Token is null');
final _cred = FacebookAuthProvider.credential(_accessToken.token);
final _result = await _auth.signInWithCredential(_cred);
final _user = _result.user;
if (_user != null) {
final _userRef = PeamanReferenceHelper.usersCol.doc(_user.uid);
final _userSnap = await _userRef.get();
final _registered = _userSnap.exists;
if (!_registered) {
final _appUser = PeamanUser(
uid: _user.uid,
email: _user.email,
createdAt: _user.metadata.creationTime?.millisecondsSinceEpoch,
);
await AppUserProvider().createUser(user: _appUser);
}
print('Success: Signing up with facebook');
onSuccess?.call(_user.uid);
}
} catch (e) {
print(e);
print('Error!!!: Signing up with facebook');
onError?.call(e);
}
}