From 8c2793dd7d360a153b098c0605c74ece1421792a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Agneray?= Date: Tue, 14 May 2019 14:04:06 +0200 Subject: [PATCH] #23 => done --- src/Action/Search/SearchDataAction.php | 17 +++++------------ src/Action/Search/SearchMetaAction.php | 19 ++++++------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/Action/Search/SearchDataAction.php b/src/Action/Search/SearchDataAction.php index 782d963..7520685 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 d5b3a27..165be47 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()); -- GitLab