src/Services/Api/BaseApiManager.php line 34

Open in your IDE?
  1. <?php
  2. namespace App\Services\Api;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Symfony\Component\HttpFoundation\File\UploadedFile;
  5. use Symfony\Component\Security\Core\Security;
  6. use Symfony\Contracts\Translation\TranslatorInterface;
  7. class BaseApiManager
  8. {
  9.   protected $em;
  10.   protected $security;
  11.   protected $translator;
  12.   function __construct(
  13.     EntityManagerInterface $em,
  14.     Security $security,
  15.     TranslatorInterface $translator
  16.   ) {
  17.     $this->em $em;
  18.     $this->security $security;
  19.     $this->translator $translator;
  20.   }
  21.   protected function setValues($item$data)
  22.   {
  23.     foreach ($data as $ind => $d) {
  24.       if ($d instanceof UploadedFile)
  25.         $ind .= "File";
  26.       $attr "set" . (ucfirst($ind));
  27.       if (method_exists($item$attr))
  28.         $item->$attr($d);
  29.       $class ucfirst($ind);
  30.       if (is_array($d)) {
  31.         $attr "add" . ($class);
  32.       } else {
  33.         $attr "set" . ($class);
  34.       }
  35.       if (method_exists($item$attr)) {
  36.         if (is_array($d)) {
  37.           foreach ($d as $t) {
  38.             $className "App\\Entity\\{$class}";
  39.             $aux $this->em->getRepository($className)->find(['id' => $t['id']]);
  40.             $item->$attr($aux);
  41.           }
  42.         } else {
  43.           $item->$attr($d);
  44.         }
  45.       }
  46.     }
  47.     return $item;
  48.   }
  49.   public function filterNotRemove($class, ?array $filter = [])
  50.   {
  51.     $filter['deletedAt'] = NULL;
  52.     return $this->em->getRepository($class)->findBy($filter);
  53.   }
  54. }