submitVerificationCode method

  1. @override
Future<Either<Failure, Unit>> submitVerificationCode(
  1. String code,
  2. AuthenticationData authData
)
override

Implementation

@override
Future<Either<Failure, Unit>> submitVerificationCode(
    String code, AuthenticationData authData) async {
  return wrapAndHandleHttpBaseRequest<Unit>(
    () {
      final body = config.submitVerificationCodeCustomRequestMapper?.call(code, authData) ??
          jsonEncode({
            "user_id": authData.id,
            "code": code,
          });

      if (config.submitVerificationCodeApiEndpoint == null) {
        throw Exception(
            "'submitVerificationCodeApiEndpoint' property is not defined in provided AccountBasicConfig");
      }

      final Uri uri = config.submitVerificationCodeApiEndpoint!(code, authData);

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