feat(sale): implement event scope for sales, totals, and modifications; add tests for event-based access

This commit is contained in:
2026-10-01 09:20:43 -03:00
parent bb4495c6cc
commit 31955f862d
5 changed files with 243 additions and 42 deletions

View File

@@ -8,12 +8,14 @@ use Illuminate\Database\Eloquent\Builder;
class PurchaseRefundSummaryService
{
public function totalForTenant(Tenant $tenant): string
public function totalForTenant(Tenant $tenant, ?int $eventId = null): string
{
$total = TicketRefund::query()
->whereHas(
'purchaseItem.purchase',
fn (Builder $query): Builder => $query->where('tenant_codigo', $tenant->codigo)
fn (Builder $query): Builder => $query
->where('tenant_codigo', $tenant->codigo)
->when($eventId !== null, fn (Builder $query): Builder => $query->where('event_id', $eventId))
)
->sum('amount');