Refactor helper drift in lib: centralize theme/translation and remove app() hotspots
This commit is contained in:
@@ -18,6 +18,15 @@ class SearchConfig
|
||||
/** @var array<string, SearchResourceProvider> key→provider lookup */
|
||||
private static array $moduleProviderByKey = [];
|
||||
|
||||
/** @var (callable(): ModuleRegistry)|null */
|
||||
private static $moduleRegistryResolver = null;
|
||||
|
||||
public static function configure(callable $moduleRegistryResolver): void
|
||||
{
|
||||
self::$moduleRegistryResolver = $moduleRegistryResolver;
|
||||
self::resetModuleProviders();
|
||||
}
|
||||
|
||||
public static function tenantScopeFilters(): array
|
||||
{
|
||||
$filters = SearchSqlResourceProvider::tenantScopeFilters();
|
||||
@@ -136,9 +145,15 @@ class SearchConfig
|
||||
self::$moduleProviders = [];
|
||||
self::$moduleProviderByKey = [];
|
||||
|
||||
if (!is_callable(self::$moduleRegistryResolver)) {
|
||||
return self::$moduleProviders;
|
||||
}
|
||||
|
||||
try {
|
||||
/** @var ModuleRegistry $registry */
|
||||
$registry = app(ModuleRegistry::class);
|
||||
$registry = (self::$moduleRegistryResolver)();
|
||||
if (!$registry instanceof ModuleRegistry) {
|
||||
return self::$moduleProviders;
|
||||
}
|
||||
foreach ($registry->getSearchResources() as $providerClass) {
|
||||
if (!class_exists($providerClass)) {
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user