Newer
Older
use App\Requests\{
SortPriceRequest,
SearchRequest,
UniqElementsRequest,
MenuRequest,
HowDaysToNyRequest,
CountFriday13Request,
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Attribute\Route;
class HomeController extends AbstractController
{
#[Route('/sortPrice', name: 'sortPrice', methods: ['POST'])]
public function sortPrice(SortPriceRequest $request): Response
$array = $this->functions->sortPrice($request->getRequest()->toArray()['items']);
#[Route('/search', name: 'search', methods: ['POST'])]
public function search(SearchRequest $request): Response
$requestData = $request->getRequest()->toArray();
$id = $request->getRequest()->get('id');
$result = $this->functions->search($requestData['items'], $id);
#[Route('/uniqElements', name: 'uniqElements', methods: ['POST'])]
public function uniqElements(UniqElementsRequest $request): Response
$result = $this->functions->uniqElements($request->getRequest()->toArray()['items']);
#[Route('/prepareMenu', name: 'prepareMenu', methods: ['POST'])]
public function prepareMenu(MenuRequest $request): Response
$result = $this->functions->prepareMenu($request->getRequest()->toArray()['items']);
#[Route('/howDaysToNy', name: 'howDaysToNy', methods: ['GET'])]
public function howDaysToNy(HowDaysToNyRequest $request): Response
$result = $this->functions->howDaysToNy(new DateTimeImmutable($date));
} catch (\Exception $e) {
return new Response($e->getMessage());
}
return $this->json(["Days before NY:" => $result]);
}
#[Route('/countFriday13', name: 'countFriday13', methods: ['GET'])]
public function countFriday13(CountFriday13Request $request): Response
$fridays = array();
try {
foreach ($this->functions->countFriday13($year) as $date) {
$fridays[] = $date->format("Y-m-d l");
}
} catch (\Exception $e) {
return new Response($e->getMessage());
#[Route('/diffDays', name: 'diffDays')] // 01-01-2024
try {
$result = $this->functions->diffDays(
new DateTimeImmutable($request->getRequest()->get('startDate')),
new DateTimeImmutable($request->getRequest()->get('endDate')),
);
return $this->json(["The difference of days:" => $result]);
} catch (\Exception $e) {
return new Response($e->getMessage());
$response = new JsonResponse($text);
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE);
return $response;
public function readFileLineByLine(Request $request): Response // text.txt
foreach ($this->functions->readFileLineByLine($file->getRealPath()) as $line) {
$response = new JsonResponse($text);
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE);
return $response;