App\Http\Controllers\OrdersController::storeWishList PHP Method

storeWishList() public method

Create the new wishList with a description.
public storeWishList ( Illuminate\Http\Request $request ) : Response
$request Illuminate\Http\Request
return Response JSON
    public function storeWishList(Request $request)
    {
        $description = $request->get('description');
        $user = \Auth::user();
        if ($user) {
            //checking if the default wish list exists, otherwise, it is created automatically
            $defaultList = Order::ofType('wishlist')->ofUser($user->id)->select(['id', 'type', 'description', 'status'])->first();
            //creating the default wish list, taking in account that it does not exist
            if (!$defaultList) {
                $default = new Order();
                $default->user_id = $user->id;
                $default->description = '';
                $default->type = 'wishlist';
                $default->status = 'open';
                $default->save();
            }
            //checking if the wish list requested is not in our records
            $newList = Order::ofType('wishlist')->ofUser($user->id)->where('description', $description)->select(['id', 'type', 'description', 'status'])->first();
            //if the wish list requested is in our records, a error is sent
            if ($newList) {
                Session::push('messageClass', 'alert-danger');
                Session::push('message', trans('store.form_create_list_view.message_fail'));
                return \Response::json(['success' => true], 200);
            } else {
                //Creates the new wishlist with the provided description
                $newList = new Order();
                $newList->user_id = $user->id;
                $newList->description = $description;
                $newList->type = 'wishlist';
                $newList->status = 'open';
                $newList->save();
                Session::push('message', trans('store.form_create_list_view.message_success'));
                return \Response::json(['success' => true], 200);
            }
        }
    }