requestEmailChange method

  1. @override
Future<Either<Failure, Unit>> requestEmailChange(
  1. String email,
  2. AuthenticationData data, {
  3. Map<String, dynamic>? additionalParams,
})
override

Implementation

@override
Future<Either<Failure, Unit>> requestEmailChange(String email, AuthenticationData data,
    {Map<String, dynamic>? additionalParams}) async {
  return wrapAndHandleHttpBaseRequest<Unit>(
    () {
      final body = config.requestEmailChangeCustomRequestMapper?.call(
            email,
            data,
            additionalParams,
          ) ??
          jsonEncode({
            "email": email,
            ...(additionalParams ?? {}),
          });

      final Uri uri = config.requestEmailChangeApiEndpoint!(data);

      final method = config.submitChangeEmailApiMethod ?? "POST";

      logger.d("requesting email change at: $uri ");

      return http.Request(method, uri)..body = body;
    },
    onResponse: (response, left, right) {
      config.submitChangeEmailCustomResponseParser?.call(
        response,
      );
      return right(unit);
    },
  );
}