Implement package limit notification system
This commit is contained in:
@@ -58,6 +58,25 @@ class EventJoinTokenService
|
||||
public function incrementUsage(EventJoinToken $joinToken): void
|
||||
{
|
||||
$joinToken->increment('usage_count');
|
||||
|
||||
$event = $joinToken->event()
|
||||
->with(['eventPackage.package', 'eventPackages.package', 'tenant'])
|
||||
->first();
|
||||
|
||||
if ($event && $event->tenant) {
|
||||
$usageTracker = app(\App\Services\Packages\PackageUsageTracker::class);
|
||||
$limitEvaluator = app(\App\Services\Packages\PackageLimitEvaluator::class);
|
||||
|
||||
$eventPackage = $limitEvaluator->resolveEventPackageForPhotoUpload($event->tenant, $event->id, $event);
|
||||
|
||||
if ($eventPackage && $eventPackage->package?->max_guests !== null) {
|
||||
$previous = (int) $eventPackage->used_guests;
|
||||
$eventPackage->increment('used_guests');
|
||||
$eventPackage->refresh();
|
||||
|
||||
$usageTracker->recordGuestUsage($eventPackage, $previous, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function findToken(string $token, bool $includeInactive = false): ?EventJoinToken
|
||||
|
||||
Reference in New Issue
Block a user