package CF::Schema::Result::Post_view; use strict; use warnings; use base 'CF::Schema::Result::Post'; our $VERSION = 1; __PACKAGE__->table('posts_view'); __PACKAGE__->add_columns( qw( ranking_score user_name user_name group_name ), ); __PACKAGE__->set_primary_key('id'); sub format { my $self = shift; my $post = { id => $self->id, datetime => $self->datetime, type => $self->type, state => $self->state, content => $self->content, is_archived => $self->is_archived, is_changed => $self->changed ? 1 : 0, author => { id => $self->user_id, name => $self->user_name, group => $self->group_name, username => $self->user_username, }, ranking => { score => $self->ranking_score, likes => $self->ranking_likes, dislikes => $self->ranking_dislikes, my_vote => 0, }, history_log => [] }; return $post; } 1;