document.addEventListener('DOMContentLoaded', function() { fetchRoutes(); }); async function fetchRoutes() { try { const response = await fetch('/api/v1/admin/routes'); const routes = await response.json(); populateTable(routes); } catch (error) { console.error('Error fetching routes:', error); } } const deleteRoute = async (id) => { // Confirm deletion if (!confirm('Are you sure you want to delete this route?')) { return; } try { const response = await fetch(`/api/v1/admin/route/${id}`, { method: 'DELETE' }); if (response.status === 200) { fetchRoutes(); } } catch (error) { console.error('Error deleting route:', error); } } function populateTable(routes) { const tableBody = document.querySelector('#adminTable tbody'); if (!tableBody) return; tableBody.innerHTML = ''; routes.forEach(route => { const row = document.createElement('tr'); row.className = 'table-dark'; row.innerHTML = ` ${route.id || ''} ${route.server}:${route.port || ''} ${route.auth || ''} ${route.secret || ''} ${route.block_start || ''} - ${route.block_start + route.block_length || ''} ${route.apiKey || ''} `; tableBody.appendChild(row); }); }