Skip to content
This repository was archived by the owner on May 3, 2024. It is now read-only.

Commit c27a935

Browse files
committed
NGSTACK-819: reconfigure services to use FilterService search adapter from Netgen Site API
1 parent edc4d51 commit c27a935

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Netgen\Bundle\BetterIbexaAdminUIBundle\DependencyInjection\Compiler;
6+
7+
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
8+
use Symfony\Component\DependencyInjection\ContainerBuilder;
9+
use Ibexa\AdminUi\Tab\Dashboard\MyContentTab;
10+
use Ibexa\AdminUi\Tab\Dashboard\EveryoneContentTab;
11+
use Ibexa\AdminUi\Tab\Dashboard\MyMediaTab;
12+
use Ibexa\AdminUi\Tab\Dashboard\EveryoneMediaTab;
13+
use Ibexa\AdminUi\Tab\LocationView\LocationsTab;
14+
use Ibexa\AdminUi\UI\Service\PathService;
15+
use Ibexa\GraphQL\DataLoader\SearchContentLoader;
16+
use Ibexa\GraphQL\DataLoader\SearchLocationLoader;
17+
use Ibexa\AdminUi\UI\Module\ContentTree\NodeFactory;
18+
use Ibexa\Bundle\AdminUi\Controller\SectionController;
19+
use Ibexa\AdminUi\UniversalDiscovery\UniversalDiscoveryProvider;
20+
use Symfony\Component\DependencyInjection\Reference;
21+
22+
final class SearchOverridePass implements CompilerPassInterface
23+
{
24+
public function process(ContainerBuilder $container): void
25+
{
26+
if (!$container->hasDefinition('netgen.ibexa_site_api.filter_service.search_adapter')) {
27+
return;
28+
}
29+
30+
$serviceIds = [
31+
PathService::class,
32+
MyContentTab::class,
33+
EveryoneContentTab::class,
34+
MyMediaTab::class,
35+
EveryoneMediaTab::class,
36+
LocationsTab::class,
37+
SearchContentLoader::class,
38+
SearchLocationLoader::class,
39+
NodeFactory::class,
40+
SectionController::class,
41+
UniversalDiscoveryProvider::class,
42+
];
43+
44+
foreach ($serviceIds as $serviceId) {
45+
$container->findDefinition($serviceId)->setArgument(
46+
'$searchService',
47+
new Reference('netgen.ibexa_site_api.filter_service.search_adapter'),
48+
);
49+
}
50+
}
51+
}

bundle/NetgenBetterIbexaAdminUIBundle.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@
44

55
namespace Netgen\Bundle\BetterIbexaAdminUIBundle;
66

7+
use Netgen\Bundle\BetterIbexaAdminUIBundle\DependencyInjection\Compiler\SearchOverridePass;
8+
use Symfony\Component\DependencyInjection\ContainerBuilder;
79
use Symfony\Component\HttpKernel\Bundle\Bundle;
810

911
final class NetgenBetterIbexaAdminUIBundle extends Bundle
1012
{
13+
public function build(ContainerBuilder $container): void
14+
{
15+
$container->addCompilerPass(new SearchOverridePass());
16+
}
1117
}

composer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
"require": {
1414
"ibexa/admin-ui": "^4.4"
1515
},
16+
"require-dev": {
17+
"netgen/ibexa-site-api": "^5.4",
18+
"ibexa/graphql": "^4.5"
19+
},
1620
"autoload": {
1721
"psr-4": {
1822
"Netgen\\Bundle\\BetterIbexaAdminUIBundle\\": "bundle"

0 commit comments

Comments
 (0)