diff --git a/core/Controller/UnifiedSearchController.php b/core/Controller/UnifiedSearchController.php index 87aa84e1d91..5ae99c6a076 100644 --- a/core/Controller/UnifiedSearchController.php +++ b/core/Controller/UnifiedSearchController.php @@ -28,6 +28,7 @@ declare(strict_types=1); */ namespace OC\Core\Controller; +use InvalidArgumentException; use OC\Search\SearchComposer; use OC\Search\SearchQuery; use OCA\Core\ResponseDefinitions; @@ -111,7 +112,7 @@ class UnifiedSearchController extends OCSController { try { $filters = $this->composer->buildFilterList($providerId, $this->request->getParams()); - } catch (UnsupportedFilter $e) { + } catch (UnsupportedFilter|InvalidArgumentException $e) { return new DataResponse($e->getMessage(), Http::STATUS_BAD_REQUEST); } return new DataResponse( diff --git a/lib/private/Search/Filter/GroupFilter.php b/lib/private/Search/Filter/GroupFilter.php index 6b42492824c..f0b34a360ca 100644 --- a/lib/private/Search/Filter/GroupFilter.php +++ b/lib/private/Search/Filter/GroupFilter.php @@ -38,10 +38,11 @@ class GroupFilter implements IFilter { string $value, IGroupManager $groupManager, ) { - $this->group = $groupManager->get($value); - if ($this->group === null) { + $group = $groupManager->get($value); + if ($group === null) { throw new InvalidArgumentException('Group '.$value.' not found'); } + $this->group = $group; } public function get(): IGroup { diff --git a/lib/private/Search/Filter/UserFilter.php b/lib/private/Search/Filter/UserFilter.php index 1624b60d1a3..963d5e123ac 100644 --- a/lib/private/Search/Filter/UserFilter.php +++ b/lib/private/Search/Filter/UserFilter.php @@ -38,10 +38,11 @@ class UserFilter implements IFilter { string $value, IUserManager $userManager, ) { - $this->user = $userManager->get($value); - if ($this->user === null) { + $user = $userManager->get($value); + if ($user === null) { throw new InvalidArgumentException('User '.$value.' not found'); } + $this->user = $user; } public function get(): IUser {