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:
@@ -130,15 +130,9 @@ class UserResource extends Resource
|
||||
])
|
||||
->query(function ($query, array $data): void {
|
||||
if ($data['value'] === 'subscribed') {
|
||||
$query->whereHas('subscriptions', function ($query): void {
|
||||
$query->where('stripe_status', 'active')
|
||||
->orWhere('stripe_status', 'trialing');
|
||||
});
|
||||
$query->withActiveSubscription();
|
||||
} elseif ($data['value'] === 'not_subscribed') {
|
||||
$query->whereDoesntHave('subscriptions', function ($query): void {
|
||||
$query->where('stripe_status', 'active')
|
||||
->orWhere('stripe_status', 'trialing');
|
||||
});
|
||||
$query->withoutActiveSubscription();
|
||||
}
|
||||
}),
|
||||
SelectFilter::make('email_verified')
|
||||
|
||||
Reference in New Issue
Block a user