"use strict"; window.rustProxyPrometheusToken = (() => { let isConfigured = false; const hideSecret = () => { $("prom-token-secret").textContent = ""; $("prom-token-secret-wrap").hidden = true; }; function showStatus() { $("prom-token-status").textContent = t(isConfigured ? "promTokenConfigured" : "promTokenMissing"); $("prom-token-revoke").disabled = !isConfigured; } async function refresh() { if (!authenticated) return; try { const result = await api("/api/prometheus-token"); isConfigured = !!result.configured; showStatus(); } catch (error) { if (error.status !== 401) toast(error.message, true); } } $("prom-token-generate").addEventListener("click", async event => { const button = event.currentTarget; button.disabled = true; hideSecret(); try { const result = await api("/api/prometheus-token", { method: "POST", body: "{}" }); isConfigured = true; $("prom-token-secret").textContent = result.token; $("prom-token-secret-wrap").hidden = false; showStatus(); window.rustProxySettings?.render?.(); } catch (error) { toast(error.message, true); } finally { button.disabled = false; } }); $("prom-token-revoke").addEventListener("click", async () => { if (!(await appConfirm(t("confirmDelete"), { danger: true }))) return; try { await api("/api/prometheus-token", { method: "DELETE" }); isConfigured = false; hideSecret(); showStatus(); window.rustProxySettings?.render?.(); } catch (error) { toast(error.message, true); } }); return { configured: () => isConfigured, refresh, hideSecret, reset() { isConfigured = false; hideSecret(); showStatus(); } }; })();