use
Dancer
qw/:syntax :script/
;
our
@EXPORT
= ();
our
@EXPORT_OK
=
qw/ get_port_macs /
;
our
%EXPORT_TAGS
= (
all
=> \
@EXPORT_OK
);
sub
get_port_macs {
my
(
$fw_mac_list
) =
$_
[0];
my
$port_macs
= {};
return
{}
unless
ref
[] eq
ref
$fw_mac_list
and @{
$fw_mac_list
} >= 1;
my
$bindarray
= [ {
sqlt_datatype
=>
"array"
},
$fw_mac_list
];
my
$macs
= schema(vars->{
'tenant'
})->resultset(
'Virtual::PortMacs'
)->search({},
{
bind
=> [
$bindarray
,
$bindarray
],
select
=> [
'mac'
,
'ip'
],
group_by
=> [
'mac'
,
'ip'
] } );
my
$cursor
=
$macs
->cursor;
while
(
my
@vals
=
$cursor
->
next
) {
$port_macs
->{
$vals
[0] } =
$vals
[1];
}
return
$port_macs
;
}
1;