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;
 |