Sentinel\Repositories\User\SentryUserRepository::changeGroupMemberships PHP Method

changeGroupMemberships() public method

Process a change password request.
public changeGroupMemberships ( $userId, $selections ) : Sentinel\DataTransferObjects\BaseResponse
return Sentinel\DataTransferObjects\BaseResponse
    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);
        }
    }