Detect when we dont have an address in a domain, and pick the first domain address even if we are not in the zone.

This commit is contained in:
Deon George 2023-07-30 12:11:08 +10:00
parent e28e17866e
commit 3f7f04c382
2 changed files with 7 additions and 1 deletions

View File

@ -205,6 +205,10 @@ final class Echomail extends Model implements Packet
$o->origin = $this->origin;
$sysaddress = Setup::findOrFail(config('app.id'))->system->match($this->fftn->zone)->first();
if (! $sysaddress)
throw new \Exception(sprintf('%s:! We dont have an address in this network? (%s)',self::LOGKEY,$this->fftn->zone->domain->name));
$o->seenby = $this->seenby->push($sysaddress)->unique()->pluck('ftn2d');
// Add our address to the path and seenby

View File

@ -195,7 +195,9 @@ class System extends Model
public function match(Zone $o,int $type=(Address::NODE_NC|Address::NODE_HC|Address::NODE_ACTIVE|Address::NODE_PVT|Address::NODE_POINT)): Collection
{
return $this->akas
->where('zone_id',$o->id)
->where(function($item) use($o) {
return ($item->zone_id === $o->id) || ($item->zone->domain_id === $o->domain_id);
})
->filter(function($item) use ($type) {
return $item->role & $type;
});