38 lines
1.0 KiB
PHP
38 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Booking;
|
|
use App\Models\Business;
|
|
use App\Models\DjProfile;
|
|
use App\Models\Enquiry;
|
|
use App\Models\Review;
|
|
use App\Models\User;
|
|
use Illuminate\View\View;
|
|
|
|
class SectionController extends Controller
|
|
{
|
|
public function __invoke(string $section): View
|
|
{
|
|
$allowed = [
|
|
'users', 'djs', 'clients', 'bookings', 'payments', 'reviews', 'messages',
|
|
'notifications', 'support', 'reports', 'content', 'roles', 'privacy', 'settings',
|
|
];
|
|
|
|
abort_unless(in_array($section, $allowed, true), 404);
|
|
|
|
$counts = [
|
|
'users' => User::count(),
|
|
'djs' => DjProfile::count(),
|
|
'businesses' => Business::count(),
|
|
'clients' => User::role('client')->count(),
|
|
'bookings' => Booking::count(),
|
|
'enquiries' => Enquiry::count(),
|
|
'reviews' => Review::count(),
|
|
];
|
|
|
|
return view('admin.section', compact('section', 'counts'));
|
|
}
|
|
}
|