Reworked info provider system to merge all provider metadata into a unified DTO

This commit is contained in:
Jan Böhmer 2026-07-26 13:55:27 +02:00
parent 661cc5a052
commit 071ffe322d
39 changed files with 412 additions and 533 deletions

View file

@ -66,8 +66,8 @@ class ProviderSelectType extends AbstractType
$tmp = [];
foreach ($providers as $provider) {
$name = $provider->getProviderInfo()['name'];
$tmp[$name] = $provider->getProviderKey();
$info = $provider->getProviderInfo();
$tmp[$info->name] = $info->key;
}
return $tmp;
@ -77,7 +77,7 @@ class ProviderSelectType extends AbstractType
$resolver->setDefault('choice_label', function (Options $options) {
if ('object' === $options['input']) {
return ChoiceList::label($this, static fn(?InfoProviderInterface $choice
) => new StaticMessage($choice?->getProviderInfo()['name']));
) => new StaticMessage($choice?->getProviderInfo()->name));
}
return static fn($choice, $key, $value) => new StaticMessage($key);
@ -85,7 +85,7 @@ class ProviderSelectType extends AbstractType
$resolver->setDefault('choice_value', function (Options $options) {
if ('object' === $options['input']) {
return ChoiceList::value($this,
static fn(?InfoProviderInterface $choice) => $choice?->getProviderKey());
static fn(?InfoProviderInterface $choice) => $choice?->getProviderInfo()->key);
}
return null;