clrghouz/app/Console/Commands/MailList.php
Deon George e15331ec35
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 40s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m43s
Create Docker Image / Final Docker Image Manifest (push) Successful in 10s
No function changes. Cleanup console command cleanup
2024-05-27 15:08:39 +10:00

79 lines
1.4 KiB
PHP

<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Models\Address;
class MailList extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'mail:list {ftn : FTN address}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'List mail waiting for a node';
/**
* Execute the console command.
*
* @return int
* @throws \Exception
*/
public function handle(): int
{
$ao = Address::findFTN($this->argument('ftn'),TRUE);
if (! $ao) {
$this->error(sprintf('%s not found?',$this->argument('ftn')));
return self::FAILURE;
}
$this->info('Netmail');
$this->table([
'id' => 'ID',
'msgid' => 'MSGID',
'from' => 'FROM',
'to' => 'TO',
'subject' => 'SUBJECT',
],$ao->netmailWaiting()->map(function($item) {
return [
'id'=>$item->id,
'msgid'=>$item->msgid,
'from'=>$item->from,
'to'=>$item->to,
'subject'=>$item->subject,
];
}));
$this->info('Echomail');
$this->table([
'id' => 'ID',
'msgid' => 'MSGID',
'from' => 'FROM',
'to' => 'TO',
'subject' => 'SUBJECT',
'area' => 'AREA',
],$ao->echomailWaiting()->map(function($item) {
return [
'id'=>$item->id,
'msgid'=>$item->msgid,
'from'=>$item->from,
'to'=>$item->to,
'subject'=>$item->subject,
'area'=>$item->echoarea->name,
];
}));
return self::SUCCESS;
}
}