From 9307b4e3e422d90a143cce94d2ff2c59d02f1ef5 Mon Sep 17 00:00:00 2001 From: idevakk <219866223+idevakk@users.noreply.github.com> Date: Tue, 9 Dec 2025 11:44:19 -0800 Subject: [PATCH] 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 --- app/Filament/Resources/UserResource.php | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/app/Filament/Resources/UserResource.php b/app/Filament/Resources/UserResource.php index ee17439..16b4069 100644 --- a/app/Filament/Resources/UserResource.php +++ b/app/Filament/Resources/UserResource.php @@ -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')