From c661843b253ea0591e902038fa9f75e3d507ab89 Mon Sep 17 00:00:00 2001 From: Daniel Subiabre Date: Tue, 14 Jan 2025 16:11:52 +0100 Subject: [PATCH] Move support result method to localized trait --- src/Doctrine/LocalizedCollectionExtension.php | 8 -------- src/Doctrine/LocalizedContentTrait.php | 9 +++++++++ src/Doctrine/LocalizedItemExtension.php | 12 ++---------- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/Doctrine/LocalizedCollectionExtension.php b/src/Doctrine/LocalizedCollectionExtension.php index 2eab85ee..99923f55 100644 --- a/src/Doctrine/LocalizedCollectionExtension.php +++ b/src/Doctrine/LocalizedCollectionExtension.php @@ -7,7 +7,6 @@ use ApiPlatform\Doctrine\Orm\Paginator; use ApiPlatform\Doctrine\Orm\Util\QueryNameGeneratorInterface; use ApiPlatform\Metadata\Operation; -use App\Entity\Interface\LocalizedContentInterface; use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\Tools\Pagination\CountWalker; use Doctrine\ORM\Tools\Pagination\Paginator as DoctrineOrmPaginator; @@ -33,13 +32,6 @@ public static function getDefaultPriority(): int return -64; } - public function supportsResult(string $resourceClass, ?Operation $operation = null, array $context = []): bool - { - $reflectionClass = new \ReflectionClass($resourceClass); - - return $reflectionClass->implementsInterface(LocalizedContentInterface::class); - } - public function getResult( QueryBuilder $queryBuilder, ?string $resourceClass = null, diff --git a/src/Doctrine/LocalizedContentTrait.php b/src/Doctrine/LocalizedContentTrait.php index 66083014..31ec57e3 100644 --- a/src/Doctrine/LocalizedContentTrait.php +++ b/src/Doctrine/LocalizedContentTrait.php @@ -2,6 +2,8 @@ namespace App\Doctrine; +use ApiPlatform\Metadata\Operation; +use App\Entity\Interface\LocalizedContentInterface; use App\Service\LocalizationService; use Doctrine\ORM\Query; use Doctrine\ORM\QueryBuilder; @@ -18,6 +20,13 @@ public function setLocalizationService(LocalizationService $localizationService) $this->localizationService = $localizationService; } + public function supportsResult(string $resourceClass, ?Operation $operation = null, array $context = []): bool + { + $reflectionClass = new \ReflectionClass($resourceClass); + + return $reflectionClass->implementsInterface(LocalizedContentInterface::class); + } + private function addLocalizationHints(QueryBuilder $queryBuilder, array $locales): Query { $query = $queryBuilder->getQuery(); diff --git a/src/Doctrine/LocalizedItemExtension.php b/src/Doctrine/LocalizedItemExtension.php index 9604b1d5..fd1cf45a 100644 --- a/src/Doctrine/LocalizedItemExtension.php +++ b/src/Doctrine/LocalizedItemExtension.php @@ -5,7 +5,6 @@ use ApiPlatform\Doctrine\Orm\Extension\QueryResultItemExtensionInterface; use ApiPlatform\Doctrine\Orm\Util\QueryNameGeneratorInterface; use ApiPlatform\Metadata\Operation; -use App\Entity\Interface\LocalizedContentInterface; use Doctrine\ORM\QueryBuilder; /** @@ -28,18 +27,11 @@ public static function getDefaultPriority(): int return -64; } - public function supportsResult(string $resourceClass, ?Operation $operation = null, array $context = []): bool - { - $reflectionClass = new \ReflectionClass($resourceClass); - - return $reflectionClass->implementsInterface(LocalizedContentInterface::class); - } - public function getResult( QueryBuilder $queryBuilder, ?string $resourceClass = null, ?Operation $operation = null, - array $context = [] + array $context = [], ): ?object { $query = $this->addLocalizationHints($queryBuilder, $this->getContextLanguages($context)); @@ -52,6 +44,6 @@ public function applyToItem( string $resourceClass, array $identifiers, ?Operation $operation = null, - array $context = [] + array $context = [], ): void {} }