*/ class UserRepository extends ServiceEntityRepository implements PasswordUpgraderInterface { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, User::class); } /** * Used to upgrade (rehash) the user's password automatically over time. */ public function upgradePassword(PasswordAuthenticatedUserInterface $user, string $newHashedPassword): void { if (!$user instanceof User) { throw new UnsupportedUserException(sprintf('Instances of "%s" are not supported.', $user::class)); } $user->setPassword($newHashedPassword); $this->getEntityManager()->persist($user); $this->getEntityManager()->flush(); } public function getCaseManagers(Company $company): array { return $this->createQueryBuilder('u') ->andWhere('u.caseManager = :case_manager') ->andWhere('u.company = :company') ->setParameter('case_manager', true) ->setParameter('company', $company->getId()->toBinary()) ->getQuery() ->getResult() ; } public function getTherapists(Company $company): array { return $this->createQueryBuilder('u') ->andWhere('u.therapist = :therapist') ->andWhere('u.company = :company') ->setParameter('therapist', true) ->setParameter('company', $company->getId()->toBinary()) ->getQuery() ->getResult() ; } public function getAdmins(Company $company): array { return $this->createQueryBuilder('u') ->andWhere('u.su = :su') ->andWhere('u.company = :company') ->setParameter('su', true) ->setParameter('company', $company->getId()->toBinary()) ->getQuery() ->getResult() ; } public function getCompanyUsers(Company $company): array { return $this->createQueryBuilder('u') ->andWhere('u.company = :company') ->setParameter('company', $company->getId()->toBinary()) ->orderBy('u.name', 'ASC') ->getQuery() ->getResult() ; } public function getCaseWorkers(): array { return $this->createQueryBuilder('u') ->orWhere('u.caseWorker = :case_worker') ->orWhere('u.caseManager = :case_manager') ->setParameter('case_worker', true) ->setParameter('case_manager', true) ->orderBy('u.name', 'ASC') ->getQuery() ->getResult() ; } // /** // * @return User[] Returns an array of User objects // */ // public function findByExampleField($value): array // { // return $this->createQueryBuilder('u') // ->andWhere('u.exampleField = :val') // ->setParameter('val', $value) // ->orderBy('u.id', 'ASC') // ->setMaxResults(10) // ->getQuery() // ->getResult() // ; // } // public function findOneBySomeField($value): ?User // { // return $this->createQueryBuilder('u') // ->andWhere('u.exampleField = :val') // ->setParameter('val', $value) // ->getQuery() // ->getOneOrNullResult() // ; // } }