From 643f1197d6a3570b21d734256650ae6d37e9fdfd Mon Sep 17 00:00:00 2001 From: Deon George Date: Mon, 27 May 2024 22:22:38 +1000 Subject: [PATCH] Fix when we use newFTN, find the zone/domain if it is provided. Fix packet creation error, where Address::ftn depends on zone_id --- app/Models/Address.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Models/Address.php b/app/Models/Address.php index 1f18591..3f54a25 100644 --- a/app/Models/Address.php +++ b/app/Models/Address.php @@ -245,10 +245,13 @@ class Address extends Model public static function newFTN(string $address): self { $ftn = self::parseFTN($address); + $do = $ftn['d'] ? Domain::where('name',$ftn['d'])->single() : NULL; + + $zo = Zone::where('zone_id',$ftn['z']) + ->when($do,fn($query)=>$query->where('domain_id',$do->id)) + ->single(); + $o = new self; - - $zo = Zone::where('zone_id',$ftn['z'])->single(); - $o->zone_id = $zo?->id; $o->region_id = $ftn['r']; $o->host_id = $ftn['n'];