<?php
declare(strict_types=1);
namespace Slivki\Controller\Tire;
use Slivki\Message\Query\OnlineOrder\Tire\GetTiresByOfferQuery;
use Slivki\Messenger\Query\QueryBusInterface;
use Slivki\Util\CommonUtil;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
final class GetTiresByOfferAction extends AbstractController
{
private QueryBusInterface $queryBus;
public function __construct(QueryBusInterface $queryBus)
{
$this->queryBus = $queryBus;
}
/**
* @Route("/online-zapis/{offerId}",
* requirements={"offerId"="\d+"},
* name="tires_by_offer_get",
* methods={"GET"},
* ),
*/
public function __invoke(int $offerId, Request $request): Response
{
return $this->render(
CommonUtil::isMobileDevice($request)
? 'Slivki/mobile/tire/tires_by_offer.html.twig'
: 'Slivki/tire/tires_by_offer.html.twig',
$this->queryBus->handle(new GetTiresByOfferQuery($offerId))->jsonSerialize(),
);
}
}