diff --git a/src/Action/Search/SearchDataAction.php b/src/Action/Search/SearchDataAction.php index 782d963a8b6d52c2fb5458c4b8bbc6851d8ad059..7520685cf14a49646f972147e26f0b57c29ad7a1 100644 --- a/src/Action/Search/SearchDataAction.php +++ b/src/Action/Search/SearchDataAction.php @@ -114,15 +114,6 @@ final class SearchDataAction )->withStatus(404); } - $queryParams = $request->getQueryParams(); - if (!array_key_exists('c', $queryParams)) { - return $this->dispatchHttpError( - $response, - 'Invalid request', - 'Param c is required for this request' - )->withStatus(400); - } - $queryParams = $request->getQueryParams(); if (!array_key_exists('a', $queryParams)) { return $this->dispatchHttpError( @@ -138,9 +129,11 @@ final class SearchDataAction $queryBuilder = $connection->createQueryBuilder(); $anisQueryBuilder = $this->aqbf->create($queryBuilder, $dataset); - $anisQueryBuilder - ->select(explode(';', $queryParams['a'])) - ->where(explode(';', $queryParams['c'])); + $anisQueryBuilder->select(explode(';', $queryParams['a'])); + + if (array_key_exists('c', $queryParams)) { + $anisQueryBuilder->where(explode(';', $queryParams['c'])); + } if (array_key_exists('o', $queryParams)) { $anisQueryBuilder->order(explode(';', $queryParams['o'])); diff --git a/src/Action/Search/SearchMetaAction.php b/src/Action/Search/SearchMetaAction.php index d5b3a279329525daae45de2d4e41d1c9e4129157..165be4718ee72c32c71954c4425e2860ca4fee84 100644 --- a/src/Action/Search/SearchMetaAction.php +++ b/src/Action/Search/SearchMetaAction.php @@ -114,16 +114,7 @@ final class SearchMetaAction 'Dataset with id ' . $args['dname'] . ' is not found' )->withStatus(404); } - - $queryParams = $request->getQueryParams(); - if (!array_key_exists('c', $queryParams)) { - return $this->dispatchHttpError( - $response, - 'Invalid request', - 'Param c is required for this request' - )->withStatus(400); - } - + $queryParams = $request->getQueryParams(); if (!array_key_exists('a', $queryParams)) { return $this->dispatchHttpError( @@ -149,9 +140,11 @@ final class SearchMetaAction $queryBuilder = $connection->createQueryBuilder(); $anisQueryBuilder = $this->aqbf->create($queryBuilder, $dataset); - $anisQueryBuilder - ->count() - ->where(explode(';', $queryParams['c'])); + $anisQueryBuilder->count(); + + if (array_key_exists('c', $queryParams)) { + $anisQueryBuilder->where(explode(';', $queryParams['c'])); + } $this->logger->info('SQL: ' . $anisQueryBuilder->getSQL());