resetPassword method

  1. @override
Future<(String, String)> resetPassword(
  1. String email
)
override

Implementation

@override
Future<(String, String)> resetPassword(String email) async {
  logger.finest('resetPassword($email)');
  final getUserDataList = await HycopFactory.dataBase!
      .simpleQueryData('hycop_users', name: 'email', value: email, orderBy: 'name')
      .catchError((error, stackTrace) => throw HycopUtils.getHycopException(
          error: error, defaultMessage: 'not exist account(email:$email) !!!'));
  if (getUserDataList.isEmpty) {
    logger.severe('getData error !!!');
    throw const HycopException(message: 'getData failed !!!');
  }
  final getUserData = getUserDataList[0]; // exist only-one
  final userModel = UserModel(userData: getUserData);
  if (userModel.accountSignUpType != AccountSignUpType.hycop) {
    // not hycop-user-account ==> return empty-string
    return ('', '');
  }
  Account account = Account(AbsDatabase.awDBConn!);
  await account
      .createRecovery(email: email, url: 'http://localhost/#/resetPasswordConfirm')
      .catchError((error, stackTrace) => throw HycopUtils.getHycopException(
          error: error, defaultMessage: 'createRecovery failed !!!'));
  return (email, '');
}