createUser method
Future<void>
createUser(
)
override
Implementation
@override
Future<void> createUser() async {
AppConfig.logger.d("User to create ${user.name}");
AppUser newUser = user;
setNewProfileInfo();
newUser.profiles = [_newProfile];
newUser.userRole = UserRole.subscriber;
try {
if(newUser.name.isEmpty) newUser.name = _newProfile.name;
newUser.createdDate = DateTime.now().millisecondsSinceEpoch;
if(await userFirestore.insert(newUser)) {
_isNewUser = false;
String profileId = await ProfileFirestore().insert(newUser.id, newUser.profiles.first);
if(profileId.isNotEmpty) {
newUser.profiles.first.id = profileId;
newUser.currentProfileId = profileId;
userFirestore.updateCurrentProfile(newUser.id, profileId);
profile = newUser.profiles.first;
user = newUser;
AppHiveController().writeProfileInfo();
Get.offAllNamed(AppRouteConstants.home);
} else {
userFirestore.remove(newUser.id);
Get.snackbar(
CoreConstants.errorCreatingAccount.tr,
'',
snackPosition: SnackPosition.bottom,
);
Get.offAllNamed(AppRouteConstants.login);
}
} else {
Get.snackbar(
CoreConstants.errorCreatingAccount.tr,
'',
snackPosition: SnackPosition.bottom,
);
Get.offAllNamed(AppRouteConstants.login);
}
} catch (e) {
Get.snackbar(
CoreConstants.errorCreatingAccount.tr,
e.toString(),
snackPosition: SnackPosition.bottom,
);
}
}