updates for admin area
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\DjProfile;
|
||||
use App\Models\Review;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\PermissionRegistrar;
|
||||
|
||||
class ActionController extends Controller
|
||||
{
|
||||
public function userRole(Request $request, User $user): RedirectResponse
|
||||
{
|
||||
$data = $request->validate(['role' => ['required', 'in:super-admin,admin,dj,client,moderator,support']]);
|
||||
$role = Role::firstOrCreate(['name' => $data['role'], 'guard_name' => 'web']);
|
||||
$user->syncRoles([$role]);
|
||||
app(PermissionRegistrar::class)->forgetCachedPermissions();
|
||||
|
||||
return back()->with('success', "{$user->name}'s role has been updated.");
|
||||
}
|
||||
|
||||
public function toggleDjPublished(DjProfile $djProfile): RedirectResponse
|
||||
{
|
||||
$djProfile->update(['is_published' => ! $djProfile->is_published]);
|
||||
|
||||
return back()->with('success', 'DJ publication status updated.');
|
||||
}
|
||||
|
||||
public function toggleDjFeatured(DjProfile $djProfile): RedirectResponse
|
||||
{
|
||||
$djProfile->update(['is_featured' => ! $djProfile->is_featured]);
|
||||
|
||||
return back()->with('success', 'DJ featured status updated.');
|
||||
}
|
||||
|
||||
public function reviewStatus(Request $request, Review $review): RedirectResponse
|
||||
{
|
||||
$data = $request->validate(['status' => ['required', 'in:pending,published,rejected']]);
|
||||
$review->update($data);
|
||||
|
||||
return back()->with('success', 'Review moderation status updated.');
|
||||
}
|
||||
|
||||
public function clearCaches(): RedirectResponse
|
||||
{
|
||||
Cache::flush();
|
||||
|
||||
return back()->with('success', 'Application cache cleared.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user