Skip to content

Commit

Permalink
Ability to add cursor pagination
Browse files Browse the repository at this point in the history
Extend model pagination with cursor pagination.

```
@apiResourceModel App\Models\User paginate=10,cursor
```
  • Loading branch information
fikri-kompanion authored Sep 23, 2023
1 parent ea52307 commit 9950958
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/Extracting/Shared/ApiResourceResponseTools.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Pagination\CursorPaginator;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Arr;
Expand Down Expand Up @@ -86,6 +87,10 @@ public static function getApiResourceOrCollectionInstance(
$perPage = $paginationStrategy[0];
$paginator = new Paginator($models, $perPage);
$list = $paginator;
} elseif (count($paginationStrategy) == 2 && $paginationStrategy[1] == 'cursor') {
$perPage = $paginationStrategy[0];
$paginator = new CursorPaginator($models, $perPage);
$list = $paginator;
} else {
$list = collect($models);
}
Expand Down

0 comments on commit 9950958

Please sign in to comment.