diff --git a/src/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTO.php b/src/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTO.php
index 47d8ac69..50b7f4cf 100644
--- a/src/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTO.php
+++ b/src/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTO.php
@@ -22,41 +22,24 @@ declare(strict_types=1);
namespace App\Services\InfoProviderSystem\DTOs;
-use App\Services\InfoProviderSystem\Providers\InfoProviderInterface;
-
/**
* Represents a mapping between a part field and the info providers that should search in that field.
*/
readonly class BulkSearchFieldMappingDTO
{
- /** @var string[] $providers Array of provider keys to search with (e.g., ['digikey', 'farnell']) */
- public array $providers;
-
/**
* @param string $field The field to search in (e.g., 'mpn', 'name', or supplier-specific fields like 'digikey_spn')
- * @param string[]|InfoProviderInterface[] $providers Array of provider keys to search with (e.g., ['digikey', 'farnell'])
+ * @param string[] $providers Array of provider keys to search with (e.g., ['digikey', 'farnell'])
* @param int $priority Priority for this field mapping (1-10, lower numbers = higher priority)
*/
public function __construct(
public string $field,
- array $providers = [],
+ public array $providers,
public int $priority = 1
) {
if ($priority < 1 || $priority > 10) {
throw new \InvalidArgumentException('Priority must be between 1 and 10');
}
-
- //Ensure that providers are provided as keys
- foreach ($providers as &$provider) {
- if ($provider instanceof InfoProviderInterface) {
- $provider = $provider->getProviderKey();
- }
- if (!is_string($provider)) {
- throw new \InvalidArgumentException('Providers must be provided as strings or InfoProviderInterface instances');
- }
- }
- unset($provider);
- $this->providers = $providers;
}
/**
diff --git a/src/Settings/MiscSettings/IpnSuggestSettings.php b/src/Settings/MiscSettings/IpnSuggestSettings.php
index 2c2cb21a..16face21 100644
--- a/src/Settings/MiscSettings/IpnSuggestSettings.php
+++ b/src/Settings/MiscSettings/IpnSuggestSettings.php
@@ -35,7 +35,7 @@ use Symfony\Component\Translation\TranslatableMessage as TM;
use Symfony\Component\Validator\Constraints as Assert;
#[Settings(label: new TM("settings.misc.ipn_suggest"))]
-#[SettingsIcon("fa-arrow-up-1-9")]
+#[SettingsIcon("fa-list")]
class IpnSuggestSettings
{
use SettingsTrait;
@@ -91,14 +91,14 @@ class IpnSuggestSettings
description: new TM("settings.misc.ipn_suggest.numberSeparator.help"),
options: ['type' => StringType::class],
)]
- public string $numberSeparator = '-';
+ public ?string $numberSeparator = '-';
#[SettingsParameter(
label: new TM("settings.misc.ipn_suggest.categorySeparator"),
description: new TM("settings.misc.ipn_suggest.categorySeparator.help"),
options: ['type' => StringType::class],
)]
- public string $categorySeparator = '-';
+ public ?string $categorySeparator = '-';
#[SettingsParameter(
label: new TM("settings.misc.ipn_suggest.globalPrefix"),
diff --git a/tests/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTOTest.php b/tests/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTOTest.php
index e300e2bf..a2101938 100644
--- a/tests/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTOTest.php
+++ b/tests/Services/InfoProviderSystem/DTOs/BulkSearchFieldMappingDTOTest.php
@@ -26,15 +26,6 @@ use PHPUnit\Framework\TestCase;
class BulkSearchFieldMappingDTOTest extends TestCase
{
- public function testProviderInstanceNormalization(): void
- {
- $mockProvider = $this->createMock(\App\Services\InfoProviderSystem\Providers\InfoProviderInterface::class);
- $mockProvider->method('getProviderKey')->willReturn('mock_provider');
-
- $fieldMapping = new BulkSearchFieldMappingDTO(field: 'mpn', providers: ['provider1', $mockProvider], priority: 5);
- $this->assertSame(['provider1', 'mock_provider'], $fieldMapping->providers);
- }
-
public function testIsSupplierPartNumberField(): void
{
$fieldMapping = new BulkSearchFieldMappingDTO(field: 'reichelt_spn', providers: ['provider1'], priority: 1);
diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf
index d6092f03..5b7749e1 100644
--- a/translations/messages.en.xlf
+++ b/translations/messages.en.xlf
@@ -14484,53 +14484,5 @@ Please note that this system is currently experimental, and the synonyms defined
The global IPN prefix, common across all parts
-
-
- settings.misc.ipn_suggest.fallbackPrefix
- Fallback prefix
-
-
-
-
- settings.misc.ipn_suggest.fallbackPrefix.help
- The IPN prefix that should be used, if a category has no prefix defined.
-
-
-
-
- settings.misc.ipn_suggest.numberSeparator
- Number separator
-
-
-
-
- settings.misc.ipn_suggest.numberSeparator.help
- The separator character used to separate the IPN number from the prefix.
-
-
-
-
- settings.misc.ipn_suggest.categorySeparator
- Category separator
-
-
-
-
- settings.misc.ipn_suggest.categorySeparator.help
- The separator character used to separate different levels of category prefixes.
-
-
-
-
- settings.misc.ipn_suggest.globalPrefix
- Global prefix
-
-
-
-
- settings.misc.ipn_suggest.globalPrefix.help
- If enabled, an option for to generate IPN with this global prefix, shared across parts in all categories.
-
-