Files
SGF/scripts/workshop-billing-fixture.php

11 lines
1.4 KiB
PHP

<?php
require __DIR__.'/../vendor/autoload.php';$app=require __DIR__.'/../bootstrap/app.php';$app->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();
\App\Modules\Workshop\WorkshopBilling::guard();$path='C:/laragon/data/sgf-tempo/secrets/browser-fixture.json';$base=json_decode(file_get_contents($path),true,32,JSON_THROW_ON_ERROR);
if(\Illuminate\Support\Facades\DB::table('wo_orders')->exists())throw new RuntimeException('Empty workshop proof required; nothing deleted.');
$f=\Tests\Support\WorkshopBillingFixture::create($base+['manager'=>\App\Models\User::findOrFail($base['manager_id']),'reader'=>\App\Models\User::findOrFail($base['reader_id'])]);
$safe=array_intersect_key($f,array_flip(['order','task','auth','time','material','day','service','client']));
file_put_contents($path,json_encode($base+['workshop_billing'=>$safe],JSON_THROW_ON_ERROR));
file_put_contents('C:/laragon/data/sgf-tempo/secrets/workshop-billing-manual-entry.txt',"Synthetic SGF proof only - http://127.0.0.1:8002\r\nPreparer: gestor@example.test\r\nReviewer: consulta@example.test\r\nTemporary synthetic password for these two accounts: ".$base['password']."\r\nDo not paste this password into chat, screenshots or reports.\r\n");
// Existing protected manifest is kept outside Git; no credentials printed.
echo "Synthetic workshop sources verified by a technical identity, commercial roles separate. No proposal, review or generation prefilled.\n";