Compare commits

...

2 Commits

Author SHA1 Message Date
ba0f643dca Improvements to e692de7, which wasnt picking up netmail alerts
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 41s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m51s
Create Docker Image / Final Docker Image Manifest (push) Successful in 11s
2024-06-09 21:14:27 +10:00
d6779e6e01 Fix, when moving address and deleting the source system, also delete any system_logs 2024-06-08 21:27:42 +10:00
3 changed files with 13 additions and 10 deletions

View File

@ -405,9 +405,9 @@ abstract class Packet extends FTNBase implements \Iterator, \Countable
return (string)$this; return (string)$this;
} }
public function mail(Builder $msgs): self public function mail(Collection $msgs): self
{ {
$this->messages = $msgs->get(); $this->messages = $msgs;
return $this; return $this;
} }

View File

@ -308,6 +308,7 @@ class SystemController extends Controller
if (Arr::get($validated,'remove')) { if (Arr::get($validated,'remove')) {
$so->sessions()->detach($o->zone); $so->sessions()->detach($o->zone);
$so->logs()->delete();
$so->mailers()->detach(); $so->mailers()->detach();
$so->users()->detach(); $so->users()->detach();
$so->delete(); $so->delete();

View File

@ -1052,7 +1052,7 @@ class Address extends Model
if ($num->count() > $this->system->pkt_msgs) if ($num->count() > $this->system->pkt_msgs)
Log::notice(sprintf('%s:= Only sending [%d] echomails for [%s]',self::LOGKEY,$this->system->pkt_msgs,$this->ftn)); Log::notice(sprintf('%s:= Only sending [%d] echomails for [%s]',self::LOGKEY,$this->system->pkt_msgs,$this->ftn));
return $this->system->packet($this)->mail($num->take($this->system->pkt_msgs)); return $this->system->packet($this)->mail($num->take($this->system->pkt_msgs)->get());
} }
return NULL; return NULL;
@ -1081,11 +1081,13 @@ class Address extends Model
if (($num=$this->netmailAlertWaiting())->count()) { if (($num=$this->netmailAlertWaiting())->count()) {
Log::debug(sprintf('%s:= Packaging [%d] netmail alerts to [%s]',self::LOGKEY,$num->count(),$this->ftn)); Log::debug(sprintf('%s:= Packaging [%d] netmail alerts to [%s]',self::LOGKEY,$num->count(),$this->ftn));
$msgs = $num->get();
// Find any message that defines a packet password // Find any message that defines a packet password
$pass = $num $pass = $msgs
->map(function($item) { ->map(function($item) {
$passpos = strpos($item->subject,':'); $passpos = strpos($item->subject,':');
return (($passpos > 0) && ($passpos < 8)) ? substr($item->subject,0,$passpos) : NULL; return (($passpos > 0) && ($passpos <= 8)) ? substr($item->subject,0,$passpos) : NULL;
}) })
->filter() ->filter()
->pop(); ->pop();
@ -1093,7 +1095,7 @@ class Address extends Model
Log::debug(sprintf('%s:= Overwriting system packet password with [%s] for [%s]',self::LOGKEY,$pass,$this->ftn)); Log::debug(sprintf('%s:= Overwriting system packet password with [%s] for [%s]',self::LOGKEY,$pass,$this->ftn));
return $this->system->packet($this,$pass)->mail( return $this->system->packet($this,$pass)->mail(
$num->filter(fn($item)=>preg_match("/^{$pass}:/",$item->subject)) $msgs->filter(fn($item)=>preg_match("/^{$pass}:/",$item->subject))
->transform(function($item) use ($pass) { ->transform(function($item) use ($pass) {
$item->subject = preg_replace("/^{$pass}:/",'',$item->subject); $item->subject = preg_replace("/^{$pass}:/",'',$item->subject);
return $item; return $item;
@ -1108,7 +1110,7 @@ class Address extends Model
if ($num->count() > $this->system->pkt_msgs) if ($num->count() > $this->system->pkt_msgs)
Log::alert(sprintf('%s:= Only sending [%d] netmails for [%s]',self::LOGKEY,$this->system->pkt_msgs,$this->ftn)); Log::alert(sprintf('%s:= Only sending [%d] netmails for [%s]',self::LOGKEY,$this->system->pkt_msgs,$this->ftn));
return $this->system->packet($this)->mail($num->take($this->system->pkt_msgs)); return $this->system->packet($this)->mail($num->take($this->system->pkt_msgs)->get());
} }
return NULL; return NULL;
@ -1180,11 +1182,11 @@ class Address extends Model
/** /**
* Netmail alerts waiting to be sent to this system * Netmail alerts waiting to be sent to this system
* *
* @return Collection * @return Builder
* @throws \Exception * @throws \Exception
* @note The packet password to use is on the subject line for these alerts * @note The packet password to use is on the subject line for these alerts
*/ */
public function netmailAlertWaiting(): Collection public function netmailAlertWaiting(): Builder
{ {
$netmails = $this $netmails = $this
->UncollectedNetmail() ->UncollectedNetmail()
@ -1196,7 +1198,7 @@ class Address extends Model
->groupBy(['netmails.id']) ->groupBy(['netmails.id'])
->get(); ->get();
return Netmail::whereIn('id',$netmails->pluck('id'))->get(); return Netmail::whereIn('id',$netmails->pluck('id'));
} }
public function nodes(): Collection public function nodes(): Collection