feat(FilterManager): enhance server metadata retrieval to support short names for improved matching
Publish Fast Tabler Docker image / build-and-push-fast (push) Failing after 3m24s
Publish Fast Tabler Docker image / build-and-push-fast (push) Failing after 3m24s
This commit is contained in:
@@ -786,20 +786,26 @@ function FilterManager() {
|
||||
// Единая точка входа для пингов (кеш общий с Easy Switch)
|
||||
const { pingMap, requestPings } = usePing();
|
||||
|
||||
// Получить metadata сервера из inventory по имени (dns/hostName/ip)
|
||||
// Получить metadata сервера из inventory по имени (dns/hostName/ip или короткое имя типа "ihor")
|
||||
const getInventoryMetaForServer = (serverName) => {
|
||||
if (!serverName) return null;
|
||||
return inventoryServers.find((srv) =>
|
||||
String(srv.dns || '').trim() === serverName ||
|
||||
String(srv.hostName || '').trim() === serverName ||
|
||||
String(srv.ip || '').trim() === serverName
|
||||
);
|
||||
const name = String(serverName).trim();
|
||||
return inventoryServers.find((srv) => {
|
||||
const dns = String(srv.dns || '').trim();
|
||||
const hostName = String(srv.hostName || '').trim();
|
||||
const ip = String(srv.ip || '').trim();
|
||||
if (dns === name || hostName === name || ip === name) return true;
|
||||
// На странице Фильтров selectedServer.name — короткое имя (первая часть dns), например "ihor"
|
||||
if (dns && dns.split('.')[0] === name) return true;
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
// Получить routerId для MikroTik (id/dns/ip), как на странице Easy Switch
|
||||
const getRouterIdForServer = (server) => {
|
||||
if (!server) return null;
|
||||
const meta = getInventoryMetaForServer(server.name);
|
||||
// Сначала ищем по полному имени (fullName/dns), затем по короткому (name)
|
||||
const meta = getInventoryMetaForServer(server.fullName || server.dns || server.name) || getInventoryMetaForServer(server.name);
|
||||
if (!meta) return null;
|
||||
return meta.id || meta.dns || meta.ip || null;
|
||||
};
|
||||
@@ -808,8 +814,8 @@ function FilterManager() {
|
||||
const selectedServerGateways = (() => {
|
||||
if (!selectedServer) return [];
|
||||
|
||||
// Ищем соответствующий сервер в inventoryServers по имени
|
||||
const matchedServer = getInventoryMetaForServer(selectedServer.name);
|
||||
// Ищем соответствующий сервер в inventory (по полному или короткому имени)
|
||||
const matchedServer = getInventoryMetaForServer(selectedServer.fullName || selectedServer.dns || selectedServer.name) || getInventoryMetaForServer(selectedServer.name);
|
||||
|
||||
const serverDns = matchedServer?.dns || matchedServer?.hostName || selectedServer.name || '';
|
||||
const serverId = matchedServer?.id || matchedServer?.ip || selectedServer.id || selectedServer.name || '';
|
||||
|
||||
Reference in New Issue
Block a user