fix cs and add EntityToIdTransformer

This commit is contained in:
2022-05-20 15:52:02 +02:00
parent dba0e84781
commit b6e0379583
14 changed files with 308 additions and 97 deletions

View File

@@ -15,13 +15,13 @@ use Chill\CalendarBundle\Repository\CalendarRangeRepository;
use Chill\MainBundle\CRUD\Controller\ApiController;
use Chill\MainBundle\Entity\User;
use Chill\MainBundle\Serializer\Model\Collection;
use DateTimeImmutable;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\Routing\Annotation\Route;
use function count;
use Symfony\Component\Routing\Annotation\Route;
class CalendarRangeAPIController extends ApiController
{
@@ -47,8 +47,10 @@ class CalendarRangeAPIController extends ApiController
throw new BadRequestHttpException('You must provide a dateFrom parameter');
}
if (false === $dateFrom = \DateTimeImmutable::createFromFormat(\DateTimeImmutable::ATOM,
$request->query->get('dateFrom'))) {
if (false === $dateFrom = DateTimeImmutable::createFromFormat(
DateTimeImmutable::ATOM,
$request->query->get('dateFrom')
)) {
throw new BadRequestHttpException('dateFrom not parsable');
}
@@ -56,15 +58,22 @@ class CalendarRangeAPIController extends ApiController
throw new BadRequestHttpException('You must provide a dateTo parameter');
}
if (false === $dateTo = \DateTimeImmutable::createFromFormat(\DateTimeImmutable::ATOM,
$request->query->get('dateTo'))) {
if (false === $dateTo = DateTimeImmutable::createFromFormat(
DateTimeImmutable::ATOM,
$request->query->get('dateTo')
)) {
throw new BadRequestHttpException('dateTo not parsable');
}
$total = $this->calendarRangeRepository->countByAvailableRangesForUser($user, $dateFrom, $dateTo);
$paginator = $this->getPaginatorFactory()->create($total);
$ranges = $this->calendarRangeRepository->findByAvailableRangesForUser($user, $dateFrom, $dateTo,
$paginator->getItemsPerPage(), $paginator->getCurrentPageFirstItemNumber());
$ranges = $this->calendarRangeRepository->findByAvailableRangesForUser(
$user,
$dateFrom,
$dateTo,
$paginator->getItemsPerPage(),
$paginator->getCurrentPageFirstItemNumber()
);
$collection = new Collection($ranges, $paginator);