Files
boursecu_server/app/Console/Commands/SuperAdminProgramSettingsRefreshCommand.php
T

43 lines
1.4 KiB
PHP
Raw Normal View History

<?php
namespace App\Console\Commands;
use App\Services\SuperAdminProgramSettingsOverlay;
use Illuminate\Console\Command;
class SuperAdminProgramSettingsRefreshCommand extends Command
{
protected $signature = 'superadmin:refresh-program-settings
{--clear-only : فقط کش last-good را پاک کن}';
protected $description = 'کش overlay تنظیمات سوپرادمین را پاک/تازه می‌کند (مثلاً بعد از تغییر enable_automation)';
public function handle(): int
{
$overlay = app(SuperAdminProgramSettingsOverlay::class);
if ($this->option('clear-only')) {
$overlay->flushCache();
$this->line('cleared SuperAdmin program-settings cache');
return self::SUCCESS;
}
$result = $overlay->refreshFromSuperAdmin();
if (! ($result['ok'] ?? false)) {
$this->error('fetch from SuperAdmin failed — cache cleared; next HTTP request will retry');
return self::FAILURE;
}
$this->info('fetched '.(int) ($result['count'] ?? 0).' setting(s) from SuperAdmin');
if (($result['enable_automation'] ?? null) !== null) {
$this->line('enable_automation='.$result['enable_automation']);
} else {
$this->warn('enable_automation missing in SuperAdmin response');
}
return self::SUCCESS;
}
}