diff --git a/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm b/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm index 87057264..aab43dc4 100644 --- a/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm +++ b/lib/App/Netdisco/DB/Result/Virtual/DeviceLinks.pm @@ -11,11 +11,14 @@ __PACKAGE__->table('device_links'); __PACKAGE__->result_source_instance->is_virtual(1); __PACKAGE__->result_source_instance->view_definition(<add_columns( 'left_descr' => { data_type => 'text', }, + 'speed' => { + data_type => 'text', + }, 'right_ip' => { data_type => 'inet', }, diff --git a/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm b/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm index e4355ba6..8085cde8 100644 --- a/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm +++ b/lib/App/Netdisco/Web/Plugin/Device/Neighbors.pm @@ -98,7 +98,9 @@ ajax '/ajax/data/device/netmap' => require_login sub { { right_ip => $qdev->ip }, ]) : ()) }, { - columns => [qw/left_ip right_ip/], + columns => [qw/left_ip speed right_ip/], + '+select' => [\'row_number() over()'], + '+as' => ['row_number'], result_class => 'DBIx::Class::ResultClass::HashRefInflator', }); @@ -118,6 +120,8 @@ ajax '/ajax/data/device/netmap' => require_login sub { push @{$v3data{'links'}}, { FROMID => $l->{left_ip}, TOID => $l->{right_ip}, + SPEED => $l->{speed}, + ID => $l->{row_number}, }; ++$ok_dev{$l->{left_ip}};