From a047f5701bb71bea8cbfbdaf31672c45e76e981f Mon Sep 17 00:00:00 2001 From: xander <63683502+xander113@users.noreply.github.com> Date: Mon, 4 Apr 2022 12:20:27 -1200 Subject: [PATCH] tak e off sale --- .../Http/Controllers/CatalogController.php | 39 +++++++++++++++++++ web/resources/js/pages/Item.js | 17 +++++++- web/routes/apis.php | 2 + 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/web/app/Http/Controllers/CatalogController.php b/web/app/Http/Controllers/CatalogController.php index 20991dd..f0ffc6e 100644 --- a/web/app/Http/Controllers/CatalogController.php +++ b/web/app/Http/Controllers/CatalogController.php @@ -84,6 +84,7 @@ class CatalogController extends Controller foreach ($replies as &$reply) { $creator = User::where('id', $reply['seller_id'])->first(); + if ($creator->id == $user->id) {$reply['isMeta'] = true;}else{$reply['isMeta'] = false;} $reply['created_at'] = explode('T', $reply['created_at'])[0]; $reply['seller_name'] = $creator->username; } @@ -118,6 +119,7 @@ class CatalogController extends Controller foreach ($replies as &$reply) { $creator = User::where('id', $reply['seller_id'])->first(); + if ($creator->id == $user->id) {$reply['isMeta'] = true;}else{$reply['isMeta'] = false;} $reply['created_at'] = explode('T', $reply['created_at'])[0]; $reply['seller_name'] = $creator->username; } @@ -178,6 +180,7 @@ class CatalogController extends Controller foreach ($replies as &$reply) { $creator = User::where('id', $reply['seller_id'])->first(); + if ($creator->id == $user->id) {$reply['isMeta'] = true;}else{$reply['isMeta'] = false;} $reply['created_at'] = explode('T', $reply['created_at'])[0]; $reply['seller_name'] = $creator->username; } @@ -235,6 +238,42 @@ class CatalogController extends Controller foreach ($replies as &$reply) { $creator = User::where('id', $reply['seller_id'])->first(); + if ($creator->id == $user->id) {$reply['isMeta'] = true;}else{$reply['isMeta'] = false;} + $reply['created_at'] = explode('T', $reply['created_at'])[0]; + $reply['seller_name'] = $creator->username; + } + + return Response()->json(['message'=>"Success!", 'badInputs'=>[], "item"=>$itemA, "sellingPrices"=>$replies]); + + } + + public function removeSale(Request $request, $id) { + + $user = AuthHelper::GetCurrentUser($request); + + if (!$user) return Response()->json(['message'=>'System Error', 'badInputs'=>['title']]); + + $sellingId = $id; + + $sellingItem = Selling::whereId($sellingId)->first(); + + if (!$sellingItem) return Response()->json(['message'=>"That selling item doesn't exist!", 'badInputs'=>['title']]); + + if ($sellingItem->seller_id != $user->id) return Response()->json(['message'=>"Thats not you!", 'badInputs'=>['title']]); + + $sellingItem->delete(); + + if (count($item->sellingPrices) <= 0) {$item->current_price = null;$item->save();}else{$item->current_price = $sellingItemNew->price;$item->save();} + + $replies = $item->sellingPrices()->orderBy('price', 'asc')->paginate(10); + + $itemA = $item->toArray(); + + $itemA['creator'] = User::where('id', $item->creator_id)->first(); + + foreach ($replies as &$reply) { + $creator = User::where('id', $reply['seller_id'])->first(); + if ($creator->id == $user->id) {$reply['isMeta'] = true;}else{$reply['isMeta'] = false;} $reply['created_at'] = explode('T', $reply['created_at'])[0]; $reply['seller_name'] = $creator->username; } diff --git a/web/resources/js/pages/Item.js b/web/resources/js/pages/Item.js index c8dd2d9..c26daea 100644 --- a/web/resources/js/pages/Item.js +++ b/web/resources/js/pages/Item.js @@ -39,6 +39,21 @@ const Item = (props) => { }).catch(error=>{console.log(error);}); } + const removeSale = async (saleId) => { + setState({...state, loading: true}); + const body = new FormData(); + await axios.post(`${protocol}apis.${url}/api/catalog/remove/sale/${saleId}`, body, {headers: {"X-Requested-With":"XMLHttpRequest"}}).then(data=>{ + setState({...state, loading: false}); + const res = data.data; + if (res.badInputs.length >= 1) { + setValidity({error: true, message:res.message, inputs: res.badInputs}); + setTimeout(()=>{setValidity({...validity, error: false, inputs: res.badInputs});}, 4000); + }else{ + setPost({item: res.item, sellingPrices: {...item.sellingPrices, sellingPrices: res.sellingPrices.data, meta: res.sellingPrices}}); + } + }).catch(error=>{console.log(error);}); + } + const buyItem = async (decision, isSelling, sellingId) => { setState({...state, loading: true}); const body = new FormData(); @@ -177,7 +192,7 @@ const Item = (props) => {
Price: ${reply.price}
Item UID: {reply.uid}
- + {!reply.isMeta? : }