1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-04-24 02:44:19 +00:00

Stop using ContainerAwareInterface in fixtures

This commit is contained in:
Yassine Guedidi 2025-01-18 14:16:49 +01:00
parent 0d70b91597
commit ed803e0d0e
4 changed files with 22 additions and 34 deletions

View file

@ -6,6 +6,9 @@ services:
# fixtures
Wallabag\DataFixtures\:
bind:
$defaultIgnoreOriginInstanceRules: '%wallabag.default_ignore_origin_instance_rules%'
$defaultInternalSettings: '%wallabag.default_internal_settings%'
resource: '../../fixtures/*'
tags: ['doctrine.fixture.orm']
autowire: true

View file

@ -4,27 +4,22 @@ namespace Wallabag\DataFixtures;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\Entity\IgnoreOriginInstanceRule;
class IgnoreOriginInstanceRuleFixtures extends Fixture implements ContainerAwareInterface
class IgnoreOriginInstanceRuleFixtures extends Fixture
{
/**
* @var ContainerInterface
*/
private $container;
private array $defaultIgnoreOriginInstanceRules;
public function setContainer(?ContainerInterface $container = null)
public function __construct(array $defaultIgnoreOriginInstanceRules)
{
$this->container = $container;
$this->defaultIgnoreOriginInstanceRules = $defaultIgnoreOriginInstanceRules;
}
public function load(ObjectManager $manager): void
{
foreach ($this->container->getParameter('wallabag.default_ignore_origin_instance_rules') as $ignore_origin_instance_rule) {
foreach ($this->defaultIgnoreOriginInstanceRules as $ignoreOriginInstanceRule) {
$newIgnoreOriginInstanceRule = new IgnoreOriginInstanceRule();
$newIgnoreOriginInstanceRule->setRule($ignore_origin_instance_rule['rule']);
$newIgnoreOriginInstanceRule->setRule($ignoreOriginInstanceRule['rule']);
$manager->persist($newIgnoreOriginInstanceRule);
}

View file

@ -4,25 +4,20 @@ namespace Wallabag\DataFixtures;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\Entity\InternalSetting;
class InternalSettingFixtures extends Fixture implements ContainerAwareInterface
class InternalSettingFixtures extends Fixture
{
/**
* @var ContainerInterface
*/
private $container;
private array $defaultInternalSettings;
public function setContainer(?ContainerInterface $container = null)
public function __construct(array $defaultInternalSettings)
{
$this->container = $container;
$this->defaultInternalSettings = $defaultInternalSettings;
}
public function load(ObjectManager $manager): void
{
foreach ($this->container->getParameter('wallabag.default_internal_settings') as $setting) {
foreach ($this->defaultInternalSettings as $setting) {
$newSetting = new InternalSetting();
$newSetting->setName($setting['name']);
$newSetting->setValue($setting['value']);

View file

@ -5,37 +5,32 @@ namespace Wallabag\DataFixtures;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Wallabag\Entity\SiteCredential;
use Wallabag\Entity\User;
use Wallabag\Helper\CryptoProxy;
class SiteCredentialFixtures extends Fixture implements DependentFixtureInterface, ContainerAwareInterface
class SiteCredentialFixtures extends Fixture implements DependentFixtureInterface
{
/**
* @var ContainerInterface
*/
private $container;
private CryptoProxy $cryptoProxy;
public function setContainer(?ContainerInterface $container = null)
public function __construct(CryptoProxy $cryptoProxy)
{
$this->container = $container;
$this->cryptoProxy = $cryptoProxy;
}
public function load(ObjectManager $manager): void
{
$credential = new SiteCredential($this->getReference('admin-user', User::class));
$credential->setHost('.super.com');
$credential->setUsername($this->container->get(CryptoProxy::class)->crypt('.super'));
$credential->setPassword($this->container->get(CryptoProxy::class)->crypt('bar'));
$credential->setUsername($this->cryptoProxy->crypt('.super'));
$credential->setPassword($this->cryptoProxy->crypt('bar'));
$manager->persist($credential);
$credential = new SiteCredential($this->getReference('admin-user', User::class));
$credential->setHost('paywall.example.com');
$credential->setUsername($this->container->get(CryptoProxy::class)->crypt('paywall.example'));
$credential->setPassword($this->container->get(CryptoProxy::class)->crypt('bar'));
$credential->setUsername($this->cryptoProxy->crypt('paywall.example'));
$credential->setPassword($this->cryptoProxy->crypt('bar'));
$manager->persist($credential);