where('user_id', auth()->user()->id)->orderBy('created_at', 'desc'); $products = $products->paginate(15); return new ProductCollection($products); } public function product_store(WholesaleProductRequest $request) { if (addon_is_activated('seller_subscription')) { if ( (auth()->user()->shop->seller_package == null) || (auth()->user()->shop->seller_package->product_upload_limit <= auth()->user()->products()->count()) ) { return $this->failed(translate('Upload limit has been reached. Please upgrade your package.')); } } $request->added_by= "seller"; $product = (new WholesaleService)->store($request->except([ '_token', 'tax_id', 'tax', 'tax_type', 'flash_deal_id', 'flash_discount', 'flash_discount_type' ])); $request->merge(['product_id' => $product->id]); //VAT & Tax if ($request->tax_id) { (new productTaxService)->store($request->only([ 'tax_id', 'tax', 'tax_type', 'product_id' ])); } // Product Translations $request->merge(['lang' => env('DEFAULT_LANGUAGE')]); ProductTranslation::create($request->only([ 'lang', 'name', 'unit', 'description', 'product_id' ])); return $this->success("Product successfully created."); } public function product_edit(Request $request, $id) { $product = Product::findOrFail($id); $product->lang = $request->lang == null ? env("DEFAULT_LANGUAGE") : $request->lang; return new WholesaleProductDetailsCollection($product); } public function product_update(WholesaleProductRequest $request, $id) { (new WholesaleService)->update($request, $id); return $this->success(translate('Product has been updated successfully')); } public function product_destroy($id) { (new WholesaleService)->destroy($id); return $this->success("Product successfully deleted."); } }