__PACKAGE__->table(
"node_wireless"
);
__PACKAGE__->add_columns(
"mac"
,
{
data_type
=>
"macaddr"
,
is_nullable
=> 0 },
"uptime"
,
{
data_type
=>
"integer"
,
is_nullable
=> 1 },
"maxrate"
,
{
data_type
=>
"integer"
,
is_nullable
=> 1 },
"txrate"
,
{
data_type
=>
"integer"
,
is_nullable
=> 1 },
"sigstrength"
,
{
data_type
=>
"integer"
,
is_nullable
=> 1 },
"sigqual"
,
{
data_type
=>
"integer"
,
is_nullable
=> 1 },
"rxpkt"
,
{
data_type
=>
"bigint"
,
is_nullable
=> 1 },
"txpkt"
,
{
data_type
=>
"bigint"
,
is_nullable
=> 1 },
"rxbyte"
,
{
data_type
=>
"bigint"
,
is_nullable
=> 1 },
"txbyte"
,
{
data_type
=>
"bigint"
,
is_nullable
=> 1 },
"time_last"
,
{
data_type
=>
"timestamp"
,
default_value
=> \
"LOCALTIMESTAMP"
,
is_nullable
=> 1,
original
=> {
default_value
=> \
"LOCALTIMESTAMP"
},
},
"ssid"
,
{
data_type
=>
"text"
,
is_nullable
=> 0,
default_value
=>
''
},
);
__PACKAGE__->set_primary_key(
"mac"
,
"ssid"
);
__PACKAGE__->belongs_to(
oui
=>
'App::Netdisco::DB::Result::Oui'
,
sub
{
my
$args
=
shift
;
return
{
"$args->{foreign_alias}.oui"
=>
{
'='
=> \
"substring(cast($args->{self_alias}.mac as varchar) for 8)"
}
};
},
{
join_type
=>
'LEFT'
}
);
__PACKAGE__->belongs_to(
manufacturer
=>
'App::Netdisco::DB::Result::Manufacturer'
,
sub
{
my
$args
=
shift
;
return
{
"$args->{foreign_alias}.range"
=> {
'@>'
=>
\
qq{('x' || lpad( translate( $args->{self_alias}
.mac ::text,
':'
,
''
), 16,
'0'
)) ::bit(64) ::bigint} },
};
},
{
join_type
=>
'LEFT'
}
);
__PACKAGE__->belongs_to(
node
=>
'App::Netdisco::DB::Result::Node'
,
{
'foreign.mac'
=>
'self.mac'
},
{
join_type
=>
'LEFT'
} );
sub
net_mac {
return
NetAddr::MAC->new(
mac
=> ((
shift
)->mac ||
''
)) }
1;