<?php
namespace Plugin\VariationSwatches42\Service;
use Doctrine\Persistence\ManagerRegistry;
use Plugin\VariationSwatches42\Entity\VariationSwatchClassConfig;
use Plugin\VariationSwatches42\Repository\ClassConfigRepository;
class VariationSwatchService
{
/**
* Registry for accessing repositories.
*/
private $registry;
/**
* VariationSwatchService constructor.
*
* @param ManagerRegistry $registry
*/
public function __construct(ManagerRegistry $registry)
{
$this->registry = $registry;
}
/**
* Check if swatches feature should be active.
*/
public function isEnabled()
{
/** @var ClassConfigRepository $repo */
$repo = $this->registry->getRepository(VariationSwatchClassConfig::class);
return $repo->count([]) > 0;
}
/**
* Get configs indexed by class_name_id
*
* @return array<int, VariationSwatchClassConfig>
*/
public function getClassConfigs()
{
/** @var ClassConfigRepository $repo */
$repo = $this->registry->getRepository(VariationSwatchClassConfig::class);
return $repo->findAllIndexed();
}
}