35 lines
817 B
Perl
35 lines
817 B
Perl
package App::Netdisco::DB::Result;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use base 'DBIx::Class::Core';
|
|
|
|
BEGIN {
|
|
no warnings 'redefine';
|
|
__PACKAGE__->load_components(qw{Helper::Row::ToJSON});
|
|
|
|
# this replacement will avoid the issue of relation names which override
|
|
# field names, causing TO_JSON to return object instances, breaking to_json
|
|
*DBIx::Class::Helper::Row::ToJSON::TO_JSON = sub {
|
|
my $self = shift;
|
|
my $columns_info = $self->columns_info($self->serializable_columns);
|
|
my $columns_data = { $self->get_columns };
|
|
return {
|
|
map +($_ => $columns_data->{$_}), keys %$columns_info
|
|
};
|
|
};
|
|
}
|
|
|
|
# for DBIx::Class::Helper::Row::ToJSON
|
|
# to allow text columns to be included in results
|
|
|
|
sub unserializable_data_types {
|
|
return {
|
|
blob => 1,
|
|
ntext => 1,
|
|
};
|
|
}
|
|
|
|
1;
|