package PiTube::Controller::Record; use Mojo::Base 'Mojolicious::Controller'; sub list { my $c = shift; my $readable = $c->schema->resultset('ACL')->user_acl( $c->session->{user}, 4 ); my $cond = { is_active => 't', -or => [ { stream_is_public => 't' }, { stream_key => { -in => $readable }}, ] }; my $records = $c->schema->resultset('Record_view')->search( $cond, { order_by => { -desc => 'begin' }} ); my @records = (); RECORD: while ( my $record = $records->next()) { my %record = ( $record->get_columns(), ); push @records, \%record; } $c->render( json => \@records ); } sub player { my $c = shift; # vzdy aktualizovat $c->session->{user}{acl} = $c->schema->resultset('ACL')->user_acl( $c->session->{user} ); # record my $record = $c->schema->resultset('Record_view')->find({ id => $c->stash->{id} }); if ( ! $record ) { $c->render('record/404'); return; } $c->stash->{record} = { $record->get_columns, }; if ( ! ( $c->session->{user}{acl}{ $record->stream_key } & 4 ) ) { # TODO:constant $c->render('record/403'); return; } $c->render(); } 1;