src/Repository/UsuarioRepository.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Usuario;
  4. use App\Entity\Contrato;
  5. use App\Entity\Cliente;
  6. use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
  7. use \Doctrine\Common\Persistence\ManagerRegistry;
  8. /**
  9.  * @method Usuario|null find($id, $lockMode = null, $lockVersion = null)
  10.  * @method Usuario|null findOneBy(array $criteria, array $orderBy = null)
  11.  * @method Usuario[]    findAll()
  12.  * @method Usuario[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  13.  */
  14. class UsuarioRepository extends AbstractRepository implements UserLoaderInterface
  15. {
  16.     public function __construct(ManagerRegistry $registry)
  17.     {
  18.         parent::__construct($registryUsuario::class);
  19.     }
  20.     public function loadUserByUsername($username)
  21.     {
  22.         return $this->createQueryBuilder('u')
  23.             ->where('u.username = :username and u.excluido = 0')
  24.             ->setParameter('username'$username)
  25.             ->getQuery()
  26.             ->getOneOrNullResult();
  27.     }
  28.     public function findByUser(Usuario $usuario, array $criteria null, array $orderBy null$limit null$offset null)
  29.     {
  30.         $resultSet parent::findByUser($usuario$criteria$orderBy$limit$offset);
  31.         $resultSetFiltered array_values(array_filter($resultSet, function ($element) {
  32.             return false === $element->isDispositivo();
  33.         }));
  34.         return $resultSetFiltered;
  35.     }
  36.     public function getFilterByCliente(Cliente $cliente): array
  37.     {
  38.         return ['cliente' => $cliente];
  39.     }
  40.     public function getFilterByContrato(Contrato $contrato): array
  41.     {
  42.         return ['contrato' => $contrato];
  43.     }
  44. }