refactor(users): use unified subscription scopes in filter

- Replace manual subscription queries with dedicated User model scopes
  - Use withActiveSubscription() and withoutActiveSubscription() methods
  - Improve consistency and maintainability of subscription logic
  - Remove Stripe-specific field references for multi-provider support
This commit is contained in:
idevakk
2025-12-09 11:44:19 -08:00
parent 4028a9a21e
commit 9307b4e3e4

View File

@@ -130,15 +130,9 @@ class UserResource extends Resource
]) ])
->query(function ($query, array $data): void { ->query(function ($query, array $data): void {
if ($data['value'] === 'subscribed') { if ($data['value'] === 'subscribed') {
$query->whereHas('subscriptions', function ($query): void { $query->withActiveSubscription();
$query->where('stripe_status', 'active')
->orWhere('stripe_status', 'trialing');
});
} elseif ($data['value'] === 'not_subscribed') { } elseif ($data['value'] === 'not_subscribed') {
$query->whereDoesntHave('subscriptions', function ($query): void { $query->withoutActiveSubscription();
$query->where('stripe_status', 'active')
->orWhere('stripe_status', 'trialing');
});
} }
}), }),
SelectFilter::make('email_verified') SelectFilter::make('email_verified')