removeAccount method
Future<void>
removeAccount(
)
override
Implementation
@override
Future<void> removeAccount() async {
AppConfig.logger.d("removeAccount method Started");
try {
if(user.id.isNotEmpty && user.profiles.isNotEmpty) {
for (var prof in user.profiles) {
await ProfileFirestore().remove(userId: user.id, profileId: prof.id);
}
await userFirestore.remove(user.id);
}
final loginServiceImpl = Get.find<LoginService>();
fba.AuthCredential? authCredential;
if(loginServiceImpl.getAuthCredentials() == null) {
await loginServiceImpl.setAuthCredentials();
}
authCredential = loginServiceImpl.getAuthCredentials();
if(authCredential != null) {
await loginServiceImpl.deleteFbaUser(authCredential);
clear();
} else {
AppConfig.logger.e("AuthCredentials to reauthenticate were null");
Get.offAndToNamed(AppRouteConstants.login);
}
} catch (e) {
Get.snackbar(
CoreConstants.errorSigningOut.tr,
e.toString(),
snackPosition: SnackPosition.bottom,
);
Get.toNamed(AppRouteConstants.logout);
}
AppConfig.logger.i("removeAccount method Finished");
update();
}