Preserva B1 aceite de confirmacao interna sem validade fiscal

This commit is contained in:
2026-10-25 22:22:41 +02:00
parent ca13acb74e
commit 8fcd52c31d
26 changed files with 724 additions and 10 deletions
@@ -11,7 +11,18 @@ use Illuminate\Http\Request;
final class ServiceController extends Controller
{
public function index(Request $request, string $area, ServiceWorkflow $workflow) { return response()->json(['records' => $workflow->list($area, $request->user()->id)]); }
public function show(Request $request, string $area, int $id, ServiceWorkflow $workflow) { return response()->json($workflow->show($area, $id, $request->user()->id)); }
public function show(Request $request, string $area, int $id, ServiceWorkflow $workflow)
{
$record = $workflow->show($area, $id, $request->user()->id);
if ($area === 'billing_drafts') { $record['confirmation'] = app(\App\Modules\Services\InternalConfirmation::class)->show($id, $request->user()->id); }
return response()->json($record);
}
public function confirmInternal(Request $request, int $id, \App\Modules\Services\InternalConfirmation $confirmation)
{
abort_if(array_diff(array_keys($request->all()), ['version']) !== [], 422, 'Campo não suportado ou identificador protegido.');
$data = $request->validate(['version' => 'required|integer|min:1']);
return response()->json($confirmation->confirm($id, $request->user()->id, (int) $data['version'], (string) $request->header('Idempotency-Key', '')));
}
public function create(Request $request, string $area, ServiceWorkflow $workflow) { return $this->save($request, $area, null, $workflow); }
public function update(Request $request, string $area, int $id, ServiceWorkflow $workflow) { return $this->save($request, $area, $id, $workflow); }