getFullList method

Future<List<M>> getFullList({
  1. int batch = 500,
  2. String? expand,
  3. String? filter,
  4. String? sort,
  5. String? fields,
  6. Map<String, dynamic> query = const {},
  7. Map<String, String> headers = const {},
})

Returns a list with all items batch fetched at once.

Implementation

Future<List<M>> getFullList({
  int batch = 500,
  String? expand,
  String? filter,
  String? sort,
  String? fields,
  Map<String, dynamic> query = const {},
  Map<String, String> headers = const {},
}) {
  final result = <M>[];

  Future<List<M>> request(int page) async {
    return getList(
      skipTotal: true,
      page: page,
      perPage: batch,
      filter: filter,
      sort: sort,
      fields: fields,
      expand: expand,
      query: query,
      headers: headers,
    ).then((list) {
      result.addAll(list.items);

      if (list.items.length == list.perPage) {
        return request(page + 1);
      }

      return result;
    });
  }

  return request(1);
}