*/ protected function usersWithLegacyEncryption(): Builder { return User::query()->with('subscriptions')->where(function (Builder $query): void { $query->whereHas('transactions', function (Builder $transactions): void { $transactions->whereNotNull('description_iv') ->orWhereNotNull('notes_iv'); })->orWhereHas('accounts', function (Builder $accounts): void { $accounts->whereNotNull('name_iv'); }); }); } /** * Drop users who are still being billed. These accounts must never be emailed a * deletion warning nor deleted while a subscription or trial is active. * * @param Collection $users * @return Collection */ protected function excludeBilledUsers(Collection $users): Collection { return $users->reject(fn (User $user): bool => $user->hasActiveSubscriptionOrTrial())->values(); } }