diff --git a/frontend/src/FilterManager.jsx b/frontend/src/FilterManager.jsx index cb55c41..ce31e4c 100644 --- a/frontend/src/FilterManager.jsx +++ b/frontend/src/FilterManager.jsx @@ -886,10 +886,39 @@ function FilterManager() { } }; - const handleLoadServerConfig = async (serverId) => { + const handleLoadServerConfig = async (serverId, legacyId = null) => { try { const response = await api.get(`/server-configs/${serverId}`); - setGeneratedConfig(response.data.config); + const config = response.data?.config; + + // Если конфигурация найдена и не пустая + if (config && config !== '// Конфигурация не найдена') { + setGeneratedConfig(config); + setPreviewModalOpen(true); + return; + } + + // Пробуем загрузить по legacyId + if (legacyId && legacyId !== serverId) { + try { + const legacyResponse = await api.get(`/server-configs/${legacyId}`); + const legacyConfig = legacyResponse.data?.config; + + if (legacyConfig && legacyConfig !== '// Конфигурация не найдена') { + // Мигрируем конфигурацию на новый id + await api.post(`/server-configs/${serverId}`, { config: legacyConfig }); + setGeneratedConfig(legacyConfig); + setPreviewModalOpen(true); + setSuccess(`Конфигурация мигрирована с legacy id: ${legacyId}`); + setTimeout(() => setSuccess(''), 3000); + return; + } + } catch (legacyError) { + console.log('No legacy config found'); + } + } + + setGeneratedConfig('// Конфигурация не найдена'); setPreviewModalOpen(true); } catch (error) { console.error('Error loading server config:', error); @@ -1620,7 +1649,6 @@ function FilterManager() {
{server.name}
- Активен
{(() => { const meta = inventoryServers.find(