feat : ajout de l'auth et du guichet pour la récupération d'info bovin
This commit is contained in:
45
src/DependencyInjection/Configuration.php
Normal file
45
src/DependencyInjection/Configuration.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Malio\EdnotifBundle\DependencyInjection;
|
||||
|
||||
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
||||
use Symfony\Component\Config\Definition\ConfigurationInterface;
|
||||
|
||||
final class Configuration implements ConfigurationInterface
|
||||
{
|
||||
public function getConfigTreeBuilder(): TreeBuilder
|
||||
{
|
||||
$treeBuilder = new TreeBuilder('ednotif');
|
||||
|
||||
$root = $treeBuilder->getRootNode();
|
||||
$root
|
||||
->children()
|
||||
->scalarNode('guichet_wsdl')->cannotBeEmpty()->isRequired()->end()
|
||||
->scalarNode('metier_wsdl')->cannotBeEmpty()->isRequired()->end()
|
||||
|
||||
->scalarNode('entreprise')->cannotBeEmpty()->isRequired()->end()
|
||||
->scalarNode('zone')->defaultNull()->end()
|
||||
->scalarNode('application')->defaultNull()->end()
|
||||
|
||||
->scalarNode('login')->cannotBeEmpty()->isRequired()->end()
|
||||
->scalarNode('password')->cannotBeEmpty()->isRequired()->end()
|
||||
|
||||
->integerNode('token_ttl_seconds')->min(30)->defaultValue(900)->end()
|
||||
|
||||
->arrayNode('soap_options')
|
||||
->addDefaultsIfNotSet()
|
||||
->children()
|
||||
->booleanNode('trace')->defaultFalse()->end()
|
||||
->booleanNode('exceptions')->defaultTrue()->end()
|
||||
->integerNode('connection_timeout')->min(1)->defaultValue(15)->end()
|
||||
->integerNode('cache_wsdl')->defaultValue(\WSDL_CACHE_BOTH)->end()
|
||||
->integerNode('features')->defaultValue(\SOAP_SINGLE_ELEMENT_ARRAYS)->end()
|
||||
->end()
|
||||
->end()
|
||||
->end();
|
||||
|
||||
return $treeBuilder;
|
||||
}
|
||||
}
|
||||
47
src/DependencyInjection/EdnotifExtension.php
Normal file
47
src/DependencyInjection/EdnotifExtension.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Malio\EdnotifBundle\DependencyInjection;
|
||||
|
||||
use Symfony\Component\Config\FileLocator;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Extension\Extension;
|
||||
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
|
||||
|
||||
final class EdnotifExtension extends Extension
|
||||
{
|
||||
public function load(array $configs, ContainerBuilder $container): void
|
||||
{
|
||||
$configuration = new Configuration();
|
||||
/** @var array{
|
||||
* guichet_wsdl:string,
|
||||
* metier_wsdl:string,
|
||||
* entreprise:string,
|
||||
* zone:?string,
|
||||
* application:?string,
|
||||
* login:string,
|
||||
* password:string,
|
||||
* token_ttl_seconds:int,
|
||||
* soap_options:array<string,mixed>
|
||||
* } $config
|
||||
*/
|
||||
$config = $this->processConfiguration($configuration, $configs);
|
||||
|
||||
$container->setParameter('ednotif.guichet_wsdl', $config['guichet_wsdl']);
|
||||
$container->setParameter('ednotif.metier_wsdl', $config['metier_wsdl']);
|
||||
|
||||
$container->setParameter('ednotif.entreprise', $config['entreprise']);
|
||||
$container->setParameter('ednotif.zone', $config['zone']);
|
||||
$container->setParameter('ednotif.application', $config['application']);
|
||||
|
||||
$container->setParameter('ednotif.login', $config['login']);
|
||||
$container->setParameter('ednotif.password', $config['password']);
|
||||
|
||||
$container->setParameter('ednotif.token_ttl_seconds', $config['token_ttl_seconds']);
|
||||
$container->setParameter('ednotif.soap_options', $config['soap_options']);
|
||||
|
||||
$loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../../config'));
|
||||
$loader->load('services.php');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user