Skip to content

Commit efe39ce

Browse files
authored
Merge pull request #2825 from api-platform/revert-1974-serializer-property-metadata-factory-writable-link-fix
Revert "Be more intelligent in determining property writable/readable link."
2 parents cf65af3 + 9874245 commit efe39ce

File tree

3 files changed

+10
-11
lines changed

3 files changed

+10
-11
lines changed

src/Metadata/Property/Factory/SerializerPropertyMetadataFactory.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public function create(string $resourceClass, string $property, array $options =
5454
[$normalizationGroups, $denormalizationGroups] = $this->getEffectiveSerializerGroups($options, $resourceClass);
5555

5656
$propertyMetadata = $this->transformReadWrite($propertyMetadata, $resourceClass, $property, $normalizationGroups, $denormalizationGroups);
57-
$propertyMetadata = $this->transformLinkStatus($propertyMetadata, $resourceClass, $property, $normalizationGroups, $denormalizationGroups);
57+
$propertyMetadata = $this->transformLinkStatus($propertyMetadata, $normalizationGroups, $denormalizationGroups);
5858
} catch (ResourceClassNotFoundException $e) {
5959
// No need to check link status if related class is not a resource
6060
}
@@ -97,7 +97,7 @@ private function transformReadWrite(PropertyMetadata $propertyMetadata, string $
9797
*
9898
* @throws ResourceClassNotFoundException
9999
*/
100-
private function transformLinkStatus(PropertyMetadata $propertyMetadata, string $resourceClass, string $propertyName, array $normalizationGroups = null, array $denormalizationGroups = null): PropertyMetadata
100+
private function transformLinkStatus(PropertyMetadata $propertyMetadata, array $normalizationGroups = null, array $denormalizationGroups = null): PropertyMetadata
101101
{
102102
// No need to check link status if property is not readable and not writable
103103
if (false === $propertyMetadata->isReadable() && false === $propertyMetadata->isWritable()) {
@@ -109,7 +109,6 @@ private function transformLinkStatus(PropertyMetadata $propertyMetadata, string
109109
return $propertyMetadata;
110110
}
111111

112-
$propertyGroups = $this->getPropertySerializerGroups($resourceClass, $propertyName);
113112
$relatedClass = $type->isCollection() && ($collectionValueType = $type->getCollectionValueType()) ? $collectionValueType->getClassName() : $type->getClassName();
114113

115114
if (null === $relatedClass) {
@@ -120,11 +119,11 @@ private function transformLinkStatus(PropertyMetadata $propertyMetadata, string
120119
$relatedGroups = $this->getResourceSerializerGroups($relatedClass);
121120

122121
if (null === $propertyMetadata->isReadableLink()) {
123-
$propertyMetadata = $propertyMetadata->withReadableLink(null !== $normalizationGroups && !empty(array_intersect($propertyGroups, $relatedGroups)) && !empty(array_intersect($normalizationGroups, $relatedGroups)));
122+
$propertyMetadata = $propertyMetadata->withReadableLink(null !== $normalizationGroups && !empty(array_intersect($normalizationGroups, $relatedGroups)));
124123
}
125124

126125
if (null === $propertyMetadata->isWritableLink()) {
127-
$propertyMetadata = $propertyMetadata->withWritableLink(null !== $denormalizationGroups && !empty(array_intersect($propertyGroups, $relatedGroups)) && !empty(array_intersect($denormalizationGroups, $relatedGroups)));
126+
$propertyMetadata = $propertyMetadata->withWritableLink(null !== $denormalizationGroups && !empty(array_intersect($denormalizationGroups, $relatedGroups)));
128127
}
129128

130129
return $propertyMetadata;

tests/Fixtures/TestBundle/Document/CustomNormalizedDummy.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class CustomNormalizedDummy
3636
* @var int The id
3737
*
3838
* @ODM\Id(strategy="INCREMENT", type="integer")
39-
* @Groups({"input", "output", "related_input"})
39+
* @Groups({"input", "output"})
4040
*/
4141
private $id;
4242

@@ -46,7 +46,7 @@ class CustomNormalizedDummy
4646
* @ODM\Field
4747
* @Assert\NotBlank
4848
* @ApiProperty(iri="http://schema.org/name")
49-
* @Groups({"input", "output", "related_input"})
49+
* @Groups({"input", "output"})
5050
*/
5151
private $name;
5252

@@ -55,7 +55,7 @@ class CustomNormalizedDummy
5555
*
5656
* @ODM\Field(nullable=true)
5757
* @ApiProperty(iri="https://schema.org/alternateName")
58-
* @Groups({"input", "output", "related_input"})
58+
* @Groups({"input", "output"})
5959
*/
6060
private $alias;
6161

tests/Fixtures/TestBundle/Entity/CustomNormalizedDummy.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class CustomNormalizedDummy
3838
* @ORM\Column(type="integer")
3939
* @ORM\Id
4040
* @ORM\GeneratedValue(strategy="AUTO")
41-
* @Groups({"input", "output", "related_input"})
41+
* @Groups({"input", "output"})
4242
*/
4343
private $id;
4444

@@ -48,7 +48,7 @@ class CustomNormalizedDummy
4848
* @ORM\Column
4949
* @Assert\NotBlank
5050
* @ApiProperty(iri="http://schema.org/name")
51-
* @Groups({"input", "output", "related_input"})
51+
* @Groups({"input", "output"})
5252
*/
5353
private $name;
5454

@@ -57,7 +57,7 @@ class CustomNormalizedDummy
5757
*
5858
* @ORM\Column(nullable=true)
5959
* @ApiProperty(iri="https://schema.org/alternateName")
60-
* @Groups({"input", "output", "related_input"})
60+
* @Groups({"input", "output"})
6161
*/
6262
private $alias;
6363

0 commit comments

Comments
 (0)