Added per page pagination config

This commit is contained in:
Constantin Graf
2024-04-26 15:14:28 +02:00
parent 1efd661d96
commit c25276b9a8
9 changed files with 37 additions and 9 deletions

View File

@@ -40,7 +40,7 @@ class ClientController extends Controller
$clients = Client::query()
->whereBelongsTo($organization, 'organization')
->orderBy('created_at', 'desc')
->paginate();
->paginate(config('app.pagination_per_page_default'));
return new ClientCollection($clients);
}

View File

@@ -40,7 +40,7 @@ class InvitationController extends Controller
$this->checkPermission($organization, 'invitations:view');
$invitations = $organization->teamInvitations()
->paginate();
->paginate(config('app.pagination_per_page_default'));
return InvitationCollection::make($invitations);
}

View File

@@ -45,7 +45,7 @@ class MemberController extends Controller
$this->checkPermission($organization, 'members:view');
$members = $organization->users()
->paginate();
->paginate(config('app.pagination_per_page_default'));
return MemberCollection::make($members);
}

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace App\Http\Controllers\Api\V1;
use App\Exceptions\Api\EntityStillInUseApiException;
use App\Http\Requests\V1\Project\ProjectIndexRequest;
use App\Http\Requests\V1\Project\ProjectStoreRequest;
use App\Http\Requests\V1\Project\ProjectUpdateRequest;
use App\Http\Resources\V1\Project\ProjectCollection;
@@ -38,7 +39,7 @@ class ProjectController extends Controller
*
* @operationId getProjects
*/
public function index(Organization $organization): ProjectCollection
public function index(Organization $organization, ProjectIndexRequest $request): ProjectCollection
{
$this->checkPermission($organization, 'projects:view');
$canViewAllProjects = $this->hasPermission($organization, 'projects:view:all');
@@ -52,7 +53,7 @@ class ProjectController extends Controller
$projectsQuery->visibleByUser($user);
}
$projects = $projectsQuery->paginate();
$projects = $projectsQuery->paginate(config('app.pagination_per_page_default'));
return new ProjectCollection($projects);
}

View File

@@ -46,7 +46,7 @@ class ProjectMemberController extends Controller
$projectMembers = ProjectMember::query()
->whereBelongsTo($project, 'project')
->paginate();
->paginate(config('app.pagination_per_page_default'));
return new ProjectMemberCollection($projectMembers);
}

View File

@@ -41,7 +41,7 @@ class TagController extends Controller
$tags = Tag::query()
->whereBelongsTo($organization, 'organization')
->orderBy('created_at', 'desc')
->paginate();
->paginate(config('app.pagination_per_page_default'));
return new TagCollection($tags);
}

View File

@@ -62,7 +62,7 @@ class TaskController extends Controller
});
}
$tasks = $query->paginate();
$tasks = $query->paginate(config('app.pagination_per_page_default'));
return new TaskCollection($tasks);
}

View File

@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace App\Http\Requests\V1\Project;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ProjectIndexRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array<string, array<string|ValidationRule>>
*/
public function rules(): array
{
return [
'page' => [
'integer',
'min:1',
],
];
}
}

View File

@@ -115,6 +115,8 @@ return [
'faker_locale' => 'en_US',
'pagination_per_page_default' => (int) env('PAGINATION_PER_PAGE_DEFAULT', 15),
/*
|--------------------------------------------------------------------------
| Encryption Key
@@ -191,5 +193,4 @@ return [
'aliases' => Facade::defaultAliases()->merge([
// 'Example' => App\Facades\Example::class,
])->toArray(),
];