Feat: add role and permission middleware to routes
This commit is contained in:
parent
0fd2848475
commit
2956d03001
@ -2,35 +2,50 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use App\Enums\DefaultUserRole;
|
||||||
|
use App\Enums\Permissions\{AccessManager, Apps};
|
||||||
use App\Http\Controllers\ResolveDashboardRouteController;
|
use App\Http\Controllers\ResolveDashboardRouteController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use Spatie\Permission\Middleware\{PermissionMiddleware, RoleMiddleware};
|
||||||
|
|
||||||
Route::view('/', 'welcome')->name('home');
|
Route::view('/', 'welcome')->name('home');
|
||||||
|
|
||||||
Route::group(['middleware' => ['auth', 'verified']], function (): void {
|
Route::group(['middleware' => ['auth', 'verified']], function (): void {
|
||||||
Route::get('dashboard', ResolveDashboardRouteController::class)->name('dashboard');
|
Route::get('dashboard', ResolveDashboardRouteController::class)->name('dashboard');
|
||||||
Route::prefix('dashboard')->name('dashboard.')->group(function (): void {
|
Route::prefix('dashboard')->name('dashboard.')->group(function (): void {
|
||||||
Route::livewire('/user', 'pages::dashboards.user')->name('user');
|
Route::livewire('/user', 'pages::dashboards.user')
|
||||||
Route::livewire('admin', 'pages::dashboards.admin')->name('admin');
|
->middleware(RoleMiddleware::using(DefaultUserRole::User))
|
||||||
|
->name('user');
|
||||||
|
Route::livewire('admin', 'pages::dashboards.admin')
|
||||||
|
->middleware(RoleMiddleware::using(DefaultUserRole::Admin))
|
||||||
|
->name('admin');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('access-manager')->name('access-manager.')->group(function (): void {
|
Route::prefix('access-manager')->name('access-manager.')->group(function (): void {
|
||||||
Route::prefix('roles-and-apps')->name('roles-and-apps.')->group(function (): void {
|
Route::prefix('roles-and-apps')->name('roles-and-apps.')
|
||||||
|
->middleware(PermissionMiddleware::using(AccessManager::RoleAndApps))
|
||||||
|
->group(function (): void {
|
||||||
Route::livewire('roles-and-apps', 'pages::access-manager.roles-and-apps.index')->name('index');
|
Route::livewire('roles-and-apps', 'pages::access-manager.roles-and-apps.index')->name('index');
|
||||||
Route::livewire('roles-and-apps/{id}', 'pages::access-manager.roles-and-apps.show')->name('show');
|
Route::livewire('roles-and-apps/{id}', 'pages::access-manager.roles-and-apps.show')->name('show');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('users')->name('users.')->group(function (): void {
|
Route::prefix('users')->name('users.')
|
||||||
|
->middleware(PermissionMiddleware::using(AccessManager::Users))
|
||||||
|
->group(function (): void {
|
||||||
Route::livewire('users', 'pages::access-manager.users.index')->name('index');
|
Route::livewire('users', 'pages::access-manager.users.index')->name('index');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('apps')->name('apps.')->group(function (): void {
|
Route::prefix('apps')->name('apps.')->group(function (): void {
|
||||||
|
Route::middleware(PermissionMiddleware::using(Apps::AllApps))->group(function (): void {
|
||||||
Route::livewire('create', 'pages::connected-apps.create')->name('create');
|
Route::livewire('create', 'pages::connected-apps.create')->name('create');
|
||||||
Route::livewire('{id}/edit', 'pages::connected-apps.edit')->name('edit');
|
Route::livewire('{id}/edit', 'pages::connected-apps.edit')->name('edit');
|
||||||
Route::livewire('/', 'pages::connected-apps.index')->name('index');
|
Route::livewire('/', 'pages::connected-apps.index')->name('index');
|
||||||
|
});
|
||||||
|
|
||||||
Route::prefix('connection-providers')->name('connectionProviders.')->group(function (): void {
|
Route::prefix('connection-providers')->name('connectionProviders.')
|
||||||
|
->middleware(PermissionMiddleware::using(Apps::Providers))
|
||||||
|
->group(function (): void {
|
||||||
Route::livewire('create', 'pages::connecton-providers.create')->name('create');
|
Route::livewire('create', 'pages::connecton-providers.create')->name('create');
|
||||||
Route::livewire('{slug}/edit', 'pages::connecton-providers.edit')->name('edit');
|
Route::livewire('{slug}/edit', 'pages::connecton-providers.edit')->name('edit');
|
||||||
Route::livewire('index', 'pages::connecton-providers.index')->name('index');
|
Route::livewire('index', 'pages::connecton-providers.index')->name('index');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user