Revert "Add a bit more typing to help future development and customizations."

This reverts commit 32ce244de551c437d8eef08edeb1fd1906036827.
This commit is contained in:
Pol Dellaiera 2021-06-30 08:33:11 +02:00
parent 401659748c
commit d50d3e0e4b
2 changed files with 18 additions and 16 deletions

View File

@ -10,7 +10,6 @@ use Chill\MainBundle\Pagination\PaginatorFactory;
use Chill\MainBundle\Pagination\PaginatorInterface; use Chill\MainBundle\Pagination\PaginatorInterface;
use Chill\MainBundle\Security\Authorization\AuthorizationHelper; use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
use Chill\MainBundle\CRUD\Resolver\Resolver; use Chill\MainBundle\CRUD\Resolver\Resolver;
use Doctrine\ORM\QueryBuilder;
use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Serializer\SerializerInterface;
use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Translation\TranslatorInterface;
@ -70,7 +69,7 @@ class AbstractCRUDController extends AbstractController
* @param Request $request * @param Request $request
* @return int * @return int
*/ */
protected function countEntities(string $action, Request $request, string $_format): int protected function countEntities(string $action, Request $request, $_format): int
{ {
return $this->buildQueryEntities($action, $request) return $this->buildQueryEntities($action, $request)
->select('COUNT(e)') ->select('COUNT(e)')
@ -90,23 +89,23 @@ class AbstractCRUDController extends AbstractController
* It returns, by default, a query builder. * It returns, by default, a query builder.
* *
*/ */
protected function queryEntities(string $action, Request $request, string $_format, PaginatorInterface $paginator): QueryBuilder protected function queryEntities(string $action, Request $request, string $_format, PaginatorInterface $paginator)
{ {
$queryBuilder = $this->buildQueryEntities($action, $request) $query = $this->buildQueryEntities($action, $request)
->setFirstResult($paginator->getCurrentPage()->getFirstItemNumber()) ->setFirstResult($paginator->getCurrentPage()->getFirstItemNumber())
->setMaxResults($paginator->getItemsPerPage()); ->setMaxResults($paginator->getItemsPerPage());
// allow to order queries and return the new query // allow to order queries and return the new query
return $this->orderQuery($action, $queryBuilder, $request, $paginator, $_format); return $this->orderQuery($action, $query, $request, $paginator, $_format);
} }
/** /**
* Add ordering fields in the query build by self::queryEntities * Add ordering fields in the query build by self::queryEntities
* *
*/ */
protected function orderQuery(string $action, QueryBuilder $queryBuilder, Request $request, PaginatorInterface $paginator, string $_format): QueryBuilder protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator, $_format)
{ {
return $queryBuilder; return $query;
} }
/** /**
@ -118,8 +117,12 @@ class AbstractCRUDController extends AbstractController
* can add some by using the method `customizeQuery`. * can add some by using the method `customizeQuery`.
* *
* The alias for the entity is "e". * The alias for the entity is "e".
*
* @param string $action
* @param Request $request
* @return QueryBuilder
*/ */
protected function buildQueryEntities(string $action, Request $request): QueryBuilder protected function buildQueryEntities(string $action, Request $request)
{ {
$qb = $this->getDoctrine()->getManager() $qb = $this->getDoctrine()->getManager()
->createQueryBuilder() ->createQueryBuilder()
@ -132,14 +135,14 @@ class AbstractCRUDController extends AbstractController
return $qb; return $qb;
} }
protected function customizeQuery(string $action, Request $request, QueryBuilder $queryBuilder): void {} protected function customizeQuery(string $action, Request $request, $query): void {}
/** /**
* Get the result of the query * Get the result of the query
*/ */
protected function getQueryResult(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, QueryBuilder $queryBuilder): array protected function getQueryResult(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, $query)
{ {
return $queryBuilder->getQuery()->getResult(); return $query->getQuery()->getResult();
} }
protected function onPreIndex(string $action, Request $request, string $_format): ?Response protected function onPreIndex(string $action, Request $request, string $_format): ?Response
@ -158,7 +161,7 @@ class AbstractCRUDController extends AbstractController
/** /**
* method used by indexAction * method used by indexAction
*/ */
protected function onPostIndexBuildQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, QueryBuilder $queryBuilder): ?Response protected function onPostIndexBuildQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, $query): ?Response
{ {
return null; return null;
} }
@ -166,7 +169,7 @@ class AbstractCRUDController extends AbstractController
/** /**
* method used by indexAction * method used by indexAction
*/ */
protected function onPostIndexFetchQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, array $entities): ?Response protected function onPostIndexFetchQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, $entities): ?Response
{ {
return null; return null;
} }
@ -185,7 +188,7 @@ class AbstractCRUDController extends AbstractController
/** /**
* called on post fetch entity * called on post fetch entity
*/ */
protected function onPostFetchEntity(string $action, Request $request, $entity, string $_format): ?Response protected function onPostFetchEntity(string $action, Request $request, $entity, $_format): ?Response
{ {
return null; return null;
} }

View File

@ -305,8 +305,7 @@ class ApiController extends AbstractCRUDController
if ($response instanceof Response) { if ($response instanceof Response) {
return $response; return $response;
} }
// TODO: $entity is never set before
if (!isset($entity)) { if (!isset($entity)) {
$entity = ''; $entity = '';
} }