Edit File: CartController.php
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Http\Requests\Api\Cart\AddCartRequest; use App\Http\Requests\Api\Cart\DeleteCartRequest; use App\Http\Requests\Api\Cart\UpdateCartRequest; use App\Http\Resources\CartDetailsResource; use App\Http\Resources\CartsResource; use App\Models\Cart; use App\Models\ProductGroup; use App\Traits\ApiTrait; use Illuminate\Http\Request; use App\Services\CartService; class CartController extends Controller { use ApiTrait; public function getCarts() { $cart = Cart::where('user_id', auth()->id())->groupBy('store_id')->get(); return $this->dataReturn(CartsResource::collection($cart)); } public function getSingleCart(Request $request) { $data = (new CartService())->getSingleCart($request->store_id); return $this->dataReturn($data); } public function addToCart(AddCartRequest $request) { $group = ProductGroup::find($request->group_id); if(!$group){ return $this->failMsg(__('order.cart_not_found')); } Cart::UpdateOrCreate( [ 'user_id' => auth()->id(), 'group_id' => $request->group_id, 'additives' => $request->additives, ], $request->validated() ); return $this->successMsg(__('order.added_successfully')); } public function updateCart(UpdateCartRequest $request) { return (new CartService())->updateCart($request); } public function deleteProduct(DeleteCartRequest $request) { return (new CartService())->deleteCart($request->group_id); } }
Back to File Manager