From 80f586c7afb3811a3d45b60d281094a106691df1 Mon Sep 17 00:00:00 2001 From: "a.shamavov" <a.shamavov@iqdev.digital> Date: Tue, 16 Apr 2024 11:23:09 +0500 Subject: [PATCH] fix --- src/Controller/HomeController.php | 12 +++++------- src/Requests/CountFriday13Request.php | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 src/Requests/CountFriday13Request.php diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index 6421688..7e8f7ec 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -7,7 +7,8 @@ use App\Requests\{ SortPriceRequest, SearchRequest, UniqElementsRequest, - MenuRequest + MenuRequest, + CountFriday13Request }; use DateTimeImmutable; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -69,13 +70,10 @@ class HomeController extends AbstractController return $this->json(["Days before NY:" => $result]); } - #[Route( - '/countFriday13/{year}', - name: 'countFriday13', - requirements: ['year' => '(?<!-)(?<!\d)\d+'], - methods: ['GET'])] - public function countFriday13(int $year): Response + #[Route('/countFriday13', name: 'countFriday13', methods: ['GET'])] + public function countFriday13(CountFriday13Request $request): Response { + $year = $request->getRequest()->get('year'); $fridays = array(); try { foreach ($this->functions->countFriday13($year) as $date) { diff --git a/src/Requests/CountFriday13Request.php b/src/Requests/CountFriday13Request.php new file mode 100644 index 0000000..e34f1b8 --- /dev/null +++ b/src/Requests/CountFriday13Request.php @@ -0,0 +1,21 @@ +<?php + +namespace App\Requests; + +use Symfony\Component\Validator\Constraints as Assert; + +class CountFriday13Request extends BaseRequest +{ + #[Assert\Type('int')] + #[Assert\Positive] + public int $year; + + protected function populate(): void + { + foreach ($this->getRequest()->query->all() as $property => $value) { + if (property_exists($this, $property)) { + $this->{$property} = $value; + } + } + } +} \ No newline at end of file -- GitLab