59 lines
2.5 KiB
PHP
59 lines
2.5 KiB
PHP
<?php
|
|
use Psr\Container\ContainerInterface as Container;
|
|
|
|
return [
|
|
GuzzleHttp\Client::class => function(Container $c) {
|
|
return new GuzzleHttp\Client();
|
|
},
|
|
Contabilidad\Common\Service\Auth::class => function(Container $c) {
|
|
return new Contabilidad\Common\Service\Auth($c->get('api_key'));
|
|
},
|
|
Contabilidad\Common\Middleware\Auth::class => function(Container $c) {
|
|
return new Contabilidad\Common\Middleware\Auth(
|
|
$c->get(Nyholm\Psr7\Factory\Psr17Factory::class),
|
|
$c->get(Contabilidad\Common\Service\Auth::class)
|
|
);
|
|
},
|
|
Contabilidad\Common\Service\PdfHandler::class => function(Container $c) {
|
|
return new Contabilidad\Common\Service\PdfHandler($c->get(GuzzleHttp\Client::class), $c->get('folders')->pdfs, implode('/', [
|
|
$c->get('urls')->python,
|
|
'pdf',
|
|
'parse'
|
|
]));
|
|
},
|
|
Contabilidad\Common\Service\CsvHandler::class => function(Container $c) {
|
|
return new Contabilidad\Common\Service\CsvHandler($c->get('folders')->csvs);
|
|
},
|
|
Contabilidad\Common\Service\XlsHandler::class => function(Container $c) {
|
|
return new Contabilidad\Common\Service\XlsHandler($c->get('folders')->xlss);
|
|
},
|
|
Contabilidad\Common\Service\DocumentHandler::class => function(Container $c) {
|
|
$handlers = [
|
|
$c->get(Contabilidad\Common\Service\XlsHandler::class),
|
|
$c->get(Contabilidad\Common\Service\CsvHandler::class),
|
|
$c->get(Contabilidad\Common\Service\PdfHandler::class)
|
|
];
|
|
return new Contabilidad\Common\Service\DocumentHandler($handlers);
|
|
},
|
|
Contabilidad\Common\Service\TiposCambios::class => function(Container $c) {
|
|
return new Contabilidad\Common\Service\TiposCambios(
|
|
$c->get(GuzzleHttp\Client::class),
|
|
$c->get(ProVM\Common\Factory\Model::class),
|
|
$c->get('python_api'),
|
|
$c->get('python_key')
|
|
);
|
|
},
|
|
Contabilidad\Common\Service\FileHandler::class => function(Container $c) {
|
|
return new Contabilidad\Common\Service\FileHandler((object) [
|
|
'folder' => $c->get('folders')->uploads,
|
|
'types' => [
|
|
'text/csv' => 'csvs',
|
|
'application/pdf' => 'pdfs',
|
|
'application/vnd.ms-excel' => 'xlss',
|
|
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'xlss',
|
|
'application/json' => 'jsons'
|
|
]
|
|
]);
|
|
}
|
|
];
|