getAccounts method

  1. @override
Future<DataPage<AccountV1>> getAccounts(
  1. String? correlationId,
  2. FilterParams? filter,
  3. PagingParams? paging
)
override

Gets a page of accounts retrieved by a given filter.

  • correlationId (optional) transaction id to trace execution through call chain.
  • filter (optional) a filter function to filter items
  • paging (optional) paging parameters Return Future that receives a data page Throws error.

Implementation

@override
Future<DataPage<AccountV1>> getAccounts(
    String? correlationId, FilterParams? filter, PagingParams? paging) async {
  var filterCurl = _composeFilter(filter);
  var accounts = _accounts.where(filterCurl).toList();

  // Extract a page
  paging = paging ?? PagingParams();
  var skip = paging.getSkip(-1);
  var take = paging.getTake(_maxPageSize);

  var total = 0;
  if (paging.total) total = accounts.length;

  if (skip > 0) {
    accounts = accounts.skip(skip).toList();
  }
  accounts = accounts.take(take).toList();

  return DataPage(accounts, total);
}