feature/cierres (#25)

Varios cambios

Co-authored-by: Juan Pablo Vial <jpvialb@incoviba.cl>
Reviewed-on: #25
This commit is contained in:
2025-07-22 13:18:00 +00:00
parent ba57cad514
commit 307f2ac7d7
418 changed files with 20045 additions and 984 deletions

View File

@ -22,8 +22,12 @@ return [
$ine = new Incoviba\Service\Money\Ine(new GuzzleHttp\Client([
'base_uri' => 'https://api-calculadora.ine.cl/ServiciosCalculadoraVariacion'
]));
$sii = new Incoviba\Service\Money\SII(new GuzzleHttp\Client([
'base_uri' => 'https://www.sii.cl/valores_y_fechas/'
]), $container->get(Incoviba\Repository\UF::class));
return (new Incoviba\Service\Money($container->get(Psr\Log\LoggerInterface::class)))
->register('uf', $mindicador)
->register('uf', $sii)
->register('usd', $mindicador)
->register('ipc', $ine);
},
@ -110,5 +114,104 @@ return [
$container->get(Psr\Log\LoggerInterface::class),
))
->registerSub($container->get(Incoviba\Service\Contabilidad\Cartola\BCI\Mes::class));
},
'TokuClient' => function(ContainerInterface $container) {
return new GuzzleHttp\Client([
'base_uri' => $container->get('TOKU_URL'),
'headers' => [
'x-api-key' => $container->get('TOKU_TOKEN'),
'accept' => 'application/json'
]
]);
},
Incoviba\Service\Venta\MediosPago\Toku\Customer::class => function(ContainerInterface $container) {
$service = new Incoviba\Service\Venta\MediosPago\Toku\Customer(
$container->get('TokuClient'),
$container->get(Incoviba\Repository\Venta\MediosPago\Toku\Customer::class)
);
$service->setLogger($container->get('externalLogger'));
return $service;
},
Incoviba\Service\Venta\MediosPago\Toku\Subscription::class => function(ContainerInterface $container) {
$service = new Incoviba\Service\Venta\MediosPago\Toku\Subscription(
$container->get('TokuClient'),
$container->get(Incoviba\Repository\Venta\MediosPago\Toku\Subscription::class),
$container->get(Incoviba\Service\Venta::class)
);
$service->setLogger($container->get('externalLogger'));
return $service;
},
Incoviba\Service\Venta\MediosPago\Toku\Invoice::class => function(ContainerInterface $container) {
$service = new Incoviba\Service\Venta\MediosPago\Toku\Invoice(
$container->get('TokuClient'),
$container->get(Incoviba\Repository\Venta\MediosPago\Toku\Invoice::class),
$container->get(Incoviba\Service\Venta\Pago::class),
$container->get(Incoviba\Service\UF::class)
);
$service->setLogger($container->get('externalLogger'));
$service->setAltLogger($container->get('jsonLogger'));
return $service;
},
Incoviba\Service\Venta\MediosPago\Toku::class => function(ContainerInterface $container) {
return new Incoviba\Service\Venta\MediosPago\Toku(
$container->get('externalLogger'),
$container->get(Incoviba\Common\Define\Connection::class),
$container->get(Incoviba\Service\HMAC::class)
)
->register('customer', $container->get(Incoviba\Service\Venta\MediosPago\Toku\Customer::class))
->register('subscription', $container->get(Incoviba\Service\Venta\MediosPago\Toku\Subscription::class))
->register('invoice', $container->get(Incoviba\Service\Venta\MediosPago\Toku\Invoice::class));
},
Pheanstalk\Pheanstalk::class => function(ContainerInterface $container) {
return Pheanstalk\Pheanstalk::create(
$container->get('BEANSTALKD_HOST'),
$container->has('BEANSTALKD_PORT') ? $container->get('BEANSTALKD_PORT') : 11300
);
},
Incoviba\Service\MQTT::class => function(ContainerInterface $container) {
return new Incoviba\Service\MQTT()
->register('default', $container->get(Incoviba\Service\MQTT\Pheanstalk::class));
},
Incoviba\Service\Queue::class => function(ContainerInterface $container) {
return new Incoviba\Service\Queue(
$container->get(Psr\Log\LoggerInterface::class),
$container->get(Incoviba\Service\Job::class),
$container->get(Incoviba\Service\Worker\Request::class)
)
->register('request', $container->get(Incoviba\Service\Worker\Request::class))
->register('service', $container->get(Incoviba\Service\Worker\Service::class))
->register('dummy', $container->get(Incoviba\Service\Worker\Dummy::class))
->register('checkExternal', $container->get(Incoviba\Service\Worker\CheckExternal::class));
},
Incoviba\Service\Worker\Request::class => function(ContainerInterface $container) {
$apiKey = md5($container->get('API_KEY'));
$key = $apiKey;
$loginService = $container->get(Incoviba\Service\Login::class);
if ($loginService->isIn()) {
$token = $loginService->getToken();
$key = "{$apiKey}{$loginService->getSeparator()}{$token}";
}
return new Incoviba\Service\Worker\Request(
$container->get(Psr\Log\LoggerInterface::class),
new GuzzleHttp\Client([
'base_uri' => 'http://incoviba_proxy/api',
'headers' => [
'Authorization' => "Bearer {$key}"
]
])
);
},
Incoviba\Service\Worker\CheckExternal::class => function(ContainerInterface $container) {
return new Incoviba\Service\Worker\CheckExternal(
$container->get('externalLogger'),
$container
);
},
Incoviba\Service\External::class => function(ContainerInterface $container) {
return new Incoviba\Service\External(
$container->get('externalLogger'),
$container->get(Incoviba\Service\Queue::class)
)
->register($container->get(Incoviba\Service\Venta\MediosPago\Toku::class));
}
];