/** * Handle the event. * * @param Received $event * @return void */ public function handle(Received $event) { $data = $event->bucket->getData(); $node = $event->bucket->getSource()->getConnection()->getCurrentNode(); $data = json_decode($data['message']); $nodes = $event->bucket->getSource()->getConnection()->getNodes(); $fsnode = FSNode::where('node_id', $node->getId())->first(); if ($data->type == "auth") { $tck = $data->data; $fsnode = FSNode::where('tocken', $tck)->first(); $fsnode->node_id = $node->getId(); $fsnode->save(); if ($data->tag != "" && $fsnode) { $fsnode->fstags()->create(['tag' => $data->tag]); } return; } $router = app('fs.router'); if (isset($router->actions[$data->type])) { $router->dispatch($event); } if (config('app.debug')) { echo "> Message Received. \n"; } }
/** * @param $type * @param $data * @param $id */ public function sendUserID($type, $data, $id) { $nodes = FSNode::where("user_id", $id)->get(); foreach ($nodes as $node) { self::send($type, $data, $node->node_id); } }
/** * Handle the Event. * * @param Close $event * @return void */ public function handle(Close $event) { $node = $event->bucket->getSource()->getConnection()->getCurrentNode(); $data = $event->bucket->getData(); FSNode::where('node_id', $node->getId())->delete(); if (config('app.debug')) { echo "< Connection Closed: " . $node->getId() . " code: " . $data['code'] . " reason: " . $data['reason'] . "\n"; } }