import { app } from '../router.js'; import { showToast } from '../api.js'; export async function renderSettings() { app.innerHTML = `

Data Retention

Delete events older than the specified number of days. This runs automatically every 24 hours. Currently configured via RETENTION_DAYS environment variable (default: 30 days).

days
`; document.getElementById('run-retention-btn')?.addEventListener('click', async () => { const days = parseInt(document.getElementById('retention-days').value, 10); if (!days || days < 1) { showToast('Enter a valid number of days', 'error'); return; } const btn = document.getElementById('run-retention-btn'); btn.disabled = true; btn.textContent = 'Running…'; try { const resp = await fetch('/api/v1/admin/retention', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ days }), }); const data = await resp.json(); if (!resp.ok) throw new Error(data.error || 'Request failed'); const result = document.getElementById('retention-result'); if (result) result.innerHTML = `Deleted ${data.deleted} events older than ${new Date(data.cutoff).toLocaleDateString()}.`; showToast(`Deleted ${data.deleted} events`, 'success'); } catch (e) { showToast('Retention failed: ' + e.message, 'error'); } finally { btn.disabled = false; btn.textContent = 'Run Now'; } }); }