51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Malio\EdnotifBundle\Api\BovinApi;
|
|
use Malio\EdnotifBundle\Api\BovinApiInterface;
|
|
use Malio\EdnotifBundle\Auth\TokenProvider;
|
|
use Malio\EdnotifBundle\Soap\SoapClientFactory;
|
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
|
|
|
|
return static function (ContainerConfigurator $container): void {
|
|
$services = $container->services()
|
|
->defaults()
|
|
->autowire()
|
|
->autoconfigure();
|
|
|
|
$services->set(SoapClientFactory::class)
|
|
->arg('$soapOptions', '%ednotif.soap_options%');
|
|
|
|
// SoapClient Guichet
|
|
$services->set('ednotif.soap.guichet', SoapClient::class)
|
|
->factory([service(SoapClientFactory::class), 'create'])
|
|
->args(['%ednotif.guichet_wsdl%']);
|
|
|
|
// SoapClient Métier
|
|
$services->set('ednotif.soap.metier', SoapClient::class)
|
|
->factory([service(SoapClientFactory::class), 'create'])
|
|
->args(['%ednotif.metier_wsdl%']);
|
|
|
|
$services->set(TokenProvider::class)
|
|
->args([
|
|
service('ednotif.soap.guichet'),
|
|
'%ednotif.entreprise%',
|
|
'%ednotif.zone%',
|
|
'%ednotif.application%',
|
|
'%ednotif.login%',
|
|
'%ednotif.password%',
|
|
'%ednotif.token_ttl_seconds%',
|
|
service('cache.app'),
|
|
]);
|
|
|
|
$services->set(BovinApi::class)
|
|
->args([
|
|
service(TokenProvider::class),
|
|
service('ednotif.soap.metier'),
|
|
]);
|
|
|
|
$services->alias(BovinApiInterface::class, BovinApi::class)->public();
|
|
};
|