vendor/sksso/token-use-logger/src/SKSSOHTTPTokenUseLoggerBundle.php line 13

  1. <?php
  2. namespace SKSSO\HTTP\Bundle\TokenUseLoggerBundle;
  3. use Exception;
  4. use Symfony\Component\Config\Definition\Configurator\DefinitionConfigurator;
  5. use Symfony\Component\Config\FileLocator;
  6. use Symfony\Component\DependencyInjection\ContainerBuilder;
  7. use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
  8. use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
  9. use Symfony\Component\HttpKernel\Bundle\AbstractBundle;
  10. class SKSSOHTTPTokenUseLoggerBundle extends AbstractBundle
  11. {
  12.     protected string $extensionAlias 'TokenUseLogger';
  13.     private const DSN_KEY 'dsn';
  14.     public function configure(DefinitionConfigurator $definition): void
  15.     {
  16.         $definition->rootNode()
  17.                    ->children()
  18.                    ->scalarNode($this::DSN_KEY)->isRequired()->info('A TokenUseLogger által használandó lock store dsn-je')
  19.                ->end();
  20.     }
  21.     public function loadExtension(array $configContainerConfigurator $containerContainerBuilder $builder): void
  22.     {
  23.         $loader = new YamlFileLoader(
  24.             $builder,
  25.             new FileLocator(__DIR__ '/Resources/config')
  26.         );
  27.         $loader->load('services.yaml');
  28.     }
  29.     public function prependExtension(ContainerConfigurator $containerContainerBuilder $builder): void
  30.     {
  31.         $config $builder->getExtensionConfig($this->getContainerExtension()->getAlias());
  32.         $dsn $config[0][$this::DSN_KEY];
  33.         if(!is_string($dsn)) throw new Exception("The dsn wasn't the expected type");
  34.         
  35.         $container->extension(
  36.             'framework',
  37.             [
  38.                 'lock' =>[
  39.                     'tokenUseLogger' => $dsn
  40.                 ]
  41.             ]
  42.         );
  43.     }
  44. }