diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-04-02 12:49:16 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-04-10 10:46:01 +0100 |
| commit | 6ccdf4f0fd1b65a5d54259c969912382ce49629d (patch) | |
| tree | 05b5413ec6c06cec5ba59c24fd73dd2034ff1b74 /app/Services/DatatablesService.php | |
| parent | e2e7f6bfc3bed346c21ad436fd1055ed03e163c3 (diff) | |
| download | webtrees-6ccdf4f0fd1b65a5d54259c969912382ce49629d.tar.gz webtrees-6ccdf4f0fd1b65a5d54259c969912382ce49629d.tar.bz2 webtrees-6ccdf4f0fd1b65a5d54259c969912382ce49629d.zip | |
Convert requests, middleware and reponses to use PSR-7, PSR-15 and PSR-17
Diffstat (limited to 'app/Services/DatatablesService.php')
| -rw-r--r-- | app/Services/DatatablesService.php | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/app/Services/DatatablesService.php b/app/Services/DatatablesService.php index 7eb506a70e..7474682811 100644 --- a/app/Services/DatatablesService.php +++ b/app/Services/DatatablesService.php @@ -20,8 +20,8 @@ namespace Fisharebest\Webtrees\Services; use Closure; use Illuminate\Database\Capsule\Manager as DB; use Illuminate\Database\Query\Builder; -use Symfony\Component\HttpFoundation\JsonResponse; -use Symfony\Component\HttpFoundation\Request; +use Psr\Http\Message\ResponseInterface; +use Psr\Http\Message\ServerRequestInterface; /** * Paginate and search queries for datatables. @@ -33,21 +33,21 @@ class DatatablesService * * @link http://www.datatables.net/usage/server-side * - * @param Request $request Includes the datatables request parameters. - * @param Builder $query A query to fetch the unfiltered rows and columns. - * @param string[] $search_columns The names of searchable columns. - * @param string[] $sort_columns How to sort columns. - * @param Closure $callback Converts a row-object to an array-of-columns. + * @param ServerRequestInterface $request Includes the datatables request parameters. + * @param Builder $query A query to fetch the unfiltered rows and columns. + * @param string[] $search_columns The names of searchable columns. + * @param string[] $sort_columns How to sort columns. + * @param Closure $callback Converts a row-object to an array-of-columns. * - * @return JsonResponse + * @return ResponseInterface */ - public function handle(Request $request, Builder $query, array $search_columns, array $sort_columns, Closure $callback): JsonResponse + public function handle(ServerRequestInterface $request, Builder $query, array $search_columns, array $sort_columns, Closure $callback): ResponseInterface { - $search = $request->get('search', [])['value'] ?? ''; - $start = (int) $request->get('start'); - $length = (int) $request->get('length'); - $order = $request->get('order', []); - $draw = (int) $request->get('draw'); + $search = $request->getQueryParams()['search']['value'] ?? ''; + $start = (int) ($request->getQueryParams()['start'] ?? 0); + $length = (int) ($request->getQueryParams()['length'] ?? 0); + $order = $request->getQueryParams()['order'] ?? []; + $draw = (int) ($request->getQueryParams()['draw'] ?? 0); // Count unfiltered records $recordsTotal = (clone $query)->count(); @@ -89,7 +89,7 @@ class DatatablesService $data = $data->map($callback)->all(); - return new JsonResponse([ + return response([ 'draw' => $draw, 'recordsTotal' => $recordsTotal, 'recordsFiltered' => $recordsFiltered, |
