/** * 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); }