From 68f6aeb22447282a454ddba4fba9040e469fc162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Fri, 1 Jan 2021 21:53:34 +0100 Subject: [PATCH] Uspornejsi prace s uzivatelem, zmena pocitani --- lib/CF/Controller/Websockets.pm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/CF/Controller/Websockets.pm b/lib/CF/Controller/Websockets.pm index 789f426..c2329a2 100644 --- a/lib/CF/Controller/Websockets.pm +++ b/lib/CF/Controller/Websockets.pm @@ -14,6 +14,8 @@ sub main { my $c = shift; my $ip = $c->tx->remote_address; + my $user; + $c->inactivity_timeout(SOCKET_INACTIVITY_TIMEOUT); my $pubsub = Mojo::Pg::PubSub->new(pg => $c->pg); @@ -25,12 +27,11 @@ sub main { $c->on(json => sub( $c, $message ) { if ( $message->{event} eq 'KEEPALIVE' ) { - my $user; if ($message->{payload} =~ /^(\d+)$/) { # TODO: check signtaure - $user = $c->schema->resultset('User')->find( + $user //= $c->schema->resultset('User')->find( { id => $1 } ); } @@ -42,12 +43,10 @@ sub main { user_id => $user ? $user->id : undef, }, { key => $user ? 'user':'primary'} ); - my $all = $c->schema->resultset('Socket_view')->count( - { is_alive => 't', } - ); + my $all = $c->schema->resultset('Socket_view')->count(); my $members = $c->schema->resultset('Socket_view')->count( - { is_alive => 't', is_member => 't' } + { is_member => 't' } ); my $group_size = $c->_member_group_size($members); @@ -64,7 +63,7 @@ sub main { $c->send({json => { event => 'user_status', payload => { jitsi_allowed => $jitsi ? \1:\0, -# is_banned => $user->banned_until ? 1:0, + is_banned => $user->banned_until ? \1:\0, }}}); } } -- GitLab