public function changeGroupMemberships($userId, $selections)
{
try {
$user = $this->sentry->getUserProvider()->findById(e($userId));
// Gather all available groups
$allGroups = $this->sentry->getGroupProvider()->findAll();
// Update group memberships
foreach ($allGroups as $group) {
if (isset($selections[$group->name])) {
//The user should be added to this group
$user->addGroup($group);
} else {
// The user should be removed from this group
$user->removeGroup($group);
}
}
return new SuccessResponse(trans('Sentinel::users.memberships'), ['user' => $user]);
} catch (UserNotFoundException $e) {
$message = trans('Sentinel::sessions.invalid');
return new ExceptionResponse($message);
}
}