getList method

Future<ResultList<M>> getList({
  1. int page = 1,
  2. int perPage = 30,
  3. bool skipTotal = false,
  4. String? expand,
  5. String? filter,
  6. String? sort,
  7. String? fields,
  8. Map<String, dynamic> query = const {},
  9. Map<String, String> headers = const {},
})

Returns paginated items list.

Implementation

Future<ResultList<M>> getList({
  int page = 1,
  int perPage = 30,
  bool skipTotal = false,
  String? expand,
  String? filter,
  String? sort,
  String? fields,
  Map<String, dynamic> query = const {},
  Map<String, String> headers = const {},
}) {
  final enrichedQuery = Map<String, dynamic>.of(query);
  enrichedQuery["page"] = page;
  enrichedQuery["perPage"] = perPage;
  enrichedQuery["filter"] ??= filter;
  enrichedQuery["sort"] ??= sort;
  enrichedQuery["expand"] ??= expand;
  enrichedQuery["fields"] ??= fields;
  enrichedQuery["skipTotal"] ??= skipTotal;

  return client
      .send(
    baseCrudPath,
    query: enrichedQuery,
    headers: headers,
  )
      .then((data) {
    return ResultList<M>.fromJson(
      data as Map<String, dynamic>? ?? {},
      itemFactoryFunc,
    );
  });
}