BookStack\Repos\PermissionsRepo::updateRole PHP Method

updateRole() public method

Ensure Admin role always has all permissions.
public updateRole ( $roleId, $roleData )
$roleId
$roleData
    public function updateRole($roleId, $roleData)
    {
        $role = $this->role->findOrFail($roleId);
        $permissions = isset($roleData['permissions']) ? array_keys($roleData['permissions']) : [];
        $this->assignRolePermissions($role, $permissions);
        if ($role->name === 'admin') {
            $permissions = $this->permission->all()->pluck('id')->toArray();
            $role->permissions()->sync($permissions);
        }
        $role->fill($roleData);
        $role->save();
        $this->permissionService->buildJointPermissionForRole($role);
    }