Separatly handle areafix/filefix
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 30s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m30s
Create Docker Image / Final Docker Image Manifest (push) Successful in 9s

This commit is contained in:
Deon George 2024-11-01 12:35:36 +11:00
parent 2598203edb
commit 1002309614
4 changed files with 33 additions and 14 deletions

View File

@ -8,7 +8,8 @@ use Illuminate\Support\Facades\Log;
use App\Classes\FTN\Process;
use App\Classes\FTN\Process\Netmail\Robot\Unknown;
use App\Models\{Echomail,Netmail};
use App\Notifications\Netmails\Areafix as AreafixNotification;
use App\Notifications\Netmails\FixCantHandle;
use App\Notifications\Netmails\Areafix\{CommandsProcessed,InvalidPassword,NotConfiguredHere};
/**
* Process messages to Ping
@ -26,22 +27,33 @@ final class Areafix extends Process
if (((strtolower($mo->to) !== 'areafix') || (strtolower($mo->to) !== 'filefix')) && (! ($mo instanceof Netmail)))
return FALSE;
Log::info(sprintf('%s:- Processing AREAFIX message from (%s) [%s]',self::LOGKEY,$mo->from,$mo->fftn->ftn));
Log::info(sprintf('%s:- Processing *FIX [%s] message from (%s) [%s]',self::LOGKEY,$mo->to,$mo->from,$mo->fftn->ftn));
// If this is not a node we manage, then respond with a sorry can help you
if (! $mo->fftn->system->sessions->count()) {
Notification::route('netmail',$mo->fftn)->notify(new AreafixNotification\NotConfiguredHere($mo));
Notification::route('netmail',$mo->fftn)->notify(new NotConfiguredHere($mo));
return TRUE;
}
// If this nodes password is not correct
if ($mo->fftn->pass_fix !== strtoupper($mo->subject)) {
Notification::route('netmail',$mo->fftn)->notify(new AreafixNotification\InvalidPassword($mo));
Notification::route('netmail',$mo->fftn)->notify(new InvalidPassword($mo));
return TRUE;
}
if ((strtolower($mo->to) === 'areafix'))
return self::areafix($mo);
if ((strtolower($mo->to) === 'filefix'))
return self::filefix($mo);
return FALSE;
}
public static function areafix(Netmail $mo): bool
{
$result = collect();
$result->push('--> BEGIN <--');
@ -87,7 +99,14 @@ final class Areafix extends Process
}
// Reply with a confirmation of what commands were processed
Notification::route('netmail',$mo->fftn)->notify(new AreafixNotification\CommandsProcessed($mo,$result));
Notification::route('netmail',$mo->fftn)->notify(new CommandsProcessed($mo,$result));
return TRUE;
}
public static function filefix(Netmail $mo): bool
{
Notification::route('netmail',$mo->fftn)->notify(new FixCantHandle($mo));
return TRUE;
}

View File

@ -44,10 +44,10 @@ class InvalidPassword extends Netmails
$o->to = $this->mo->from;
$o->replyid = $this->mo->msgid;
$o->subject = 'Areafix - Invalid Password';
$o->subject = '*fix - Invalid Password';
// Message
$msg = $this->page(FALSE,'Areafix');
$msg = $this->page(FALSE,$this->mo->to);
$msg->addText("Your areafix request has been received, but unfortunately your password was incorrect.\r\r");
$msg->addText(sprintf("If you are not aware of your password, head over to %s. Feel free to netmail if you need help.\r\r",config('app.url')));

View File

@ -44,10 +44,10 @@ class NotConfiguredHere extends Netmails
$o->to = $this->mo->from;
$o->replyid = $this->mo->msgid;
$o->subject = 'Areafix - Not Configured Here';
$o->subject = '*fix - Not Configured Here';
// Message
$msg = $this->page(FALSE,'Areafix');
$msg = $this->page(FALSE,$this->mo->to);
$msg->addText("Your areafix request has been received, but unfortunately you are not configured here.\r\r");
$msg->addText(sprintf("If you want to receive mail from this system, please register/link your BBS via the web UI. Head over to %s. Feel free to netmail if you need help.\r\r",config('app.url')));

View File

@ -8,7 +8,7 @@ use App\Notifications\Netmails;
use App\Models\Netmail;
use App\Traits\{MessagePath,PageTemplate};
class Areafix extends Netmails
class FixCantHandle extends Netmails
{
use MessagePath,PageTemplate;
@ -40,16 +40,16 @@ class Areafix extends Netmails
$o = $this->setupNetmail($notifiable);
$ao = $notifiable->routeNotificationFor(static::via);
Log::info(sprintf('%s:+ Responding to areafix with netmail to [%s]',self::LOGKEY,$ao->ftn));
Log::info(sprintf('%s:+ Responding to *fix with netmail to [%s]',self::LOGKEY,$ao->ftn));
$o->to = $this->mo->from;
$o->replyid = $this->mo->msgid;
$o->subject = 'Areafix Reply';
$o->subject = '*fix Reply';
// Message
$msg = $this->page(FALSE,'Areafix');
$msg = $this->page(FALSE,$this->mo->to);
$msg->addText("Your areafix request has been received, but unfortunately I do not know how to handle areafix messages yet.\r\r");
$msg->addText("Your *fix request has been received, but unfortunately I do not know how to handle this *fix message yet.\r\r");
$msg->addText(sprintf("Until then, you may be able to achieve what you want via the web UI. Head over to %s. Feel free to netmail if you need help.\r\r",config('app.url')));
$msg->addText($this->message_path($this->mo));