Files
compras/tests/Support/internal-requisition-sgf-restored.php
2026-11-02 08:08:05 +02:00

24 lines
1.2 KiB
PHP

<?php
use App\Models\User;
use App\Shared\Context\CompanyContext;
use Illuminate\Contracts\Console\Kernel;
use Illuminate\Support\Facades\DB;
use Tempo\Purchasing\Internal\InternalRequisitions;
use Tempo\Purchasing\SgfCandidate\Port;
require getenv('IR_SGF_HOST').'/vendor/autoload.php';
$app = require getenv('IR_SGF_HOST').'/bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
require getenv('IR_CANDIDATE_ROOT').'/integrations/sgf/internal-requisitions/bootstrap.php';
$row = DB::table('ir_requests')->orderBy('id')->first();
$actor = User::findOrFail($row->requester_id);
auth()->guard()->setUser($actor);
app(CompanyContext::class)->selectFor($actor->id, $row->tenant_id, $row->company_id, $row->unit_id);
request()->headers->set('X-Purchasing-Context', 'procurement.internal');
$record = (new InternalRequisitions(new Port($actor)))->view($row->id);
if ($record['status'] !== 'approved' || $record['origin_key'] !== $row->origin_key) {
throw new RuntimeException('Restored process cannot be consulted.');
}
echo json_encode(['restored_candidate_consultation' => true, 'id' => $record['id'], 'origin_preserved' => true, 'version' => $record['version']], JSON_THROW_ON_ERROR)."\n";