cartService->show($tenant, $request)); } public function addItem(AddCartItemRequest $request, Tenant $tenant): JsonResponse { $result = $this->cartService->addItem( $tenant, $request, (int) $request->validated('product_variant_id'), (int) $request->validated('cantidad'), ); $response = CartResource::make($result['cart']) ->additional(['message' => 'Producto agregado al carrito.']) ->response(); if ($result['guest_token'] !== null) { $response->withCookie($this->cartService->makeGuestTokenCookie($result['guest_token'])); } return $response; } public function updateItemQuantity( UpdateCartItemQuantityRequest $request, Tenant $tenant, ProductVariant $productVariant, ): CartResource { return CartResource::make( $this->cartService->updateItemQuantity( $tenant, $request, $productVariant->getKey(), (int) $request->validated('cantidad'), ) )->additional(['message' => 'Cantidad de producto actualizada.']); } public function removeItem(Request $request, Tenant $tenant, ProductVariant $productVariant): CartResource { return CartResource::make( $this->cartService->removeItem($tenant, $request, $productVariant->getKey()) )->additional(['message' => 'Producto eliminado del carrito.']); } }