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:sanctum') ->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:sanctum', '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:sanctum', 'permission:manage_calls']); Route::post('/{call}', 'update')->name('update')->middleware(['auth:sanctum', 'permission:manage_calls']); }); Route::prefix('categories') ->middleware('auth:sanctum') ->controller(CategoryController::class) ->group(function () { Route::get('/list', 'list'); }); Route::middleware('auth:sanctum') ->prefix('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) ->group(function () { Route::get('/list', 'list')->name('list'); }); Route::middleware('auth:sanctum') ->prefix('roles') ->controller(RoleManagementController::class) ->group(function () { Route::get('/', 'index')->name('index'); Route::get('list', 'list')->name('list'); Route::post('/', 'store')->name('store'); Route::get('/{roll}', 'show')->name('show'); Route::post('/{roll}', 'update')->name('update'); Route::delete('/{roll}', 'destroy')->name('destroy'); }); });