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 {
|
->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')
|
||||||
|
|||||||
Reference in New Issue
Block a user