yogibook-aury/app/Http/Controllers/Web/Authorization/RolePermissionsController.php
2024-09-18 16:47:42 +02:00

44 lines
1.0 KiB
PHP

<?php
namespace Vanguard\Http\Controllers\Web\Authorization;
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
* @package Vanguard\Http\Controllers
*/
class RolePermissionsController extends Controller
{
public function __construct(private RoleRepository $roles)
{
}
/**
* Update permissions for each role.
*
* @param Request $request
* @return mixed
*/
public function update(Request $request)
{
$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.'));
}
}