wish = $wish; $this->toastr = $toastr; } /** * @param $uid * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function index($uid) { $wishes = $this->wish->getUserWishes($uid); return view('user.wishlist', ['wishes' => $wishes]); } /** * @param Request $request * @param $uid * @return \Illuminate\Http\RedirectResponse */ public function store(Request $request, $uid) { $imdb = starts_with($request->get('imdb'), 'tt') ? $request->get('imdb') : 'tt'.$request->get('imdb'); if ($this->wish->exists($uid, $imdb)) { return redirect() ->route('wishlist', ['id' => $uid]) ->with($this->toastr->error('Wish already exists!', 'Whoops!', ['options'])); } $omdb = $this->wish->omdbRequest($imdb); if($omdb === null || $omdb === false) { return redirect() ->route('wishlist', ['id' => $uid]) ->with($this->toastr->error('IMDB Bad Request!', 'Whoops!', ['options'])); }; $source = $this->wish->getSource($imdb); $this->wish->create([ 'title' => $omdb['Title'] . ' (' . $omdb['Year'] . ')', 'type' => $omdb['Type'], 'imdb' => $imdb, 'source' => $source, 'user_id' => $uid ]); return redirect() ->route('wishlist', ['id' => $uid]) ->with($this->toastr->success('Wish Successfully Added!', 'Yay!', ['options'])); } /** * @param $uid * @param $id * @return \Illuminate\Http\RedirectResponse */ public function destroy($uid, $id) { $this->wish->delete($id); return redirect() ->route('wishlist', ['id' => $uid]) ->with($this->toastr->success('Wish Successfully Removed!', 'Yay!', ['options'])); } }