resetPasswordByEmailCode static method

Future<AuthResult> resetPasswordByEmailCode(
  1. String email,
  2. String passCode,
  3. String password, [
  4. String? passwordEncryptType,
])

reset password by email and an email code.

Implementation

static Future<AuthResult> resetPasswordByEmailCode(
    String email, String passCode, String password,
    [String? passwordEncryptType]) async {
  Map map = {};
  map.putIfAbsent('email', () => email);
  map.putIfAbsent('passCode', () => passCode);
  var body = {'verifyMethod': 'EMAIL_PASSCODE', 'emailPassCodePayload': map};
  final Result tokenResult =
      await post('/api/v3/verify-reset-password-request', jsonEncode(body));
  if (tokenResult.statusCode == 200) {
    var resultBody = {
      'passwordResetToken': tokenResult.data['passwordResetToken'],
      'password': Util.encrypt(password, encryptType: passwordEncryptType)
    };
    final Result result =
        await post('/api/v3/reset-password', jsonEncode(resultBody));
    AuthResult authResult = AuthResult(result);
    return authResult;
  } else {
    return AuthResult(tokenResult);
  }
}