/**
  * load services
  *
  * @param ContainerBuilder $container container builder
  *
  * @return void
  */
 public function process(ContainerBuilder $container)
 {
     $map = [];
     foreach ($this->documentMap->getDocuments() as $document) {
         $map[$document->getClass()] = $this->getFieldNames($document);
     }
     $container->setParameter('graviton.document.field.names', $map);
 }
 /**
  * load services
  *
  * @param ContainerBuilder $container container builder
  *
  * @return void
  */
 public function process(ContainerBuilder $container)
 {
     $map = ['stdclass' => []];
     foreach ($this->documentMap->getDocuments() as $document) {
         $map[$document->getClass()] = $this->getFormDataMap($document);
     }
     $container->setParameter('graviton.document.form.data.map', $map);
 }
 /**
  * Make translatable fields map and set it to parameter
  *
  * @param ContainerBuilder $container container builder
  * @return void
  */
 public function process(ContainerBuilder $container)
 {
     $map = [];
     foreach ($this->documentMap->getDocuments() as $document) {
         $map[$document->getClass()] = $this->getTranslatableFields($document);
     }
     $container->setParameter('graviton.document.type.translatable.fields', $map);
 }
 /**
  * Make extref fields map and set it to parameter
  *
  * @param ContainerBuilder $container container builder
  * @return void
  */
 public function process(ContainerBuilder $container)
 {
     $map = [];
     $services = array_keys($container->findTaggedServiceIds('graviton.rest'));
     foreach ($services as $id) {
         list($ns, $bundle, , $doc) = explode('.', $id);
         if (empty($bundle) || empty($doc)) {
             continue;
         }
         $className = $this->getServiceDocument($container->getDefinition($id), $ns, $bundle, $doc);
         $rqlFields = $this->processDocument($this->documentMap->getDocument($className));
         $routePrefix = strtolower($ns . '.' . $bundle . '.' . 'rest' . '.' . $doc);
         $map[$routePrefix . '.get'] = $rqlFields;
         $map[$routePrefix . '.all'] = $rqlFields;
     }
     $container->setParameter('graviton.document.rql.fields', $map);
 }