app/Plugin/VariationSwatches42/Service/VariationSwatchService.php line 42

Open in your IDE?
  1. <?php
  2. namespace Plugin\VariationSwatches42\Service;
  3. use Doctrine\Persistence\ManagerRegistry;
  4. use Plugin\VariationSwatches42\Entity\VariationSwatchClassConfig;
  5. use Plugin\VariationSwatches42\Repository\ClassConfigRepository;
  6. class VariationSwatchService
  7. {
  8.     /**
  9.      * Registry for accessing repositories.
  10.      */
  11.     private $registry;
  12.     /**
  13.      * VariationSwatchService constructor.
  14.      *
  15.      * @param  ManagerRegistry  $registry
  16.      */
  17.     public function __construct(ManagerRegistry $registry)
  18.     {
  19.         $this->registry $registry;
  20.     }
  21.     /**
  22.      * Check if swatches feature should be active.
  23.      */
  24.     public function isEnabled()
  25.     {
  26.         /** @var ClassConfigRepository $repo */
  27.         $repo $this->registry->getRepository(VariationSwatchClassConfig::class);
  28.         return $repo->count([]) > 0;
  29.     }
  30.     /**
  31.      * Get configs indexed by class_name_id
  32.      *
  33.      * @return array<int, VariationSwatchClassConfig>
  34.      */
  35.     public function getClassConfigs()
  36.     {
  37.         /** @var ClassConfigRepository $repo */
  38.         $repo $this->registry->getRepository(VariationSwatchClassConfig::class);
  39.         return $repo->findAllIndexed();
  40.     }
  41. }