<?php
namespace App\Controller;
use App\Api\BrcBackend\DTO\CityList;
use App\Form\SearchType;
use App\Service\Paginator\PaginatorBuilder;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/city")
*/
final class CityController extends AbstractController
{
/**
* @Route("/list/{page}", name="city_list", defaults={"page"=null}, methods={"GET"})
*
* @param CityList $list
* @param PaginatorBuilder $paginator
*
* @return Response
*/
public function list(CityList $list, PaginatorBuilder $paginator): Response
{
return $this->render('city/list.html.twig', [
'cities' => $list->getCities(),
'pagination' => $paginator->build($list->getPage(), $list->getTotalPages()),
'currentPage' => $list->getPage(),
'form' => $this->createForm(SearchType::class)->createView(),
]);
}
}