mad-lawsuit/app/Http/Controllers/Admin/SubscriberController.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.');
}
}