Files
nuhodds_fi4/app/Console/Commands/NuhBash.php
T
2025-08-30 08:15:10 +02:00

92 lines
3.0 KiB
PHP

<?php
namespace App\Console\Commands;
use App\Console\Commands\Grapper\TxSwitch;
use App\Models\Supervisor;
use App\Utilities\Notice;
use App\Utilities\Supervisorctl;
use DB;
use Illuminate\Console\Command;
class NuhBash extends Command
{
public static $options = [];
protected $signature = 'nuh {process=help} {eventid=0} {--d} {--f} {--a} {--w} {--p} {--s} {--r} {--b}';
protected $description = 'NuhBash';
public function handle()
{
self::$options = $this->options();
self::$options['supervisor_id'] = $this->argument('process');
self::$options['event_id'] = $this->argument('eventid');
$queries = self::$options['m'] ?? 0;
if ($this->argument('process') == 'help') {
$txt = PHP_EOL;
$txt .= 'List of parameters'.PHP_EOL;
$txt .= '----------------------------------------------'.PHP_EOL;
$txt .= 'process [id] (required)'.PHP_EOL;
$txt .= 'eventid [id] (optional)'.PHP_EOL;
$txt .= '----------------------------------------------'.PHP_EOL.PHP_EOL;
$txt .= 'List of options'.PHP_EOL;
$txt .= '----------------------------------------------'.PHP_EOL;
$txt .= '--d debug'.PHP_EOL;
$txt .= '--m debug queries'.PHP_EOL;
$txt .= '--f force update market'.PHP_EOL;
$txt .= '--a reload all'.PHP_EOL;
$txt .= '--w reload one week'.PHP_EOL;
$txt .= '--p print odds'.PHP_EOL;
$txt .= '--s store data to file '.PHP_EOL;
$txt .= '--r read data from file '.PHP_EOL;
$txt .= '--b break loop after one '.PHP_EOL;
$txt .= '----------------------------------------------'.PHP_EOL.PHP_EOL;
$txt .= 'List of supervisors'.PHP_EOL;
$txt .= '----------------------------------------------'.PHP_EOL;
$tmp = Supervisor::all();
foreach ($tmp as $value) {
$txt .= $value->provider->name.' '.$value->id.' - '.$value->type.' '.$value->name.PHP_EOL;
}
Notice::note($txt, 'b', 1);
}
if ($queries) {
DB::enableQueryLog();
}
Supervisorctl::start(self::$options);
switch (self::$options['type']) {
case 'Grapper':
switch (self::$options['provider_id']) {
case 1:
TxSwitch::switch();
case 2:
// betsapi
break;
case 3:
// direct
break;
default:
Note::notice('Provider not defined', 'r', 1);
break;
}
break;
case 'Comparatore':
// code...
break;
}
Supervisorctl::end(self::$options);
if ($queries) {
Notice::db(DB::getQueryLog());
}
}
}