feat(catalog): model availability as global decisions

This commit is contained in:
2026-08-25 09:03:04 -03:00
parent d9635d47ba
commit 98bfc0d5e9
13 changed files with 220 additions and 149 deletions

View File

@@ -3,7 +3,6 @@
namespace App\Domains\Catalog\Controllers;
use App\Domains\Cart\Services\CartService;
use App\Domains\Catalog\Enums\AvailabilitySubject;
use App\Domains\Catalog\Models\CatalogItem;
use App\Domains\Catalog\Models\Category;
use App\Domains\Catalog\Models\FeaturedGroup;
@@ -124,11 +123,10 @@ class CatalogController extends Controller
$variantId === null ? null : (int) $variantId,
);
$allowances->attach(collect([$item]), $this->userId($request));
abort_unless($allowances->isVisible(
abort_unless($allowances->availability(
$item->availableStock(),
$item->getAttribute('remaining_user_quota'),
AvailabilitySubject::Product,
), 404);
)->isVisible(), 404);
return CatalogItemDetailResource::make($item);
}