This commit is contained in:
Mateusz Gruszczyński committed 2026-10-19 11:09:48 +02:00
1 parent 4afa88a65e
commit 2ab44c4c62
49 files changed
+1523 -176

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
"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(); } };
})();