1
0
Files
breadcrumb-the-shire/lib/Support/SearchConfig.php

90 lines
2.6 KiB
PHP
Raw Normal View History

2026-02-04 23:31:53 +01:00
<?php
namespace MintyPHP\Support;
use MintyPHP\Support\Search\SearchItemMapperProvider;
use MintyPHP\Support\Search\SearchQueryNormalizer;
use MintyPHP\Support\Search\SearchSpecialResourceProvider;
use MintyPHP\Support\Search\SearchSqlResourceProvider;
use MintyPHP\Support\Search\SearchUiMetaProvider;
2026-02-04 23:31:53 +01:00
class SearchConfig
{
public static function tenantScopeFilters(): array
{
return SearchSqlResourceProvider::tenantScopeFilters();
2026-02-04 23:31:53 +01:00
}
public static function resources(string $query, string $locale): array
{
return SearchSqlResourceProvider::resources($query, $locale);
}
2026-02-11 19:28:12 +01:00
public static function iconForKey(string $key): string
2026-02-11 19:28:12 +01:00
{
return SearchUiMetaProvider::iconForKey($key);
2026-02-11 19:28:12 +01:00
}
public static function listUrl(string $key, string $query): string
2026-02-11 19:28:12 +01:00
{
return SearchUiMetaProvider::listUrl($key, $query);
2026-02-11 19:28:12 +01:00
}
public static function mapPreviewItem(string $key, array $data, string $query): ?array
2026-02-04 23:31:53 +01:00
{
return SearchItemMapperProvider::mapPreviewItem($key, $data, $query);
}
2026-02-04 23:31:53 +01:00
public static function mapResultItem(string $key, string $label, array $data): ?array
{
return SearchItemMapperProvider::mapResultItem($key, $label, $data);
2026-02-04 23:31:53 +01:00
}
public static function hotkeyPreviewResource(string $query): ?array
2026-02-04 23:31:53 +01:00
{
return SearchSpecialResourceProvider::hotkeyPreviewResource($query);
2026-02-04 23:31:53 +01:00
}
public static function hotkeyResultItems(string $query): array
2026-02-04 23:31:53 +01:00
{
return SearchSpecialResourceProvider::hotkeyResultItems($query);
}
2026-02-04 23:31:53 +01:00
public static function docsPreviewResource(string $query): ?array
{
return SearchSpecialResourceProvider::docsPreviewResource($query);
2026-02-04 23:31:53 +01:00
}
public static function docsResultItems(string $query): array
2026-02-04 23:31:53 +01:00
{
return SearchSpecialResourceProvider::docsResultItems($query);
}
2026-02-04 23:31:53 +01:00
public static function normalizeScoreQuery(string $query): string
{
return SearchQueryNormalizer::normalizeScoreQuery($query);
2026-02-04 23:31:53 +01:00
}
/**
* @return array{missingIcons: string[], missingListUrls: string[]}
*/
public static function providerCoverageGaps(): array
2026-02-04 23:31:53 +01:00
{
$missingIcons = [];
$missingListUrls = [];
foreach (SearchSqlResourceProvider::resourceKeys() as $key) {
if (!SearchUiMetaProvider::hasIconForKey($key)) {
$missingIcons[] = $key;
}
if (!SearchUiMetaProvider::hasListUrlForKey($key)) {
$missingListUrls[] = $key;
2026-02-04 23:31:53 +01:00
}
}
return [
'missingIcons' => $missingIcons,
'missingListUrls' => $missingListUrls,
2026-02-04 23:31:53 +01:00
];
}
}