14 lines
1.3 KiB
PHP
14 lines
1.3 KiB
PHP
<?php
|
|
|
|
$settings=json_decode(file_get_contents('C:/laragon/data/sgf-tempo/secrets/budget-demo.json'),true,32,JSON_THROW_ON_ERROR);
|
|
foreach($settings as $k=>$v){putenv($k.'='.$v);$_ENV[$k]=$_SERVER[$k]=$v;}
|
|
require __DIR__.'/../vendor/autoload.php';$app=require __DIR__.'/../bootstrap/app.php';$app->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();
|
|
\App\Modules\Purchasing\BudgetAdapter::guard();
|
|
$db=\Illuminate\Support\Facades\DB::connection();
|
|
$role=$db->selectOne('select rolsuper,rolcreatedb,rolcreaterole from pg_roles where rolname=current_user');
|
|
if($role->rolsuper||$role->rolcreatedb||$role->rolcreaterole)throw new RuntimeException('Restricted test role required.');
|
|
$tables=[];foreach(['users','cb_budgets','cb_budget_entries','cb_budget_consumptions','cb_ui_commands'] as $t)$tables[$t]=$db->table($t)->count();
|
|
$report=['version'=>'SGF-BUDGET-WORKSPACE-SIM-v1','url'=>'http://127.0.0.1:8003','isolated_database'=>$db->getDatabaseName(),'restricted_role'=>true,'synthetic_only'=>true,'counts'=>$tables,'core_sha256'=>hash_file('sha256',__DIR__.'/../packages/budget-control/src/BudgetControl.php'),'checked_at'=>gmdate('c')];
|
|
file_put_contents(__DIR__.'/../docs/proofs/budget-demo-availability.json',json_encode($report,JSON_PRETTY_PRINT|JSON_THROW_ON_ERROR).PHP_EOL);
|
|
echo json_encode($report,JSON_PRETTY_PRINT|JSON_THROW_ON_ERROR).PHP_EOL;
|