diff --git a/config/services.yaml b/config/services.yaml index 7f704679..32653476 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -448,7 +448,6 @@ services: '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\TagObjectConstructor', '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\NodeObjectConstructor', '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\NodeTypeObjectConstructor', - '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\NodeTypeFieldObjectConstructor', '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\RoleObjectConstructor', '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\GroupObjectConstructor', '@RZ\Roadiz\CoreBundle\Serializer\ObjectConstructor\SettingObjectConstructor', diff --git a/src/Entity/NodeTypeField.php b/src/Entity/NodeTypeField.php index 3fb48538..83bd7700 100644 --- a/src/Entity/NodeTypeField.php +++ b/src/Entity/NodeTypeField.php @@ -145,9 +145,6 @@ class NodeTypeField extends AbstractField implements NodeTypeFieldInterface, Ser private bool $visible = true; #[ - Serializer\VirtualProperty(), - Serializer\Type("string"), - Serializer\Groups(["node_type"]), SymfonySerializer\Groups(["node_type"]) ] public function getNodeTypeName(): string diff --git a/src/Serializer/ObjectConstructor/NodeTypeFieldObjectConstructor.php b/src/Serializer/ObjectConstructor/NodeTypeFieldObjectConstructor.php deleted file mode 100644 index 71fddc76..00000000 --- a/src/Serializer/ObjectConstructor/NodeTypeFieldObjectConstructor.php +++ /dev/null @@ -1,64 +0,0 @@ -entityManager - ->getRepository(NodeType::class) - ->findOneByName($data['nodeTypeName'] ?? $data['node_type_name']); - - if (null === $nodeType) { - /* - * Do not look for existing fields if node-type does not exist either. - */ - return null; - } - return $this->entityManager - ->getRepository(NodeTypeField::class) - ->findOneBy([ - 'name' => $data['name'], - 'nodeType' => $nodeType, - ]); - } - - protected function fillIdentifier(object $object, array $data): void - { - trigger_error('Cannot call fillIdentifier on NodeTypeField', E_USER_WARNING); - } - - /** - * @return bool - */ - protected function canBeFlushed(): bool - { - return false; - } -} diff --git a/src/Serializer/ObjectConstructor/NodeTypeObjectConstructor.php b/src/Serializer/ObjectConstructor/NodeTypeObjectConstructor.php index b2e9d5cf..71d96815 100644 --- a/src/Serializer/ObjectConstructor/NodeTypeObjectConstructor.php +++ b/src/Serializer/ObjectConstructor/NodeTypeObjectConstructor.php @@ -6,8 +6,6 @@ use JMS\Serializer\DeserializationContext; use JMS\Serializer\Exception\ObjectConstructionException; -use JMS\Serializer\Metadata\ClassMetadata; -use JMS\Serializer\Visitor\DeserializationVisitorInterface; use RZ\Roadiz\CoreBundle\Entity\NodeType; class NodeTypeObjectConstructor extends AbstractTypedObjectConstructor @@ -20,37 +18,6 @@ public function supports(string $className, array $data): bool return $className === NodeType::class && array_key_exists('name', $data); } - public function construct( - DeserializationVisitorInterface $visitor, - ClassMetadata $metadata, - $data, - array $type, - DeserializationContext $context - ): ?object { - $nodeType = parent::construct($visitor, $metadata, $data, $type, $context); - - if ($nodeType instanceof NodeType && \is_array($data) && \array_key_exists('fields', $data)) { - $nodeType = $this->removeExtraFields($nodeType, $data); - } - - return $nodeType; - } - - protected function removeExtraFields(NodeType $nodeType, array $data): NodeType - { - $fieldsName = array_map(function ($field) { - return $field['name']; - }, $data['fields']); - - foreach ($nodeType->getFields() as $field) { - if (!\in_array($field->getName(), $fieldsName)) { - $nodeType->getFields()->removeElement($field); - } - } - - return $nodeType; - } - /** * @inheritDoc */