src/Controller/Gift/GetGiftCertificateAction.php line 28

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Slivki\Controller\Gift;
  4. use Slivki\Enum\SwitcherFeatures;
  5. use Slivki\Paginator\Gift\GiftCertificatePaginatorInterface;
  6. use Slivki\Services\Switcher\ServerFeatureStateChecker;
  7. use Slivki\Util\CommonUtil;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. final class GetGiftCertificateAction extends AbstractController
  13. {
  14.     private ServerFeatureStateChecker $serverFeatureStateChecker;
  15.     public function __construct(ServerFeatureStateChecker $serverFeatureStateChecker)
  16.     {
  17.         $this->serverFeatureStateChecker $serverFeatureStateChecker;
  18.     }
  19.     /**
  20.      * @Route("/gift", name="gift_index", methods={"GET"})
  21.      */
  22.     public function __invoke(Request $request): Response
  23.     {
  24.         if (!$this->serverFeatureStateChecker->isServerFeatureEnabled(SwitcherFeatures::GIFTS())) {
  25.             return new Response(''Response::HTTP_NOT_FOUND);
  26.         }
  27.         $view CommonUtil::isMobileDevice($request)
  28.             ? 'Slivki/mobile/orderAsGift/index_certificate_all.html.twig'
  29.             'Slivki/orderAsGift/index_certificate_all.html.twig';
  30.         return $this->render($view, [
  31.             'sorts' => GiftCertificatePaginatorInterface::SORT,
  32.             'defaultSort' => GiftCertificatePaginatorInterface::DEFAULT_SORT,
  33.         ]);
  34.     }
  35. }