34 lines
1020 B
PHP
34 lines
1020 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands\Debug;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use App\Models\Address;
|
|
|
|
class AddressCheck extends Command
|
|
{
|
|
protected $signature = 'debug:address:check'
|
|
.' {ftn : FTN}';
|
|
|
|
protected $description = 'Check the addresses we use for a node';
|
|
|
|
public function handle(): int
|
|
{
|
|
$o = Address::findFTN($this->argument('ftn'));
|
|
|
|
if (! $o) {
|
|
$this->error(sprintf('Address: %s doesnt exist?',$this->argument('ftn')));
|
|
return Command::FAILURE;
|
|
}
|
|
|
|
$this->info(sprintf('Address: %s (%s)',$o->ftn,$o->role_name));
|
|
$this->info(sprintf("Children: \n- %s",$o->children()->pluck('ftn4d')->join("\n- ")));
|
|
$this->info(sprintf("Downlinks: \n- %s",$o->downlinks()->pluck('ftn4d')->join("\n- ")));
|
|
$this->info(sprintf('Uplink: %s (Parent: %s)',$o->uplink()?->ftn,$o->parent()?->ftn));
|
|
$this->info(sprintf('Our Address: %s',our_address($o)?->ftn));
|
|
$this->info(sprintf('- Domain Addresses: %s',our_address($o->zone->domain)->pluck('ftn4d')->join(',')));
|
|
|
|
return self::SUCCESS;
|
|
}
|
|
} |