Skip to content
Snippets Groups Projects
Commit 2658577f authored by Адлан Шамавов's avatar Адлан Шамавов
Browse files

Merge branch 'PTPS_Controller_6' into PTPS_Controller_7

parents 6a9dd677 9448460d
No related branches found
No related tags found
1 merge request!7Ptps controller 7
......@@ -8,6 +8,8 @@ use App\Requests\{
SearchRequest,
UniqElementsRequest,
MenuRequest,
HowDaysToNyRequest,
CountFriday13Request,
DiffDaysRequest
};
use DateTimeImmutable;
......@@ -49,34 +51,22 @@ 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());
}
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) {
......@@ -88,7 +78,7 @@ class HomeController extends AbstractController
return $this->json($fridays);
}
#[Route('/diffDays/', name: 'diffDays')] // 01-01-2024
#[Route('/diffDays', name: 'diffDays')] // 01-01-2024
public function diffDays(DiffDaysRequest $request): Response
{
try {
......
<?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
<?php
namespace App\Requests;
use Symfony\Component\Validator\Constraints as Assert;
class HowDaysToNyRequest extends BaseRequest
{
#[Assert\Type('date')]
public $date;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment