<?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Models\Address; class PacketSystem extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'packet:system' .' {ftn : System address}'; /** * The console command description. * * @var string */ protected $description = 'Show mail waiting for a system'; /** * Execute the console command. * * @return int * @throws \Exception */ public function handle(): int { $ao = Address::findFTN($this->argument('ftn')); foreach ($ao->system->addresses->where('validated',TRUE) as $o) { $pkt = $o->getEchomail(); $this->info(sprintf('System address [%s] has [%d] echomail messages.',$o->ftn,$pkt?->count())); if ($pkt) { foreach ($pkt as $msg) $this->warn(sprintf('- %s (%s)',$msg->msgid,$msg->id)); } $pkt = $o->getNetmail(); $this->info(sprintf('System address [%s] has [%d] netmail messages.',$o->ftn,$pkt?->count())); if ($pkt) { foreach ($pkt as $msg) $this->warn(sprintf('- %s (%s)',$msg->msgid,$msg->id)); } } return self::SUCCESS; } }