group(function () { // Accessible bởi mọi admin — trả về permissions hiệu lực của user hiện tại Route::get('mine', [RolePermissionController::class, 'mine']); // Các endpoint sau chỉ dành cho Full Administrator (kiểm tra trong controller) Route::get('/', [RolePermissionController::class, 'index']); Route::post('/', [RolePermissionController::class, 'store']); Route::get('all-permissions', [RolePermissionController::class, 'allPermissions']); Route::post('permissions', [RolePermissionController::class, 'createPermissionGroup']); Route::delete('permissions/group/{module}', [ RolePermissionController::class, 'deletePermissionGroup', ]); Route::patch('permissions/{id}', [RolePermissionController::class, 'renamePermission']); Route::put('{roleId}', [RolePermissionController::class, 'update']); }); // Employees (module: administrator) Route::prefix('employees')->group(function () { Route::get('roles', [EmployeeController::class, 'roles'])->middleware('perm:administrator.view'); Route::get('/', [EmployeeController::class, 'index'])->middleware('perm:administrator.view'); Route::post('/', [EmployeeController::class, 'store'])->middleware('perm:administrator.create'); Route::get('{id}', [EmployeeController::class, 'show'])->middleware('perm:administrator.view'); Route::put('{id}', [EmployeeController::class, 'update'])->middleware('perm:administrator.edit'); Route::delete('{id}', [EmployeeController::class, 'destroy'])->middleware( 'perm:administrator.destroy', ); });