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

@ -73,7 +73,7 @@ class BrowserPluginController extends AbstractController
if (isset($activeProviders[$key])) {
$urlProviders[] = [
'id' => $key,
'label' => $activeProviders[$key]->getProviderInfo()['name'],
'label' => $activeProviders[$key]->getProviderInfo()->name,
];
}
}

View file

@ -88,7 +88,7 @@ class InfoProviderController extends AbstractController
$this->denyAccessUnlessGranted('@info_providers.create_parts');
$providerInstance = $this->providerRegistry->getProviderByKey($provider);
$settingsClass = $providerInstance->getProviderInfo()['settings_class'] ?? throw new \LogicException('Provider ' . $provider . ' does not have a settings class defined');
$settingsClass = $providerInstance->getProviderInfo()->settingsClass ?? throw new \LogicException('Provider ' . $provider . ' does not have a settings class defined');
//Create a clone of the settings object
$settings = $this->settingsManager->createTemporaryCopy($settingsClass);