src/WebserviceBundle/Event/PaginationParameterListener.php line 38

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by Notive.
  4.  * User: Ferry Koster
  5.  * Date: 14:00 20-04-16
  6.  */
  7. namespace WebserviceBundle\Event;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpKernel\Event\GetResponseEvent;
  10. use WmsBundle\Common\PaginationParameters;
  11. /**
  12.  * Class PaginationParameterListener
  13.  * @package WebserviceBundle\Event
  14.  */
  15. class PaginationParameterListener
  16. {
  17.     /**
  18.      * @var PaginationParameters
  19.      */
  20.     protected $paginationParameters;
  21.     /**
  22.      * DefaultParameterListener constructor.
  23.      * @param PaginationParameters $paginationParameters
  24.      */
  25.     public function __construct(PaginationParameters $paginationParameters)
  26.     {
  27.         $this->paginationParameters $paginationParameters;
  28.     }
  29.     /**
  30.      * @param GetResponseEvent $event
  31.      * @throws \InvalidArgumentException
  32.      */
  33.     public function onKernelRequest(GetResponseEvent $event)
  34.     {
  35.         /**
  36.          * @var Request $request
  37.          */
  38.         $request $event->getRequest();
  39.         if ($request->query->get('limit')) {
  40.             $this->paginationParameters->setLimit($request->query->get('limit'));
  41.         }
  42.         if ($request->query->get('page')) {
  43.             $this->paginationParameters->setPage($request->query->get('page'));
  44.         }
  45.         if ($request->query->get('sort')) {
  46.             $this->paginationParameters->setSort($request->query->get('sort'));
  47.         }
  48.         if ($request->query->get('direction')) {
  49.             $this->paginationParameters->setDirection($request->query->get('direction'));
  50.         }
  51.     }
  52. }