62 lines
1.8 KiB
PHP
62 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Malio\EdnotifBundle\Auth\TokenProvider;
|
|
use Malio\EdnotifBundle\Bovin\Api\BovinApi;
|
|
use Malio\EdnotifBundle\Bovin\Api\BovinApiInterface;
|
|
use Malio\EdnotifBundle\Bovin\Mapper\AnimalFileMapper;
|
|
use Malio\EdnotifBundle\Shared\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%')
|
|
;
|
|
|
|
$services->set('ednotif.soap.guichet', SoapClient::class)
|
|
->factory([service(SoapClientFactory::class), 'create'])
|
|
->args(['%ednotif.guichet_wsdl%'])
|
|
;
|
|
|
|
$services->set('ednotif.soap.business', SoapClient::class)
|
|
->factory([service(SoapClientFactory::class), 'create'])
|
|
->args(['%ednotif.metier_wsdl%'])
|
|
;
|
|
|
|
$services->set(AnimalFileMapper::class);
|
|
|
|
$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.business'),
|
|
service(AnimalFileMapper::class),
|
|
'%ednotif.exploitation_country_code%',
|
|
'%ednotif.exploitation_number%',
|
|
])
|
|
;
|
|
|
|
$services->alias(BovinApiInterface::class, BovinApi::class)->public();
|
|
};
|