src/Entity/Repository/FeatureRepository.php line 41

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Repository;
  3. use App\EventListener\FeatureFlagListener;
  4. use Doctrine\ORM\EntityRepository;
  5. use Doctrine\ORM\Query\QueryException;
  6. class FeatureRepository extends EntityRepository
  7. {
  8.     public const ATS_FEATURES = [
  9.         FeatureFlagListener::FEATURE_HR_OFFICE,
  10.         FeatureFlagListener::FEATURE_CONNEXYS,
  11.         FeatureFlagListener::FEATURE_BRIXS,
  12.         FeatureFlagListener::FEATURE_BULLHORN,
  13.         FeatureFlagListener::FEATURE_CARERIX,
  14.         FeatureFlagListener::FEATURE_NOCORE_APPLICANT_SEND,
  15.         FeatureFlagListener::FEATURE_PEOPLE_XS,
  16.     ];
  17.     /**
  18.      * @throws QueryException
  19.      */
  20.     public function findEnabledExternalATSFeatures(): array
  21.     {
  22.         $qb $this->createQueryBuilder('f');
  23.         foreach (self::ATS_FEATURES as $feature) {
  24.             $qb->orWhere('f.name = :'.$feature)
  25.                 ->setParameter($feature$feature)
  26.             ;
  27.         }
  28.         $qb->andWhere('f.active = :active')
  29.             ->setParameter('active'true)
  30.         ;
  31.         return $qb->getQuery()->getResult();
  32.     }
  33.     public function getAdminActivatorCandidates(): array
  34.     {
  35.         return $this
  36.             ->createQueryBuilder('f')
  37.             ->select(['f.name''f.active'])
  38.             ->getQuery()
  39.             ->getArrayResult()
  40.         ;
  41.     }
  42. }