public function createContentType(ContentTypeCreateStruct $struct)
 {
     if (!isset($struct->mainLanguageCode)) {
         $struct->mainLanguageCode = 'eng-GB';
     }
     if (!isset($struct->names)) {
         $struct->names = ['eng-GB' => $struct->identifier];
     }
     $this->contentTypeService->publishContentTypeDraft($this->contentTypeService->createContentType($struct, [$this->contentTypeService->loadContentTypeGroupByIdentifier('Content')]));
     $this->currentContentType = $this->contentTypeService->loadContentTypeByIdentifier($struct->identifier);
 }
 /**
  * Returns a list of all content type groups
  *
  * @return \eZ\Publish\Core\REST\Server\Values\ContentTypeGroupList
  */
 public function loadContentTypeGroupList(Request $request)
 {
     if ($request->query->has('identifier')) {
         $contentTypeGroup = $this->contentTypeService->loadContentTypeGroupByIdentifier($request->query->get('identifier'));
         return new Values\TemporaryRedirect($this->router->generate('ezpublish_rest_loadContentTypeGroup', array('contentTypeGroupId' => $contentTypeGroup->id)));
     }
     return new Values\ContentTypeGroupList($this->contentTypeService->loadContentTypeGroups());
 }
 /**
  * Get content type groups from content type data
  *
  * @param array $data
  * @return array
  */
 private function getContentTypeGroups(array &$data)
 {
     $groupNames = [self::DEFAULT_GROUP_NAME];
     $groups = [];
     if (isset($data['groups'])) {
         $groupNames = $data['groups'];
     }
     foreach ($groupNames as $groupName) {
         $groups[] = $this->contentTypeService->loadContentTypeGroupByIdentifier($groupName);
     }
     return $groups;
 }
 /**
  * Get a Content Type Group object by identifier
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException If group can not be found
  *
  * @param string $contentTypeGroupIdentifier
  *
  * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
  */
 public function loadContentTypeGroupByIdentifier($contentTypeGroupIdentifier)
 {
     return $this->service->loadContentTypeGroupByIdentifier($contentTypeGroupIdentifier);
 }