feat(cart): update CartItemResource to use visibleVariants method with included variant ID; enhance variant filtering logic
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user