all method

Future<Response<RazorpayWebhookListResponse>> all({
  1. RazorpayPaginationOptions? params,
  2. String? accountId,
  3. void callback(
    1. RazorpayApiException?,
    2. Response<RazorpayWebhookListResponse>?
    )?,
})

Fetch all webhooks

@param params - Pagination options. @param accountId - Optional: The unique identifier of the partner account.

Implementation

Future<Response<RazorpayWebhookListResponse>> all({
  RazorpayPaginationOptions? params,
  String? accountId,
  void Function(
    RazorpayApiException?,
    Response<RazorpayWebhookListResponse>?,
  )? callback,
}) async {
  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(),
  };
  queryParams.removeWhere((key, value) => value == null);

  Map<String, dynamic> payload;

  if (accountId != null && accountId.isNotEmpty) {
    payload = {
      'version': 'v2',
      'url': '$BASE_URL/$accountId$WEBHOOKS_BASE',
      'data': queryParams,
    };
  } else {
    payload = {
      'url': WEBHOOKS_BASE,
      'data': queryParams,
    };
  }

  return api.get<RazorpayWebhookListResponse>(
    payload,
    callback: callback,
    fromJsonFactory: RazorpayWebhookListResponse.fromJson,
  );
}