feat: refactor cart item handling to use mapped buyable types and improve method signatures

This commit is contained in:
2026-07-14 16:43:00 -03:00
parent 480ee70393
commit c05206cc51
7 changed files with 50 additions and 31 deletions

View File

@@ -29,7 +29,7 @@ class CartController extends Controller
$result = $this->cartService->addItem(
$tenant,
$request,
$request->validated('buyable_type'),
$request->mappedBuyableType(),
(int) $request->validated('buyable_id'),
(int) $request->validated('cantidad'),
);
@@ -48,24 +48,22 @@ class CartController extends Controller
public function updateItemQuantity(
UpdateCartItemQuantityRequest $request,
Tenant $tenant,
string $buyableType,
int $buyableId,
\App\Domains\Cart\Models\CartItem $cartItem,
): CartResource {
return CartResource::make(
$this->cartService->updateItemQuantity(
$tenant,
$request,
$buyableType,
$buyableId,
$cartItem->getKey(),
(int) $request->validated('cantidad'),
)
)->additional(['message' => 'Cantidad de producto actualizada.']);
}
public function removeItem(Request $request, Tenant $tenant, string $buyableType, int $buyableId): CartResource
public function removeItem(Request $request, Tenant $tenant, \App\Domains\Cart\Models\CartItem $cartItem): CartResource
{
return CartResource::make(
$this->cartService->removeItem($tenant, $request, $buyableType, $buyableId)
$this->cartService->removeItem($tenant, $request, $cartItem->getKey())
)->additional(['message' => 'Producto eliminado del carrito.']);
}
}