diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index f8eec4a4e74800fcf02e706b8141a6b1162752c1..a1933a3664ce0fa2bf84ac70bd155c3940e249d7 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -7,7 +7,8 @@ use App\Requests\{ SortPriceRequest, SearchRequest, UniqElementsRequest, - MenuRequest + MenuRequest, + HowDaysToNyRequest }; use DateTimeImmutable; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -48,21 +49,12 @@ class HomeController extends AbstractController return $this->json($result); } - #[Route( - '/howDaysToNy/{day}/{month}/{year}', - name: 'howDaysToNy', - requirements: [ - 'day' => '(?<!-)(?<!\d)\d+', - 'month' => '(?<!-)(?<!\d)\d+', - 'year' => '(?<!-)(?<!\d)\d+' - ], - methods: ['GET'] - )] - public function howDaysToNy(int $day, int $month, int $year): Response + #[Route('/howDaysToNy', name: 'howDaysToNy', methods: ['GET'])] + public function howDaysToNy(HowDaysToNyRequest $request): Response { - $dateAsString = $year . "-" . $month . "-" . $day; + $date = $request->getRequest()->get('date'); try { - $result = $this->functions->howDaysToNy(new DateTimeImmutable($dateAsString)); + $result = $this->functions->howDaysToNy(new DateTimeImmutable($date)); } catch (\Exception $e) { return new Response($e->getMessage()); } diff --git a/src/Requests/HowDaysToNyRequest.php b/src/Requests/HowDaysToNyRequest.php new file mode 100644 index 0000000000000000000000000000000000000000..c786942ac2e6cf8c00e98738d45f4e13ed52b3bb --- /dev/null +++ b/src/Requests/HowDaysToNyRequest.php @@ -0,0 +1,11 @@ +<?php + +namespace App\Requests; + +use Symfony\Component\Validator\Constraints as Assert; + +class HowDaysToNyRequest extends BaseRequest +{ + #[Assert\Type('date')] + public $date; +}