group(function () { Route::prefix('auth') ->name('auth.') ->controller(AuthController::class) ->group(function () { Route::post('/login', 'login')->name('login'); Route::post('/logout', 'logout')->name('logout'); }); Route::prefix('profile') ->name('profile.') ->middleware('auth') ->controller(ProfileController::class) ->group(function () { Route::get('/info', 'info')->name('info'); Route::post('/change_password', 'changePassword')->name('changePassword'); Route::get('/permissions', 'permissions')->name('permissions'); }); Route::prefix('users') ->name('users.') ->middleware(['auth', 'permission:manage_users']) ->controller(UserManagementController::class) ->group(function () { Route::get('/', 'index')->name('index'); Route::get('/{user}', 'show')->middleware([SuperAdminCheck::class])->name('show'); Route::post('/', 'store')->name('store'); Route::post('/{user}', 'update')->middleware([SuperAdminCheck::class])->name('update'); Route::delete('/{user}', 'destroy')->middleware([SuperAdminCheck::class])->name('destroy'); }); Route::prefix('calls') ->name('calls.') ->controller(CallController::class) ->group(function () { Route::post('/', 'store')->name('store'); Route::get('/list', 'list')->name('list')->middleware(['auth', 'permission:manage_calls']); Route::post('/{call}', 'update')->name('update')->middleware(['auth', 'permission:manage_calls']); }); Route::prefix('categories') ->middleware('auth') ->controller(CategoryController::class) ->name('categories.') ->group(function () { Route::get('/list', 'list')->name('list'); }); Route::middleware('auth') ->prefix('permissions') ->name('permissions.') ->controller(PermissionManagementController::class) ->group(function () { Route::get('/', 'index')->name('index'); Route::get('list', 'list')->name('list'); Route::post('/', 'store')->name('store'); Route::get('/{permission}', 'show')->name('show'); Route::post('/{permission}', 'update')->name('update'); Route::delete('/{permission}', 'destroy')->name('destroy'); }); Route::prefix('provinces') ->controller(ProvinceController::class) ->name('provinces.') ->group(function () { Route::get('/list', 'list')->name('list'); }); Route::middleware('auth') ->prefix('roles') ->name('roles.') ->controller(RoleManagementController::class) ->group(function () { Route::get('/', 'index')->name('index'); Route::get('list', 'list')->name('list'); Route::post('/', 'store')->name('store'); Route::get('/{role}', 'show')->name('show'); Route::post('/{role}', 'update')->name('update'); Route::delete('/{role}', 'destroy')->name('destroy'); }); });