fix(audit-log) : clamp page minimum a 1 dans AuditLogProvider
API Platform 4 valide deja `page >= 1` en amont (rejette en 400) avant que le provider ne soit appele. Le clamp `max(1, $page)` reste en place comme defense-in-depth si un futur upgrade ou une modification de configuration leve cette validation : garantit qu'aucune `page=0` ne produira de SQLSTATE[22023] OFFSET must not be negative.
This commit is contained in:
@@ -68,7 +68,11 @@ final readonly class AuditLogProvider implements ProviderInterface
|
||||
*/
|
||||
private function provideCollection(Operation $operation, array $context): DbalPaginator
|
||||
{
|
||||
$page = $this->pagination->getPage($context);
|
||||
// `page` brut peut etre <= 0 (parametre client) → OFFSET negatif → 500 PG
|
||||
// (`SQLSTATE[22023] OFFSET must not be negative`). API Platform clampe
|
||||
// `itemsPerPage` au max de la resource mais pas `page` ; on impose un
|
||||
// minimum a 1 cote provider.
|
||||
$page = max(1, $this->pagination->getPage($context));
|
||||
$itemsPerPage = $this->pagination->getLimit($operation, $context);
|
||||
$offset = ($page - 1) * $itemsPerPage;
|
||||
$filters = $this->extractFilters($context['filters'] ?? []);
|
||||
|
||||
Reference in New Issue
Block a user