48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Subscription;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Inertia\Inertia;
|
|
use Inertia\Response;
|
|
|
|
class SubscriberController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of subscribers.
|
|
*/
|
|
public function index(): Response
|
|
{
|
|
$subscribers = Subscription::orderBy('created_at', 'desc')
|
|
->paginate(50);
|
|
|
|
return Inertia::render('Admin/Subscribers/Index', [
|
|
'subscribers' => $subscribers->items(),
|
|
'pagination' => [
|
|
'current_page' => $subscribers->currentPage(),
|
|
'last_page' => $subscribers->lastPage(),
|
|
'per_page' => $subscribers->perPage(),
|
|
'total' => $subscribers->total(),
|
|
],
|
|
'stats' => [
|
|
'total' => Subscription::count(),
|
|
'active' => Subscription::where('is_active', true)->count(),
|
|
'inactive' => Subscription::where('is_active', false)->count(),
|
|
],
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Remove the specified subscriber.
|
|
*/
|
|
public function destroy(Subscription $subscription): RedirectResponse
|
|
{
|
|
// Soft delete by setting is_active to false
|
|
$subscription->update(['is_active' => false]);
|
|
|
|
return redirect()->route('admin.subscribers.index')
|
|
->with('success', 'Subscriber deactivated successfully.');
|
|
}
|
|
}
|