src/Controller/Api/CountryController.php line 20

Open in your IDE?
  1. <?php
  2.  namespace App\Controller\Api;
  3.  use App\Entity\Country;
  4.  use Symfony\Component\HttpFoundation\JsonResponse;
  5.  use Symfony\Component\HttpFoundation\Request;
  6.  use Symfony\Component\HttpFoundation\Response;
  7.  use Symfony\Component\Routing\Annotation\Route;
  8.  use Symfony\Contracts\Translation\TranslatorInterface;
  9.  class CountryController extends ApiController
  10.  {
  11.    /**
  12.     * @param Request $request
  13.     * @return JsonResponse
  14.     *
  15.     * @Route("/public/country", name="api_country_list", methods={"POST"})
  16.     */
  17.    public function listCountry(Request $request)
  18.    {
  19.      $prefixFile $this->getParameter("app.path.country_images");
  20.      $baseurl $request->getScheme() . '://' $request->getHttpHost() . $request->getBasePath();
  21.      $countries = [];
  22.      $spain null;
  23.      $uk null;
  24.      /** @var Country $country */
  25.      foreach ($this->em->getRepository(Country::class)->findBy([],['name'=>'ASC']) as $country){
  26.        $code strtoupper($country->getCode());
  27.        if($code != "ES" && $code != "GB")
  28.          array_push($countries,$country->__toArray($baseurl $prefixFile "/"));
  29.        else{
  30.          if($code == "ES")
  31.            $spain $country->__toArray($baseurl $prefixFile "/");
  32.          else{
  33.            $uk $country->__toArray($baseurl $prefixFile "/");
  34.          }
  35.        }
  36.      }
  37.      if(!empty($uk))
  38.         array_unshift($countries,$uk);
  39.      if(!empty($spain))
  40.         array_unshift($countries,$spain);
  41.      return $this->response($countries);
  42.    }
  43.  }