Skip to content
Snippets Groups Projects
Verified Commit 49138501 authored by Andrej Ramašeuski's avatar Andrej Ramašeuski
Browse files

Doplneno urceni ACL

parent 76835f89
No related branches found
No related tags found
No related merge requests found
package PiTube::Schema::ResultSet::ACL;
use strict;
use warnings;
use base 'DBIx::Class::ResultSet';
sub user_acl {
my $class = shift;
my $user = shift;
my $grants = {};
# verejne streamy
my $streams = $class->result_source->schema->resultset('Stream')->search(
{ is_public => 1 }
);
STREAM:
while ( my $stream = $streams->next ) {
$grants->{ $stream->key} = 1; #TODO: read|write
}
# na zaklade role
my $acls = $class->search(
{
-or => [
{
class => 'all',
},
{
class => 'role',
value => { '-in' => $user->{roles} },
},
{
class => 'user',
value => $user->{id},
},
]
},
{
join => 'stream'
}
);
ACL:
while ( my $acl = $acls->next ) {
$grants->{ $acl->stream->key} = 1; #TODO: read|write
}
return $grants;
}
1;
__END__
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment