diff --git a/bundle/Controller/ContentRelations.php b/bundle/Controller/ContentRelations.php index 6fd8948..fce0d7c 100644 --- a/bundle/Controller/ContentRelations.php +++ b/bundle/Controller/ContentRelations.php @@ -5,6 +5,7 @@ namespace Netgen\Bundle\OpenApiIbexaBundle\Controller; use Ibexa\Contracts\Core\SiteAccess\ConfigResolverInterface; +use Ibexa\Contracts\HttpCache\ResponseTagger\ResponseTagger; use Netgen\IbexaSiteApi\API\Values\Content; use Netgen\OpenApiIbexa\Page\ContentList; use Netgen\OpenApiIbexa\Page\Output\OutputVisitor; @@ -22,6 +23,7 @@ final class ContentRelations extends Controller { public function __construct( private ConfigResolverInterface $configResolver, + private ResponseTagger $responseTagger, private OutputVisitor $outputVisitor, private int $defaultLimit, ) {} @@ -52,6 +54,12 @@ public function __invoke(Request $request, Content $content, string $fieldIdenti $this->configureCache($this->configResolver, $response); + foreach ($content->getLocations() as $location) { + $this->responseTagger->tag($location->innerLocation); + } + + $this->responseTagger->tag($content->contentInfo->innerContentInfo); + return $response; } } diff --git a/bundle/Resources/config/services/controllers.yaml b/bundle/Resources/config/services/controllers.yaml index d6924f8..a46b039 100644 --- a/bundle/Resources/config/services/controllers.yaml +++ b/bundle/Resources/config/services/controllers.yaml @@ -69,6 +69,7 @@ services: parent: netgen.openapi_ibexa.controller.base arguments: - '@ibexa.config.resolver' + - '@Ibexa\Contracts\HttpCache\ResponseTagger\ResponseTagger' - '@netgen.openapi_ibexa.page.output.visitor.output_visitor' - '%netgen.openapi_ibexa.default_limit%' public: true