Skip to content

Commit a66335a

Browse files
author
Thibaut Cholley
committed
refactor: wip replace getStateOptionClass by dataClass
1 parent 7766881 commit a66335a

31 files changed

Lines changed: 120 additions & 52 deletions

src/Doctrine/Odm/Metadata/Resource/DoctrineMongoDbOdmParameterResourceMetadataCollectionFactory.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
namespace ApiPlatform\Doctrine\Odm\Metadata\Resource;
1515

16-
use ApiPlatform\Doctrine\Odm\State\Options;
1716
use ApiPlatform\Metadata\Operation;
1817
use ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface;
1918
use ApiPlatform\Metadata\Resource\ResourceMetadataCollection;
@@ -79,7 +78,7 @@ private function enrichOperation(Operation $operation, string $resourceClass): O
7978
return $operation;
8079
}
8180

82-
$documentClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
81+
$documentClass = $operation->getDataClass();
8382
if (!$this->managerRegistry->getManagerForClass($documentClass) instanceof DocumentManager) {
8483
return $operation;
8584
}

src/Doctrine/Odm/Metadata/Resource/DoctrineMongoDbOdmResourceCollectionMetadataFactory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function create(string $resourceClass): ResourceMetadataCollection
4545

4646
if ($operations) {
4747
foreach ($resourceMetadata->getOperations() as $operationName => $operation) {
48-
$documentClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
48+
$documentClass = $operation->getDataClass();
4949
if (!$this->managerRegistry->getManagerForClass($documentClass) instanceof DocumentManager) {
5050
continue;
5151
}
@@ -62,7 +62,7 @@ public function create(string $resourceClass): ResourceMetadataCollection
6262

6363
if ($graphQlOperations) {
6464
foreach ($graphQlOperations as $operationName => $graphQlOperation) {
65-
$documentClass = $this->getStateOptionsClass($graphQlOperation, $graphQlOperation->getClass(), Options::class);
65+
$documentClass = $operation->getDataClass();
6666
if (!$this->managerRegistry->getManagerForClass($documentClass) instanceof DocumentManager) {
6767
continue;
6868
}

src/Doctrine/Odm/State/CollectionProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function __construct(ResourceMetadataCollectionFactoryInterface $resource
4747

4848
public function provide(Operation $operation, array $uriVariables = [], array $context = []): iterable
4949
{
50-
$documentClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
50+
$documentClass = $operation->getDataClass();
5151

5252
/** @var DocumentManager $manager */
5353
$manager = $this->managerRegistry->getManagerForClass($documentClass);

src/Doctrine/Odm/State/ItemProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function __construct(ResourceMetadataCollectionFactoryInterface $resource
5050

5151
public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?object
5252
{
53-
$documentClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
53+
$documentClass = $operation->getDataClass();
5454

5555
/** @var DocumentManager $manager */
5656
$manager = $this->managerRegistry->getManagerForClass($documentClass);

src/Doctrine/Odm/State/LinksHandlerTrait.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ private function buildAggregation(string $toClass, array $links, array $identifi
133133

134134
private function getLinkFromClass(Link $link, Operation $operation): string
135135
{
136-
$documentClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
136+
$documentClass = $operation->getDataClass();
137137
$fromClass = $link->getFromClass();
138138
if ($fromClass === $operation->getClass() && $documentClass) {
139139
return $documentClass;
140140
}
141141

142142
$operation = $this->resourceMetadataCollectionFactory->create($fromClass)->getOperation();
143143

144-
if ($documentClass = $this->getStateOptionsClass($operation, null, Options::class)) {
144+
if ($documentClass = $operation->getDataClass()) {
145145
return $documentClass;
146146
}
147147

src/Doctrine/Odm/State/Options.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
namespace ApiPlatform\Doctrine\Odm\State;
1515

1616
use ApiPlatform\Doctrine\Common\State\Options as CommonOptions;
17-
use ApiPlatform\State\OptionsInterface;
17+
use ApiPlatform\State\DataOptionsInterface;
1818

19-
class Options extends CommonOptions implements OptionsInterface
19+
class Options extends CommonOptions implements DataOptionsInterface
2020
{
2121
/**
2222
* @param mixed $handleLinks experimental callable, typed mixed as we may want a service name in the future
@@ -30,6 +30,11 @@ public function __construct(
3030
parent::__construct(handleLinks: $handleLinks);
3131
}
3232

33+
public function getDataClass(): ?string
34+
{
35+
return $this->documentClass;
36+
}
37+
3338
public function getDocumentClass(): ?string
3439
{
3540
return $this->documentClass;

src/Doctrine/Orm/Metadata/Resource/DoctrineOrmParameterResourceMetadataCollectionFactory.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
namespace ApiPlatform\Doctrine\Orm\Metadata\Resource;
1515

16-
use ApiPlatform\Doctrine\Orm\State\Options;
1716
use ApiPlatform\Metadata\Operation;
1817
use ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface;
1918
use ApiPlatform\Metadata\Resource\ResourceMetadataCollection;
@@ -77,7 +76,7 @@ private function enrichOperation(Operation $operation, string $resourceClass): O
7776
return $operation;
7877
}
7978

80-
$entityClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
79+
$entityClass = $operation->getDataClass();
8180
if (!$this->managerRegistry->getManagerForClass($entityClass) instanceof EntityManagerInterface) {
8281
return $operation;
8382
}

src/Doctrine/Orm/Metadata/Resource/DoctrineOrmResourceCollectionMetadataFactory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function create(string $resourceClass): ResourceMetadataCollection
4747

4848
if ($operations) {
4949
foreach ($operations as $operationName => $operation) {
50-
$entityClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
50+
$entityClass = $operation->getDataClass();
5151

5252
$manager = $this->managerRegistry->getManagerForClass($entityClass);
5353
if (!$manager instanceof EntityManagerInterface) {
@@ -74,7 +74,7 @@ public function create(string $resourceClass): ResourceMetadataCollection
7474

7575
if ($graphQlOperations) {
7676
foreach ($graphQlOperations as $operationName => $graphQlOperation) {
77-
$entityClass = $this->getStateOptionsClass($graphQlOperation, $graphQlOperation->getClass(), Options::class);
77+
$entityClass = $operation->getDataClass();
7878

7979
if (!$this->managerRegistry->getManagerForClass($entityClass) instanceof EntityManagerInterface) {
8080
continue;

src/Doctrine/Orm/State/CollectionProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function __construct(ResourceMetadataCollectionFactoryInterface $resource
5050

5151
public function provide(Operation $operation, array $uriVariables = [], array $context = []): iterable
5252
{
53-
$entityClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
53+
$entityClass = $operation->getDataClass();
5454

5555
/** @var EntityManagerInterface $manager */
5656
$manager = $this->managerRegistry->getManagerForClass($entityClass);

src/Doctrine/Orm/State/ItemProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function __construct(ResourceMetadataCollectionFactoryInterface $resource
5050

5151
public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?object
5252
{
53-
$entityClass = $this->getStateOptionsClass($operation, $operation->getClass(), Options::class);
53+
$entityClass = $operation->getDataClass();
5454

5555
/** @var EntityManagerInterface|null $manager */
5656
$manager = $this->managerRegistry->getManagerForClass($entityClass);

0 commit comments

Comments
 (0)