productRepo = $productRepo; } /** * @return \Illuminate\Http\Response */ public function index() { $products = Product::scope() ->withTrashed() ->orderBy('created_at', 'desc'); return $this->listResponse($products); } /** * @param CreateProductRequest $request * @return \Illuminate\Http\Response */ public function store(CreateProductRequest $request) { $product = $this->productRepo->save($request->input()); return $this->itemResponse($product); } /** * @param UpdateProductRequest $request * @param $publicId * @return \Illuminate\Http\Response */ public function update(UpdateProductRequest $request, $publicId) { if ($request->action) { return $this->handleAction($request); } $data = $request->input(); $data['public_id'] = $publicId; $product = $this->productRepo->save($data, $request->entity()); return $this->itemResponse($product); } }