Rework address roles, making Address::role optional, rework determining uplink/downlinks/parent/children
This commit is contained in:
@@ -194,7 +194,7 @@ class System extends Model
|
||||
*/
|
||||
public function full_name(Address $o): string
|
||||
{
|
||||
switch ($o->attributes['role']) {
|
||||
switch ($o->role_id) {
|
||||
case Address::NODE_ZC;
|
||||
return sprintf('ZC-%s-%05d',$o->zone->domain->name,$o->zone->zone_id);
|
||||
|
||||
@@ -205,7 +205,7 @@ class System extends Model
|
||||
return sprintf('NC-%s-%05d',$o->zone->domain->name,$o->host_id);
|
||||
|
||||
case Address::NODE_HC;
|
||||
case Address::NODE_ACTIVE;
|
||||
case Address::NODE_NN;
|
||||
default:
|
||||
return $this->name;
|
||||
}
|
||||
@@ -218,9 +218,8 @@ class System extends Model
|
||||
* @param Zone $o
|
||||
* @param int $type
|
||||
* @return Collection
|
||||
* @todo This doesnt return sorted addresses, so it is possible that a node address is returned first, before a NC/HC, etc
|
||||
*/
|
||||
public function match(Zone $o,int $type=(Address::NODE_NC|Address::NODE_HC|Address::NODE_ACTIVE|Address::NODE_PVT|Address::NODE_POINT)): Collection
|
||||
public function match(Zone $o,int $type=(Address::NODE_NC|Address::NODE_HC|Address::NODE_NN|Address::NODE_POINT)): Collection
|
||||
{
|
||||
$akas = $this->akas
|
||||
->where(function($item) use($o) {
|
||||
@@ -228,9 +227,7 @@ class System extends Model
|
||||
});
|
||||
|
||||
return ($akas->count() > 1)
|
||||
? $akas->filter(function($item) use ($type) {
|
||||
return $item->role & $type;
|
||||
})
|
||||
? $akas->filter(function($item) use ($type) { return $item->role_id & $type;})
|
||||
: $akas;
|
||||
}
|
||||
|
||||
@@ -241,7 +238,7 @@ class System extends Model
|
||||
* @param int $type
|
||||
* @return Collection
|
||||
*/
|
||||
public function inMyZones(Collection $addresses,int $type=(Address::NODE_HC|Address::NODE_ACTIVE|Address::NODE_PVT|Address::NODE_POINT)): Collection
|
||||
public function inMyZones(Collection $addresses,int $type=(Address::NODE_HC|Address::NODE_NN|Address::NODE_POINT)): Collection
|
||||
{
|
||||
$myzones = $this->addresses->pluck('zone_id')->unique();
|
||||
|
||||
|
Reference in New Issue
Block a user