LasTres/lib/LasTres/Controller/Websocket/InputPacket/Init.pm

43 lines
1004 B
Perl

package LasTres::Controller::Websocket::InputPacket::Init;
use v5.36.0;
use strict;
use warnings;
use Moo;
use LasTres::Redis;
with 'LasTres::Controller::Websocket::InputPacket';
sub identifier {
return 'init';
}
my $redis = LasTres::Redis->new;
sub handle ( $self, $ws, $session, $data ) {
if (ref $data ne 'HASH') {
return $ws->send( encode_json( { error => "Data should be a hashref." } ) );
}
my $pj_uuid = $data->{pj_uuid};
if ( !defined $pj_uuid ) {
return $ws->send( encode_json( { error => "No pj sent." } ) );
}
my @pjs = $result_set_pjs->search( { uuid => $pj_uuid } );
if ( !scalar @pjs ) {
return $ws->send(
encode_json( { error => 'This pj does not exists' } ) );
}
my $pj = $pjs[0];
my $user = $session->{user};
if ( $pj->owner->uuid ne $user->uuid ) {
return $ws->send(
encode_json( { error => 'You are not the owner of this pj.' } ) );
}
$session->{pj} = $pj;
}
1;