Merge pull request #67 from MrPetovan/task/31-add-limit-to-search
Add page size parameter to search
This commit is contained in:
commit
a1921c999d
|
@ -11,14 +11,16 @@ Redirects to the base URL of a random server with open registration policy and a
|
|||
## Search
|
||||
|
||||
```
|
||||
GET /search[/account_type]?q=...
|
||||
GET /search[/account_type]?q=...[&page=...][&limit=...]
|
||||
Accept: application/json
|
||||
```
|
||||
|
||||
Parameters:
|
||||
URI Parameter:
|
||||
- `account_type` (optional): An arbitrary account type string. Expected values are `all`, `people`, `news`, `organization` and `forum`. Default is `all`.
|
||||
Query parameters:
|
||||
- `q`: The search query.
|
||||
- `account_type` (optional): An arbitrary account type string. Currently supported are `all`, `people` and `forum`. Default is `all`.
|
||||
- `page` (optional): The page number, default is 1.
|
||||
- `limit` (optional): The page size, default is 20, max is 100.
|
||||
|
||||
Returns a JSON structure containing a paginated list profiles matching the search query and the optional account type.
|
||||
|
||||
|
|
|
@ -37,7 +37,9 @@ class Search
|
|||
|
||||
public function render(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args): \Slim\Http\Response
|
||||
{
|
||||
$pager = new Pager($this->l10n, $request, 20);
|
||||
$limit = min(100, filter_input(INPUT_GET, 'limit', FILTER_SANITIZE_NUMBER_INT) ?: 20);
|
||||
|
||||
$pager = new Pager($this->l10n, $request, $limit);
|
||||
|
||||
$originalQuery = $query = filter_input(INPUT_GET, 'q');
|
||||
|
||||
|
|
|
@ -47,7 +47,9 @@ class Search extends BaseController
|
|||
|
||||
public function render(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args): array
|
||||
{
|
||||
$pager = new Pager($this->l10n, $request, 20);
|
||||
$limit = min(100, filter_input(INPUT_GET, 'limit', FILTER_SANITIZE_NUMBER_INT) ?: 20);
|
||||
|
||||
$pager = new Pager($this->l10n, $request, $limit);
|
||||
|
||||
$originalQuery = $query = $request->getParam('q', '');
|
||||
$field = $request->getParam('field', '');
|
||||
|
|
Loading…
Reference in a new issue