feat(cart): update CartItemResource to use visibleVariants method with included variant ID; enhance variant filtering logic

This commit is contained in:
2026-08-10 13:59:45 -03:00
parent 8542c03466
commit 6844ab7af9
4 changed files with 21 additions and 5 deletions

View File

@@ -172,10 +172,11 @@ class CatalogItem extends Model
}
/** @return Collection<int, Variant> */
public function visibleVariants(): Collection
public function visibleVariants(?int $includedVariantId = null): Collection
{
return $this->variants
->filter(fn (Variant $variant): bool => $this->inventory_policy === InventoryPolicy::Unlimited
->filter(fn (Variant $variant): bool => ($includedVariantId !== null && $variant->id === $includedVariantId)
|| $this->inventory_policy === InventoryPolicy::Unlimited
|| ($variant->inventory?->availableStock() ?? 0) > 0)
->values();
}