comelifacciamo/app/Http/Controllers/Web/Authorization/RolePermissionsController.php
2026-01-25 21:03:33 +01:00

35 lines
936 B
PHP

<?php
namespace Vanguard\Http\Controllers\Web\Authorization;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Vanguard\Events\Role\PermissionsUpdated;
use Vanguard\Http\Controllers\Controller;
use Vanguard\Repositories\Role\RoleRepository;
class RolePermissionsController extends Controller
{
public function __construct(private readonly RoleRepository $roles)
{
}
public function update(Request $request): RedirectResponse
{
$roles = $request->get('roles');
$allRoles = $this->roles->lists('id');
foreach ($allRoles as $roleId) {
$permissions = Arr::get($roles, $roleId, []);
$this->roles->updatePermissions($roleId, $permissions);
}
event(new PermissionsUpdated);
return redirect()->route('permissions.index')
->withSuccess(__('Permissions saved successfully.'));
}
}