feat: Implement server connections API and enhance GraphView with custom edge styling for improved visualization and user interaction in the topology graph.
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m23s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m23s
This commit is contained in:
@@ -90,10 +90,7 @@ function ServerManager() {
|
||||
const [addServerModalOpen, setAddServerModalOpen] = useState(false);
|
||||
const [customProvider, setCustomProvider] = useState('');
|
||||
|
||||
const [connections, setConnections] = useState([
|
||||
// Пример связи для теста
|
||||
// { from: '192.168.1.1', to: '192.168.1.2', tunnelType: 'GRE', ipA: '10.10.100.1', ipB: '10.10.100.2' }
|
||||
]);
|
||||
const [connections, setConnections] = useState([]);
|
||||
const [newConnection, setNewConnection] = useState({ from: '', to: '', tunnelType: 'GRE', ipA: '', ipB: '' });
|
||||
const [graphConnectionModalOpen, setGraphConnectionModalOpen] = useState(false);
|
||||
|
||||
@@ -105,6 +102,7 @@ function ServerManager() {
|
||||
|
||||
useEffect(() => {
|
||||
fetchServers();
|
||||
fetchConnections();
|
||||
}, []);
|
||||
|
||||
// Загружаем настройки URL из localStorage
|
||||
@@ -134,6 +132,20 @@ function ServerManager() {
|
||||
}
|
||||
};
|
||||
|
||||
const fetchConnections = async () => {
|
||||
try {
|
||||
const response = await api.get(`/server-connections`);
|
||||
if (Array.isArray(response.data)) {
|
||||
setConnections(response.data);
|
||||
} else {
|
||||
setConnections([]);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching server connections:', error);
|
||||
// Не перекрываем возможную ошибку по серверам, просто логируем
|
||||
}
|
||||
};
|
||||
|
||||
const handleAddServer = () => {
|
||||
if (!newServer.ip.trim() || !newServer.dns.trim() || !newServer.country.trim() || !newServer.provider.trim() || !newServer.tunnel.trim()) {
|
||||
setError('Все обязательные поля должны быть заполнены.');
|
||||
@@ -374,11 +386,12 @@ function ServerManager() {
|
||||
setLoading(true);
|
||||
try {
|
||||
await api.post(`/servers`, { domains: servers });
|
||||
setSuccess('Изменения успешно сохранены!');
|
||||
await api.post(`/server-connections`, { domains: connections });
|
||||
setSuccess('Изменения по серверам и связям успешно сохранены!');
|
||||
setTimeout(() => setSuccess(''), 3000);
|
||||
} catch (error) {
|
||||
console.error('Error saving changes:', error);
|
||||
setError('Не удалось сохранить изменения.');
|
||||
setError('Не удалось сохранить изменения по серверам или связям.');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user