Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename the IndexNameResolver to IndexUidResolver #32

Merged
merged 1 commit into from
Oct 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/Config/Index.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use Setono\SyliusMeilisearchPlugin\Document\Metadata\MetadataInterface;
use Setono\SyliusMeilisearchPlugin\Indexer\IndexerInterface;
use Setono\SyliusMeilisearchPlugin\Model\IndexableInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface;

final class Index implements \Stringable
{
Expand Down Expand Up @@ -91,8 +91,8 @@
*/
public function uid(): string
{
/** @var IndexNameResolverInterface $indexNameResolver */
$indexNameResolver = $this->locator->get(IndexNameResolverInterface::class);
/** @var IndexUidResolverInterface $indexNameResolver */
$indexNameResolver = $this->locator->get(IndexUidResolverInterface::class);

Check warning on line 95 in src/Config/Index.php

View check run for this annotation

Codecov / codecov/patch

src/Config/Index.php#L95

Added line #L95 was not covered by tests

return $indexNameResolver->resolve($this);
}
Expand Down
8 changes: 4 additions & 4 deletions src/DependencyInjection/SetonoSyliusMeilisearchExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
use Setono\SyliusMeilisearchPlugin\Indexer\DefaultIndexer;
use Setono\SyliusMeilisearchPlugin\Indexer\IndexerInterface;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface;
use Setono\SyliusMeilisearchPlugin\Twig\AutocompleteRuntime;
use Setono\SyliusMeilisearchPlugin\UrlGenerator\EntityUrlGeneratorInterface;
use Sylius\Bundle\ResourceBundle\DependencyInjection\Extension\AbstractResourceExtension;
Expand Down Expand Up @@ -280,7 +280,7 @@ private static function registerIndexesConfiguration(array $config, ContainerBui
ServiceLocatorTagPass::register($container, [
IndexableDataProviderInterface::class => new Reference($index['data_provider']),
IndexerInterface::class => new Reference($indexerServiceId),
IndexNameResolverInterface::class => new Reference('setono_sylius_meilisearch.resolver.index_name'),
IndexUidResolverInterface::class => new Reference(IndexUidResolverInterface::class),
MetadataFactoryInterface::class => new Reference(MetadataFactoryInterface::class),
]),
$index['prefix'],
Expand All @@ -302,8 +302,8 @@ private static function registerDefaultIndexer(ContainerBuilder $container, stri
$container->setDefinition($indexerServiceId, new Definition(DefaultIndexer::class, [
new Reference($indexServiceId),
new Reference('doctrine'),
new Reference('Setono\SyliusMeilisearchPlugin\Provider\IndexScope\CompositeIndexScopeProvider'),
new Reference('setono_sylius_meilisearch.resolver.index_name'),
new Reference(IndexScopeProviderInterface::class),
new Reference(IndexUidResolverInterface::class),
new Reference(DataMapperInterface::class),
new Reference('serializer'),
new Reference(Client::class),
Expand Down
4 changes: 2 additions & 2 deletions src/Indexer/DefaultIndexer.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
use Setono\SyliusMeilisearchPlugin\Filter\Entity\EntityFilterInterface as ObjectFilterInterface;
use Setono\SyliusMeilisearchPlugin\Message\Command\IndexEntities;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface;
use Symfony\Component\Messenger\MessageBusInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
use Webmozart\Assert\Assert;
Expand All @@ -26,11 +26,11 @@
{
use ORMTrait;

public function __construct(

Check failure on line 29 in src/Indexer/DefaultIndexer.php

View workflow job for this annotation

GitHub Actions / Backwards Compatibility Check

The parameter $indexNameResolver of Setono\SyliusMeilisearchPlugin\Indexer\DefaultIndexer#__construct() changed from Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface to a non-contravariant Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface

Check failure on line 29 in src/Indexer/DefaultIndexer.php

View workflow job for this annotation

GitHub Actions / Backwards Compatibility Check

The parameter $indexNameResolver of Setono\SyliusMeilisearchPlugin\Indexer\DefaultIndexer#__construct() changed from Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface to Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface
protected readonly Index $index,
ManagerRegistry $managerRegistry,
protected readonly IndexScopeProviderInterface $indexScopeProvider,
protected readonly IndexNameResolverInterface $indexNameResolver,
protected readonly IndexUidResolverInterface $indexNameResolver,

Check failure on line 33 in src/Indexer/DefaultIndexer.php

View workflow job for this annotation

GitHub Actions / Backwards Compatibility Check

Type of property Setono\SyliusMeilisearchPlugin\Indexer\DefaultIndexer#$indexNameResolver changed from Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface to Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface
protected readonly DataMapperInterface $dataMapper,
protected readonly NormalizerInterface $normalizer,
protected readonly Client $client,
Expand Down
4 changes: 2 additions & 2 deletions src/Message/Handler/IndexHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,18 @@
use Setono\SyliusMeilisearchPlugin\Message\Command\Index;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface;
use Setono\SyliusMeilisearchPlugin\Provider\Settings\SettingsProviderInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface;
use Symfony\Component\Messenger\Exception\UnrecoverableMessageHandlingException;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;

final class IndexHandler
{
public function __construct(

Check failure on line 18 in src/Message/Handler/IndexHandler.php

View workflow job for this annotation

GitHub Actions / Backwards Compatibility Check

The parameter $indexNameResolver of Setono\SyliusMeilisearchPlugin\Message\Handler\IndexHandler#__construct() changed from Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface to a non-contravariant Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface
private readonly IndexRegistryInterface $indexRegistry,
private readonly Client $client,
private readonly SettingsProviderInterface $settingsProvider,
private readonly IndexScopeProviderInterface $indexScopeProvider,
private readonly IndexNameResolverInterface $indexNameResolver,
private readonly IndexUidResolverInterface $indexNameResolver,
private readonly NormalizerInterface $normalizer,
) {
}
Expand Down
4 changes: 2 additions & 2 deletions src/Message/Handler/UpdateSynonymsHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
use Setono\SyliusMeilisearchPlugin\Meilisearch\SynonymResolverInterface;
use Setono\SyliusMeilisearchPlugin\Message\Command\UpdateSynonyms;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface;

final class UpdateSynonymsHandler
{
public function __construct(

Check failure on line 16 in src/Message/Handler/UpdateSynonymsHandler.php

View workflow job for this annotation

GitHub Actions / Backwards Compatibility Check

The parameter $indexNameResolver of Setono\SyliusMeilisearchPlugin\Message\Handler\UpdateSynonymsHandler#__construct() changed from Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface to a non-contravariant Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface
private readonly Client $client,
private readonly IndexRegistryInterface $indexRegistry,
private readonly IndexScopeProviderInterface $indexScopeProvider,
private readonly IndexNameResolverInterface $indexNameResolver,
private readonly IndexUidResolverInterface $indexNameResolver,
private readonly SynonymResolverInterface $synonymResolver,
) {
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

declare(strict_types=1);

namespace Setono\SyliusMeilisearchPlugin\Resolver\IndexName;
namespace Setono\SyliusMeilisearchPlugin\Resolver\IndexUid;

use Setono\SyliusMeilisearchPlugin\Config\Index;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScope;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface;

/**
* This is a default index name resolver. This will give developers a better experience for simple scenarios
* where an index name like 'products' or 'taxons' or 'pages' will suffice.
* This is a default index uid resolver. This will give developers a better experience for simple scenarios
* where an index uid like 'products' or 'taxons' or 'pages' will suffice.
*
* An example of a resolved index name could be 'prod__products__fashion_web__en_us__usd'
* An example of a resolved index uid could be 'prod__products__fashion_web__en_us__usd'
*/
final class IndexNameResolver implements IndexNameResolverInterface
final class IndexUidResolver implements IndexUidResolverInterface
{
public function __construct(
private readonly IndexScopeProviderInterface $indexScopeProvider,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

declare(strict_types=1);

namespace Setono\SyliusMeilisearchPlugin\Resolver\IndexName;
namespace Setono\SyliusMeilisearchPlugin\Resolver\IndexUid;

use Setono\SyliusMeilisearchPlugin\Config\Index;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScope;

interface IndexNameResolverInterface
interface IndexUidResolverInterface
{
/**
* Will resolve an index name from the current application context, i.e. channel context, locale context etc
* Will resolve an index uid from the current application context, i.e. channel context, locale context etc
*/
public function resolve(Index $index): string;

Expand Down
4 changes: 2 additions & 2 deletions src/Resources/config/services/conditional/autocomplete.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="Setono\SyliusMeilisearchPlugin\Twig\AutocompleteRuntime">
<argument type="service" id="setono_sylius_meilisearch.resolver.index_name"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface"/>
<argument type="service" id="translator"/>
<argument>%setono_sylius_meilisearch.server.host%</argument>
<argument>%setono_sylius_meilisearch.server.search_key%</argument>
<argument>%setono_sylius_meilisearch.autocomplete.container%</argument>
<argument>%setono_sylius_meilisearch.autocomplete.placeholder%</argument>
<argument type="collection" /> <!-- Gets set in the extension -->
<argument type="collection"/> <!-- Gets set in the extension -->

<tag name="twig.runtime"/>
</service>
Expand Down
4 changes: 2 additions & 2 deletions src/Resources/config/services/message.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<argument type="service" id="Meilisearch\Client"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Provider\Settings\SettingsProviderInterface"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface"/>
<argument type="service" id="setono_sylius_meilisearch.resolver.index_name"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface"/>
<argument type="service" id="serializer"/>

<tag name="messenger.message_handler"/>
Expand Down Expand Up @@ -38,7 +38,7 @@
<argument type="service" id="Meilisearch\Client"/>
<argument type="service" id="setono_sylius_meilisearch.config.index_registry"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface"/>
<argument type="service" id="setono_sylius_meilisearch.resolver.index_name"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface"/>
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Meilisearch\SynonymResolverInterface"/>

<tag name="messenger.message_handler"/>
Expand Down
9 changes: 6 additions & 3 deletions src/Resources/config/services/resolver.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@
<container xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://symfony.com/schema/dic/services"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="setono_sylius_meilisearch.resolver.index_name"
class="Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolver">
<argument type="service" id="Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface"/>
<service id="Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface"
alias="Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolver"/>

<service id="Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolver">
<argument type="service"
id="Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface"/>
<argument>%kernel.environment%</argument>
</service>
</services>
Expand Down
4 changes: 2 additions & 2 deletions src/Twig/AutocompleteRuntime.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
use Setono\SyliusMeilisearchPlugin\Config\Index;
use Setono\SyliusMeilisearchPlugin\Meilisearch\Autocomplete\Configuration\Configuration;
use Setono\SyliusMeilisearchPlugin\Meilisearch\Autocomplete\Configuration\Source;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
use Twig\Extension\RuntimeExtensionInterface;

final class AutocompleteRuntime implements RuntimeExtensionInterface
{
public function __construct(

Check failure on line 16 in src/Twig/AutocompleteRuntime.php

View workflow job for this annotation

GitHub Actions / Backwards Compatibility Check

The parameter $indexNameResolver of Setono\SyliusMeilisearchPlugin\Twig\AutocompleteRuntime#__construct() changed from Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolverInterface to a non-contravariant Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolverInterface
private readonly IndexNameResolverInterface $indexNameResolver,
private readonly IndexUidResolverInterface $indexNameResolver,
private readonly TranslatorInterface $translator,
private readonly string $host,
private readonly string $searchKey,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@

declare(strict_types=1);

namespace Setono\SyliusMeilisearchPlugin\Tests\Unit\Resolver\IndexName;
namespace Setono\SyliusMeilisearchPlugin\Tests\Unit\Resolver\IndexUid;

use PHPUnit\Framework\TestCase;
use Prophecy\PhpUnit\ProphecyTrait;
use Setono\SyliusMeilisearchPlugin\Config\Index;
use Setono\SyliusMeilisearchPlugin\Document\Product;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScope;
use Setono\SyliusMeilisearchPlugin\Provider\IndexScope\IndexScopeProviderInterface;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolver;
use Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolver;
use Symfony\Component\DependencyInjection\Container;

/**
* @covers \Setono\SyliusMeilisearchPlugin\Resolver\IndexName\IndexNameResolver
* @covers \Setono\SyliusMeilisearchPlugin\Resolver\IndexUid\IndexUidResolver
*/
final class IndexNameResolverTest extends TestCase
final class IndexUidResolverTest extends TestCase
{
use ProphecyTrait;

Expand All @@ -27,7 +27,7 @@ public function it_resolves_from_index_scope(): void
{
$index = new Index('products', Product::class, [], new Container(), 'prefix');
$indexScope = new IndexScope($index, 'FASHION_WEB', 'en_US', 'USD');
$resolver = new IndexNameResolver(
$resolver = new IndexUidResolver(
$this->prophesize(IndexScopeProviderInterface::class)->reveal(),
'prod',
);
Expand Down
Loading