Skip to content

Commit

Permalink
NGSTACK-819: reconfigure services to use FilterService search adapter…
Browse files Browse the repository at this point in the history
… from Netgen Site API
  • Loading branch information
pspanja committed Jan 9, 2024
1 parent edc4d51 commit c27a935
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 0 deletions.
51 changes: 51 additions & 0 deletions bundle/DependencyInjection/Compiler/SearchOverridePass.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?php

declare(strict_types=1);

namespace Netgen\Bundle\BetterIbexaAdminUIBundle\DependencyInjection\Compiler;

use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Ibexa\AdminUi\Tab\Dashboard\MyContentTab;
use Ibexa\AdminUi\Tab\Dashboard\EveryoneContentTab;
use Ibexa\AdminUi\Tab\Dashboard\MyMediaTab;
use Ibexa\AdminUi\Tab\Dashboard\EveryoneMediaTab;
use Ibexa\AdminUi\Tab\LocationView\LocationsTab;
use Ibexa\AdminUi\UI\Service\PathService;
use Ibexa\GraphQL\DataLoader\SearchContentLoader;
use Ibexa\GraphQL\DataLoader\SearchLocationLoader;
use Ibexa\AdminUi\UI\Module\ContentTree\NodeFactory;
use Ibexa\Bundle\AdminUi\Controller\SectionController;
use Ibexa\AdminUi\UniversalDiscovery\UniversalDiscoveryProvider;
use Symfony\Component\DependencyInjection\Reference;

final class SearchOverridePass implements CompilerPassInterface
{
public function process(ContainerBuilder $container): void
{
if (!$container->hasDefinition('netgen.ibexa_site_api.filter_service.search_adapter')) {
return;
}

$serviceIds = [
PathService::class,
MyContentTab::class,
EveryoneContentTab::class,
MyMediaTab::class,
EveryoneMediaTab::class,
LocationsTab::class,
SearchContentLoader::class,
SearchLocationLoader::class,
NodeFactory::class,
SectionController::class,
UniversalDiscoveryProvider::class,
];

foreach ($serviceIds as $serviceId) {
$container->findDefinition($serviceId)->setArgument(
'$searchService',
new Reference('netgen.ibexa_site_api.filter_service.search_adapter'),
);
}
}
}
6 changes: 6 additions & 0 deletions bundle/NetgenBetterIbexaAdminUIBundle.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,14 @@

namespace Netgen\Bundle\BetterIbexaAdminUIBundle;

use Netgen\Bundle\BetterIbexaAdminUIBundle\DependencyInjection\Compiler\SearchOverridePass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;

final class NetgenBetterIbexaAdminUIBundle extends Bundle
{
public function build(ContainerBuilder $container): void
{
$container->addCompilerPass(new SearchOverridePass());
}
}
4 changes: 4 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"require": {
"ibexa/admin-ui": "^4.4"
},
"require-dev": {
"netgen/ibexa-site-api": "^5.4",
"ibexa/graphql": "^4.5"
},
"autoload": {
"psr-4": {
"Netgen\\Bundle\\BetterIbexaAdminUIBundle\\": "bundle"
Expand Down

0 comments on commit c27a935

Please sign in to comment.