where('user_id', Auth::user()->id)->orderBy('created_at', 'desc'); } return new AuctionProductCollection($products->paginate(10)); } public function store(Request $request) { if (addon_is_activated('seller_subscription')) { if (!seller_package_validity_check(auth()->user()->id)) { return $this->failed(translate('Please upgrade your package.')); } } (new AuctionService)->store($request); return $this->success(translate('Auction Product has been inserted successfully')); } public function edit(Request $request, $id) { $product = Product::findOrFail($id); $product->lang = $request->lang == null ? env("DEFAULT_LANGUAGE") : $request->lang; return new AuctionProductDetailsResource($product); } public function update(Request $request, $id) { (new AuctionService)->update($request, $id); return $this->success(translate('Auction Product has been updated successfully')); } public function destroy($id) { (new AuctionService)->destroy($id); return $this->success(translate('Auction Product has been deleted successfully')); } public function productBids($id) { return new AuctionProductBidCollection(AuctionProductBid::latest()->where('product_id', $id)->paginate(15)); } public function bidDestroy($id) { AuctionProductBid::destroy($id); return $this->success(translate('Bid deleted successfully')); } public function getAuctionOrderList(Request $request) { $orders = Order::leftJoin('order_details', 'orders.id', '=', 'order_details.order_id') ->leftJoin('products', 'order_details.product_id', '=', 'products.id') ->where('orders.seller_id', auth()->user()->id) ->where('products.auction_product', '1') ->select("orders.*") ->orderBy('code', 'desc'); if ($request->payment_status != null) { $orders = $orders->where('orders.payment_status', $request->payment_status); } if ($request->delivery_status != null) { $orders = $orders->where('orders.delivery_status', $request->delivery_status); } if ($request->has('search')) { $orders = $orders->where('code', 'like', '%' . $request->search . '%'); } return new OrderCollection($orders->paginate(15)); } }