verifyFirebaseUser method
Future<void>
verifyFirebaseUser()
Implementation
Future<void> verifyFirebaseUser() async {
try {
UserCredential userCredential = await getFirebaseUser();
UserData userData = UserData();
userData.id = appStore.userId;
userData.email = appStore.userEmail;
userData.firstName = appStore.userFirstName;
userData.lastName = appStore.userLastName;
userData.profileImage = appStore.userProfileImage;
userData.updatedAt = Timestamp.now().toDate().toString();
/// Check email exists in Firebase
/// If not exists, register user in Firebase,
/// If exists, login with Firebase
/// Redirect to Dashboard
/// add user data in Firestore
userData.uid = userCredential.user!.uid;
bool isUserExistWithUid = await userService.isUserExistWithUid(userCredential.user!.uid);
if (!isUserExistWithUid) {
userData.createdAt = Timestamp.now().toDate().toString();
await userService.addDocumentWithCustomId(userCredential.user!.uid, userData.toFirebaseJson());
} else {
/// Update user details in Firebase
await userService.updateDocument(userData.toFirebaseJson(), userCredential.user!.uid);
}
/// Update UID & Profile Image in Laravel DB
//updateProfile({'uid': userCredential.user!.uid});
await appStore.setUId(userCredential.user!.uid);
} catch (e) {
log('verifyFirebaseUser $e');
}
}