refactor(stock): make reservation expiration authoritative

This commit is contained in:
2026-08-25 15:28:17 -03:00
parent 6db99e775a
commit 7a85e1731d
16 changed files with 304 additions and 207 deletions

View File

@@ -9,6 +9,7 @@ use App\Domains\Purchase\Services\Checkout\EditCheckoutService;
use App\Domains\Purchase\Services\Checkout\ReleaseCheckoutService;
use App\Domains\Purchase\Services\Checkout\StartCheckoutService;
use App\Domains\Tenant\Models\Tenant;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
/**
@@ -78,13 +79,8 @@ class CheckoutService
return $this->releaser->expire($purchase);
}
public function expireOverduePurchases(): int
public function refreshReservationExpiration(Purchase $purchase, ?Carbon $expiresAt): void
{
return $this->releaser->expireOverdue();
}
public function syncReservationExpiration(Purchase $purchase): void
{
$this->reservations->syncPurchaseExpiration($purchase);
$this->reservations->refreshForPurchase($purchase, $expiresAt);
}
}