From f777abdeb14f6736fb2205cb4116d50f6c1a5957 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 21 Jul 2020 06:30:37 +0200 Subject: [PATCH] Add limit to object groups #3150 --- .../V1/Controllers/Autocomplete/ObjectGroupController.php | 3 +-- app/Repositories/ObjectGroup/ObjectGroupRepository.php | 5 +++-- .../ObjectGroup/ObjectGroupRepositoryInterface.php | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php b/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php index 586110d8d1..5a21efd2db 100644 --- a/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php +++ b/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php @@ -57,7 +57,6 @@ class ObjectGroupController extends Controller } /** - * TODO add limit * @param AutocompleteRequest $request * * @return JsonResponse @@ -66,7 +65,7 @@ class ObjectGroupController extends Controller { $data = $request->getData(); $return = []; - $result = $this->repository->search($data['query']); + $result = $this->repository->search($data['query'], $data['limit']); /** @var ObjectGroup $account */ foreach ($result as $objectGroup) { diff --git a/app/Repositories/ObjectGroup/ObjectGroupRepository.php b/app/Repositories/ObjectGroup/ObjectGroupRepository.php index 2f71683a36..763bfc3ba9 100644 --- a/app/Repositories/ObjectGroup/ObjectGroupRepository.php +++ b/app/Repositories/ObjectGroup/ObjectGroupRepository.php @@ -61,10 +61,11 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface /** * @param string $query + * @param int $limit * * @return Collection */ - public function search(string $query): Collection + public function search(string $query, int $limit): Collection { $dbQuery = $this->user->objectGroups()->orderBy('order', 'ASC')->orderBy('title', 'ASC'); if ('' !== $query) { @@ -77,7 +78,7 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface } - return $dbQuery->get(['object_groups.*']); + return $dbQuery->take($limit)->get(['object_groups.*']); } /** diff --git a/app/Repositories/ObjectGroup/ObjectGroupRepositoryInterface.php b/app/Repositories/ObjectGroup/ObjectGroupRepositoryInterface.php index 7e63681c98..0a8d8b2763 100644 --- a/app/Repositories/ObjectGroup/ObjectGroupRepositoryInterface.php +++ b/app/Repositories/ObjectGroup/ObjectGroupRepositoryInterface.php @@ -39,10 +39,11 @@ interface ObjectGroupRepositoryInterface /** * @param string $query + * @param int $limit * * @return Collection */ - public function search(string $query): Collection; + public function search(string $query, int $limit): Collection; /** * Delete empty ones.