diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index dd907d4..95f9006 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -630,11 +630,6 @@ parameters: count: 1 path: src/lib/Resolver/ContentResolver.php - - - message: "#^Method Ibexa\\\\GraphQL\\\\Resolver\\\\ContentResolver\\:\\:findContentRelations\\(\\) should return array\\ but returns iterable\\\\.$#" - count: 1 - path: src/lib/Resolver/ContentResolver.php - - message: "#^Method Ibexa\\\\GraphQL\\\\Resolver\\\\ContentResolver\\:\\:findContentReverseRelations\\(\\) has no return type specified\\.$#" count: 1 @@ -680,11 +675,6 @@ parameters: count: 1 path: src/lib/Resolver/ContentResolver.php - - - message: "#^Property Ibexa\\\\GraphQL\\\\Resolver\\\\ContentResolver\\:\\:\\$contentTypeService is never read, only written\\.$#" - count: 1 - path: src/lib/Resolver/ContentResolver.php - - message: "#^Method Ibexa\\\\GraphQL\\\\Resolver\\\\ContentThumbnailResolver\\:\\:resolveContentThumbnail\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 diff --git a/src/lib/Resolver/ContentResolver.php b/src/lib/Resolver/ContentResolver.php index 0033b1d..cb89f4c 100644 --- a/src/lib/Resolver/ContentResolver.php +++ b/src/lib/Resolver/ContentResolver.php @@ -12,6 +12,8 @@ use Ibexa\Contracts\Core\Repository\SearchService; use Ibexa\Contracts\Core\Repository\Values\Content\ContentInfo; use Ibexa\Contracts\Core\Repository\Values\Content\Query; +use Ibexa\Contracts\Core\Repository\Values\Content\Relation; +use Ibexa\Contracts\Core\Repository\Values\Content\RelationList\RelationListItemInterface; use Ibexa\Contracts\Core\Repository\Values\Content\Search\SearchHit; use Ibexa\Contracts\Core\Repository\Values\Content\VersionInfo; @@ -30,16 +32,11 @@ class ContentResolver */ private $searchService; - /** - * @var \Ibexa\Contracts\Core\Repository\ContentTypeService - */ - private $contentTypeService; - public function __construct(ContentService $contentService, SearchService $searchService, ContentTypeService $contentTypeService) + public function __construct(ContentService $contentService, SearchService $searchService) { $this->contentService = $contentService; $this->searchService = $searchService; - $this->contentTypeService = $contentTypeService; } public function findContentByType($contentTypeId) @@ -63,9 +60,12 @@ static function (SearchHit $searchHit) { */ public function findContentRelations(ContentInfo $contentInfo, $version = null) { - return $this->contentService->loadRelations( - $this->contentService->loadVersionInfo($contentInfo, $version) - ); + return array_filter(array_map( + static fn (RelationListItemInterface $relationListItem): ?Relation => $relationListItem->getRelation(), + $this->contentService->loadRelationList( + $this->contentService->loadVersionInfo($contentInfo, $version) + )->items + )); } public function findContentReverseRelations(ContentInfo $contentInfo)