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;
}
public function mail(Builder $msgs): self
public function mail(Collection $msgs): self
{
$this->messages = $msgs->get();
$this->messages = $msgs;
return $this;
}

View File

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

View File

@ -1052,7 +1052,7 @@ class Address extends Model
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));
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;
@ -1081,11 +1081,13 @@ class Address extends Model
if (($num=$this->netmailAlertWaiting())->count()) {
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
$pass = $num
$pass = $msgs
->map(function($item) {
$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()
->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));
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) {
$item->subject = preg_replace("/^{$pass}:/",'',$item->subject);
return $item;
@ -1108,7 +1110,7 @@ class Address extends Model
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));
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;
@ -1180,11 +1182,11 @@ class Address extends Model
/**
* Netmail alerts waiting to be sent to this system
*
* @return Collection
* @return Builder
* @throws \Exception
* @note The packet password to use is on the subject line for these alerts
*/
public function netmailAlertWaiting(): Collection
public function netmailAlertWaiting(): Builder
{
$netmails = $this
->UncollectedNetmail()
@ -1196,7 +1198,7 @@ class Address extends Model
->groupBy(['netmails.id'])
->get();
return Netmail::whereIn('id',$netmails->pluck('id'))->get();
return Netmail::whereIn('id',$netmails->pluck('id'));
}
public function nodes(): Collection