paginate method

  1. @override
Future<PaginatedResult<T>> paginate({
  1. int? page = 1,
  2. int? perPage = 15,
})
override

Returns a paginated result.

Implementation

@override
Future<PaginatedResult<T>> paginate({
  int? page = 1,
  int? perPage = 15,
}) async {
  final p = page ?? 1;
  final pp = perPage ?? 15;

  final total = await count();
  final lastPage = (total / pp).ceil();

  final results = await forPage(p, pp).get();

  return PaginatedResult(
    data: results,
    total: total,
    perPage: pp,
    currentPage: p,
    lastPage: lastPage,
  );
}