34 lines
1.2 KiB
PHP
34 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\ResolveSimulationTaxParametersRequest;
|
|
use App\Services\SimulationTaxParameterResolver;
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
class SimulationTaxParameterController extends Controller
|
|
{
|
|
public function resolve(ResolveSimulationTaxParametersRequest $request, SimulationTaxParameterResolver $resolver): JsonResponse
|
|
{
|
|
$input = $request->validated();
|
|
$data = $resolver->resolvePublishedForPeriod(
|
|
$input['component'],
|
|
$input['period_start'],
|
|
$input['period_end'],
|
|
$input['context'] ?? [],
|
|
$input['component'] === 'IVA',
|
|
);
|
|
|
|
return response()->json([
|
|
'component' => $input['component'],
|
|
'period' => ['start' => $input['period_start'], 'end' => $input['period_end']],
|
|
'assumptions' => $input['context'] ?? [],
|
|
'parameters' => $input['component'] === 'IVA' ? $data['parameters'] : $data,
|
|
'diagnostics' => $input['component'] === 'IVA' ? $data['diagnostics'] : [],
|
|
])->header('Cache-Control', 'no-store');
|
|
}
|
|
}
|