LasTres/lib/LasTres/Schema/Result/PJLog.pm

61 lines
1.1 KiB
Perl

package LasTres::Schema::Result::PJLog;
use v5.36.0;
use strict;
use warnings;
use feature 'signatures';
use parent 'DBIx::Class::Core';
use Data::Dumper;
use JSON qw/from_json/;
use Moo;
__PACKAGE__->table('player_pjs_log');
__PACKAGE__->add_columns(
uuid => {
data_type => 'uuid',
is_nullable => 0,
},
content => {
data_type => 'jsonb',
accessor => '_content',
is_nullable => 0,
},
owner => {
data_type => 'uuid',
is_foreign_key => 1,
is_nullable => 0,
},
date => {
data_type => 'timestamp',
default_value => \'NOW()',
is_nullable => 0,
},
);
sub content($self) {
return from_json($self->_content);
}
__PACKAGE__->set_primary_key('uuid');
__PACKAGE__->belongs_to( 'owner', 'LasTres::Schema::Result::PJ' );
sub hash ($self) {
return {
uuid => $self->uuid,
content => $self->content,
date => $self->date,
};
}
sub sqlt_deploy_hook ( $self, $sqlt_table ) {
$sqlt_table->add_index( name => 'index_log', fields => [qw/owner date/] );
}
1;