login method

  1. @override
Future<void> login(
  1. String email,
  2. String password, {
  3. Map<String, dynamic>? returnUserData,
  4. AccountSignUpType accountSignUpType = AccountSignUpType.hycop,
})
override

Implementation

@override
Future<void> login(String email, String password,
    {Map<String, dynamic>? returnUserData,
    AccountSignUpType accountSignUpType = AccountSignUpType.hycop}) async {
  logger.info('loginByEmail($email, $password)');
  var getUserData = await HycopFactory.dataBase!
      .queryData('hycop_users',
          where: {
            'email': email,
            'password': password,
          },
          orderBy: 'name')
      .catchError((error, stackTrace) => throw HycopUtils.getHycopException(
          error: error,
          defaultMessage: 'not exist account(email:$email) (($error.toString))!!!'));
  if (getUserData.isEmpty) {
    logger.severe('getData error !!!');
    throw const HycopException(message: 'getData failed !!!');
  }
  for (var result in getUserData) {
    final type = AccountSignUpType.fromInt(int.parse(result['accountSignUpType'].toString()));
    if (type != accountSignUpType) {
      logger.severe('not [${accountSignUpType.name}] sign-up user !!!');
      throw HycopUtils.getHycopException(
          defaultMessage: 'not [${accountSignUpType.name}] sign-up user !!!');
    }
    if (result['isRemoved'] == true) {
      logger.severe('removed user !!!');
      throw HycopUtils.getHycopException(defaultMessage: 'removed user !!!');
    }
    returnUserData?.addAll(result);
    break;
  }
  logger.finest('loginByEmail success ($returnUserData)');
}