eZ\Publish\Core\REST\Server\Controller\User::loadUserGroups PHP Method

loadUserGroups() public method

Loads user groups.
public loadUserGroups ( Request $request ) : UserGroupList | UserGroupRefList
$request Symfony\Component\HttpFoundation\Request
return eZ\Publish\Core\REST\Server\Values\UserGroupList | eZ\Publish\Core\REST\Server\Values\UserGroupRefList
    public function loadUserGroups(Request $request)
    {
        $restUserGroups = array();
        if ($request->query->has('id')) {
            $userGroup = $this->userService->loadUserGroup($request->query->get('id'));
            $userGroupContentInfo = $userGroup->getVersionInfo()->getContentInfo();
            $userGroupMainLocation = $this->locationService->loadLocation($userGroupContentInfo->mainLocationId);
            $contentType = $this->contentTypeService->loadContentType($userGroupContentInfo->contentTypeId);
            $restUserGroups = array(new Values\RestUserGroup($userGroup, $contentType, $userGroupContentInfo, $userGroupMainLocation, $this->contentService->loadRelations($userGroup->getVersionInfo())));
        } elseif ($request->query->has('roleId')) {
            $restUserGroups = $this->loadUserGroupsAssignedToRole($request->query->get('roleId'));
        } elseif ($request->query->has('remoteId')) {
            $restUserGroups = array($this->loadUserGroupByRemoteId($request));
        }
        if ($this->getMediaType($request) === 'application/vnd.ez.api.usergrouplist') {
            return new Values\UserGroupList($restUserGroups, $request->getPathInfo());
        }
        return new Values\UserGroupRefList($restUserGroups, $request->getPathInfo());
    }