<?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; } }