Initial commit

This commit is contained in:
2026-09-03 12:21:17 +02:00
commit 6d40da0410
155 changed files with 21554 additions and 0 deletions
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Controllers\Concerns;
use Illuminate\Http\Request;
/**
* Wspólne wyznaczanie parametrów sortowania list (nagłówki <x-sortable-th>).
* Kontroler udostępnia whitelistę kolumn przez stałą self::SORTABLE
* (klucz nagłówka => kolumna SQL). Zapobiega wstrzyknięciu dowolnej kolumny
* do ORDER BY - bierzemy tylko klucze z whitelisty.
*/
trait SortsLists
{
/**
* @return array{0: ?string, 1: string} [klucz sortowania lub null, kierunek 'asc'|'desc']
*/
protected function sortParams(Request $request): array
{
$sort = $request->query('sort');
$dir = $request->query('dir') === 'desc' ? 'desc' : 'asc';
if (! is_string($sort) || ! array_key_exists($sort, static::SORTABLE)) {
return [null, $dir];
}
return [$sort, $dir];
}
}