public function dashboard() { $messages = Redis::lrange('messages', 0, -1); $messages = $messages ? $messages : []; $tasks = Auth::user()->tasks()->get(); return view('dashboard', compact('messages', 'tasks')); }
/** * GET, /live. Fetches SpaceXStats Live. * * @return \Illuminate\View\View */ public function live() { $isAuthed = Auth::check() && Auth::user()->isLaunchController() || Auth::isAdmin(); $js = ['auth' => $isAuthed, 'mission' => Mission::future()->first(), 'isActive' => Redis::get('live:active') == true, 'updates' => collect(Redis::lrange('live:updates', 0, -1))->map(function ($update) { return json_decode($update); }), 'countdown' => Redis::hgetall('live:countdown'), 'title' => Redis::get('live:title'), 'reddit' => Redis::hgetall('live:reddit'), 'sections' => json_decode(Redis::get('live:sections')), 'resources' => json_decode(Redis::get('live:resources')), 'description' => Redis::hgetall('live:description'), 'streams' => ['spacex' => json_decode(Redis::hget('live:streams', 'spacex')), 'spacexClean' => json_decode(Redis::hget('live:streams', 'spacexClean')), 'nasa' => json_decode(Redis::hget('live:streams', 'nasa'))], 'status' => ['text' => Redis::get('live:status')]]; if ($isAuthed) { $js['cannedResponses'] = Redis::hgetall('live:cannedResponses'); } JavaScript::put($js); return view('live'); }
/** * Execute the job. * * @return void */ public function handle() { // Rerender content $templatedOutput = view('templates.livethreadcontents')->with(['updates' => collect(Redis::lrange('live:updates', 0, -1))->reverse()->map(function ($update) { return json_decode($update); })])->render(); // Connect to Reddit $reddit = new Reddit(Config::get('services.reddit.username'), Config::get('services.reddit.password'), Config::get('services.reddit.id'), Config::get('services.reddit.secret')); $reddit->setUserAgent('ElongatedMuskrat bot by u/EchoLogic. Runs various /r/SpaceX-related tasks.'); // Update Thread $reddit->thing(Redis::hget('live:reddit', 'thing'))->edit($templatedOutput); }