package PiTube::Controller::Stream; use Mojo::Base 'Mojolicious::Controller'; use constant CONTENT_TYPE => { m3u8 => 'application/vnd.apple.mpegurl', ts => 'video/mp2t', }; sub list { my $c = shift; my $cond = { is_active => 't' }; $cond->{is_public} = 't' if ! $c->is_user_authenticated; my $streams = $c->schema->resultset('Stream_view')->search( $cond, { order_by => 'name' } ); $c->stash->{streams} = $streams; } sub player { my $c = shift; # vzdy aktualizovat $c->session->{user}{acl} = $c->schema->resultset('ACL')->user_acl( $c->session->{user} ); # stream my $stream = $c->schema->resultset('Stream_view')->find({ key => $c->stash->{key} }); if ( ! $stream ) { $c->render('stream/404'); return; } $c->stash->{stream} = $stream; if ( ! $c->session->{user}{acl}{ $stream->key } ) { $c->render('stream/403'); return; } $c->render(); } 1; __END__