src\Repository\UserRepository.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\User;
  4. use Doctrine\Persistence\ManagerRegistry;
  5. use TheNetworg\OAuth2\Client\Provider\AzureResourceOwner;
  6. use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
  7. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  8. /**
  9.  * @method User|null find($id, $lockMode = null, $lockVersion = null)
  10.  * @method User|null findOneBy(array $criteria, array $orderBy = null)
  11.  * @method User[]    findAll()
  12.  * @method User[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  13.  */
  14. class UserRepository extends ServiceEntityRepository implements UserLoaderInterface
  15. {
  16.     public function __construct(ManagerRegistry $registry)
  17.     {
  18.         parent::__construct($registryUser::class);
  19.     }
  20.     // /**
  21.     //  * @return User[] Returns an array of User objects
  22.     //  */
  23.     public function loadUserByUsername($username)
  24.     {
  25.         return $this->createQueryBuilder('u')
  26.             ->where('u.username = :username OR u.email = :email')
  27.             ->setParameter('username'$username)
  28.             ->setParameter('email'$username)
  29.             ->getQuery()
  30.             ->getOneOrNullResult();
  31.     }
  32.     public function findFromAzureOauth(AzureResourceOwner $owner): User
  33.     {
  34.         return $this->createQueryBuilder('u')
  35.             ->Where('u.Email = :email')
  36.             ->setParameter('email'$owner->getUpn())
  37.             ->getQuery()
  38.             ->getOneOrNullResult()
  39.         ;
  40.     }
  41. }