all method

Get all Plans

@param params - Check doc for required params

Implementation

Future<RazorpayApiResponse<RazorpayPlan>> all({
  RazorpayPaginationOptions? params,
}) async {
  const url = BASE_URL;
  var from = params?.from;
  var to = params?.to;
  final count = params?.count ?? 10;
  final skip = params?.skip ?? 0;

  if (from != null) {
    from = normalizeDate(from);
  }
  if (to != null) {
    to = normalizeDate(to);
  }

  final queryParams = {
    'from': from,
    'to': to,
    'count': count,
    'skip': skip,
    ...?params?.toJson(),
  }..removeWhere((key, value) => value == null);

  return api.get<RazorpayApiResponse<RazorpayPlan>>(
    {
      'url': url,
      'data': queryParams,
    },
    fromJsonFactory: (json) => RazorpayApiResponse<RazorpayPlan>.fromJson(
      json,
      (itemJson) => RazorpayPlan.fromJson(itemJson! as Map<String, dynamic>),
    ),
  ).then((response) => response.data!);
}