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)
|
// Единая точка входа для пингов (кеш общий с Easy Switch)
|
||||||
const { pingMap, requestPings } = usePing();
|
const { pingMap, requestPings } = usePing();
|
||||||
|
|
||||||
// Получить metadata сервера из inventory по имени (dns/hostName/ip)
|
// Получить metadata сервера из inventory по имени (dns/hostName/ip или короткое имя типа "ihor")
|
||||||
const getInventoryMetaForServer = (serverName) => {
|
const getInventoryMetaForServer = (serverName) => {
|
||||||
if (!serverName) return null;
|
if (!serverName) return null;
|
||||||
return inventoryServers.find((srv) =>
|
const name = String(serverName).trim();
|
||||||
String(srv.dns || '').trim() === serverName ||
|
return inventoryServers.find((srv) => {
|
||||||
String(srv.hostName || '').trim() === serverName ||
|
const dns = String(srv.dns || '').trim();
|
||||||
String(srv.ip || '').trim() === serverName
|
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
|
// Получить routerId для MikroTik (id/dns/ip), как на странице Easy Switch
|
||||||
const getRouterIdForServer = (server) => {
|
const getRouterIdForServer = (server) => {
|
||||||
if (!server) return null;
|
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;
|
if (!meta) return null;
|
||||||
return meta.id || meta.dns || meta.ip || null;
|
return meta.id || meta.dns || meta.ip || null;
|
||||||
};
|
};
|
||||||
@@ -808,8 +814,8 @@ function FilterManager() {
|
|||||||
const selectedServerGateways = (() => {
|
const selectedServerGateways = (() => {
|
||||||
if (!selectedServer) return [];
|
if (!selectedServer) return [];
|
||||||
|
|
||||||
// Ищем соответствующий сервер в inventoryServers по имени
|
// Ищем соответствующий сервер в inventory (по полному или короткому имени)
|
||||||
const matchedServer = getInventoryMetaForServer(selectedServer.name);
|
const matchedServer = getInventoryMetaForServer(selectedServer.fullName || selectedServer.dns || selectedServer.name) || getInventoryMetaForServer(selectedServer.name);
|
||||||
|
|
||||||
const serverDns = matchedServer?.dns || matchedServer?.hostName || selectedServer.name || '';
|
const serverDns = matchedServer?.dns || matchedServer?.hostName || selectedServer.name || '';
|
||||||
const serverId = matchedServer?.id || matchedServer?.ip || selectedServer.id || selectedServer.name || '';
|
const serverId = matchedServer?.id || matchedServer?.ip || selectedServer.id || selectedServer.name || '';
|
||||||
|
|||||||
Reference in New Issue
Block a user