33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Database\Seeders;
 | 
						|
 | 
						|
use App\Models\Server;
 | 
						|
use Illuminate\Database\Seeder;
 | 
						|
use Illuminate\Support\Facades\Log;
 | 
						|
 | 
						|
class SentinelSeeder extends Seeder
 | 
						|
{
 | 
						|
    public function run()
 | 
						|
    {
 | 
						|
        Server::chunk(100, function ($servers) {
 | 
						|
            foreach ($servers as $server) {
 | 
						|
                try {
 | 
						|
                    if (str($server->settings->sentinel_token)->isEmpty()) {
 | 
						|
                        $server->settings->generateSentinelToken(ignoreEvent: true);
 | 
						|
                    }
 | 
						|
                    if (str($server->settings->sentinel_custom_url)->isEmpty()) {
 | 
						|
                        $url = $server->settings->generateSentinelUrl(ignoreEvent: true);
 | 
						|
                        if (str($url)->isEmpty()) {
 | 
						|
                            $server->settings->is_sentinel_enabled = false;
 | 
						|
                            $server->settings->save();
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                } catch (\Throwable $e) {
 | 
						|
                    Log::error('Error seeding sentinel: '.$e->getMessage());
 | 
						|
                }
 | 
						|
            }
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 |