has('product')){ return response()->json(['status' =>false, 'message' => 'bad request'],405); } $product = json_decode(request('product'),true); $this->validate($product, [ 'sku' => ['required', 'unique:products,sku', new Slug], ]); // $product = $this->productRepository->create(request()- return $product; } public function create(){ try { $data = json_decode(request()->getContent(),true); } catch (\Exception $e){ Log::error($e->getMessage()); return response()->json(['errors'=>$e->getMessage()],400); } $validation = Validator::make($data, [ 'categories' => 'required', // 'sku' => ['required', 'unique:products,sku', new Slug], 'images' => 'required', 'name' => 'required', 'url_key'=> 'required', 'price' => 'required', 'vendor' => 'required', 'weight' => 'required' ]); if ($validation->fails()) { Log::info($data); return response()->json(['errors'=>$validation->getMessageBag()->all()],422); } if($product = $this->productRepository->findOneByField('sku',$data['product_group_id'])) {//product_group_id return response()->json(['success'=>true,'product_id' => $product->id]); } elseif($product = $this->productRepository->createProduct($data)){ return response()->json(['success'=>true,'product_id' => $product->id]); }else{ return response()->json(['success'=>false],400); } } public function update(){ try { $data = json_decode(request()->getContent(),true); } catch (\Exception $e){ Log::error($e->getMessage()); return response()->json(['errors'=>$e->getMessage()],400); } if(! $product = $this->productRepository->findOneByField('sku',$data['sku'])){ return response()->json(['success'=> false,'message' => 'product not found'],400); } if($this->productRepository->updateProduct($product,$data)){ return response()->json(['success'=>true,'product_id' => $product->id]); } } }