96 lines
3.1 KiB
PHP
96 lines
3.1 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\Bovin\Mapper\AnimalSummaryMapper;
|
|
use Malio\EdnotifBundle\Bovin\Mapper\InventoryMapper;
|
|
use Malio\EdnotifBundle\Bovin\Mapper\PresumedExitsMapper;
|
|
use Malio\EdnotifBundle\Bovin\Mapper\ReturnedDossiersMapper;
|
|
use Malio\EdnotifBundle\Shared\Mapper\StandardResponseMapper;
|
|
use Malio\EdnotifBundle\Shared\Soap\SoapClientFactory;
|
|
use Malio\EdnotifBundle\Shared\Soap\ZipMessageDecoder;
|
|
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(StandardResponseMapper::class);
|
|
|
|
$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)->args([service(StandardResponseMapper::class)]);
|
|
|
|
$services->set(ZipMessageDecoder::class);
|
|
$services->set(AnimalSummaryMapper::class);
|
|
$services->set(InventoryMapper::class)
|
|
->args([
|
|
service(AnimalSummaryMapper::class),
|
|
service(StandardResponseMapper::class),
|
|
])
|
|
;
|
|
|
|
$services->set(ReturnedDossiersMapper::class)
|
|
->args([
|
|
service(AnimalSummaryMapper::class),
|
|
service(StandardResponseMapper::class),
|
|
])
|
|
;
|
|
|
|
$services->set(PresumedExitsMapper::class)
|
|
->args([
|
|
service(StandardResponseMapper::class),
|
|
])
|
|
;
|
|
|
|
$services->set(TokenProvider::class)
|
|
->args([
|
|
service('ednotif.soap.guichet'),
|
|
'%ednotif.exploitation_code%',
|
|
'%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),
|
|
service(InventoryMapper::class),
|
|
service(ReturnedDossiersMapper::class),
|
|
service(PresumedExitsMapper::class),
|
|
service(ZipMessageDecoder::class),
|
|
'%ednotif.exploitation_country_code%',
|
|
'%ednotif.exploitation_number%',
|
|
])
|
|
;
|
|
|
|
$services->alias(BovinApiInterface::class, BovinApi::class)->public();
|
|
};
|