Add raw GVL evidence storage and restore evidence purge UI
Dieser Commit ist enthalten in:
@@ -16,6 +16,18 @@ const evidenceDashboardButton = document.getElementById(
|
||||
const evidenceExportJsonButton = document.getElementById(
|
||||
"evidence-export-json-button"
|
||||
);
|
||||
const evidencePurgeUnlockedButton = document.getElementById(
|
||||
"evidence-purge-unlocked-button"
|
||||
);
|
||||
const evidencePurgeConfirmModal = document.getElementById(
|
||||
"evidence-purge-confirm-modal"
|
||||
);
|
||||
const evidencePurgeCancelButton = document.getElementById(
|
||||
"evidence-purge-cancel-button"
|
||||
);
|
||||
const evidencePurgeConfirmButton = document.getElementById(
|
||||
"evidence-purge-confirm-button"
|
||||
);
|
||||
const evidenceExportJsonStatus = document.getElementById(
|
||||
"evidence-export-json-status"
|
||||
);
|
||||
@@ -69,6 +81,9 @@ document.addEventListener("DOMContentLoaded", async () => {
|
||||
});
|
||||
|
||||
evidenceExportJsonButton.addEventListener("click", exportEvidenceJsonFile);
|
||||
evidencePurgeUnlockedButton.addEventListener("click", openPurgeConfirmModal);
|
||||
evidencePurgeCancelButton.addEventListener("click", closePurgeConfirmModal);
|
||||
evidencePurgeConfirmButton.addEventListener("click", purgeUnlockedEvidence);
|
||||
});
|
||||
|
||||
async function renderSettings() {
|
||||
@@ -143,6 +158,48 @@ function renderEvidenceRetentionMessage(message) {
|
||||
evidenceRetentionStatus.textContent = message;
|
||||
}
|
||||
|
||||
function openPurgeConfirmModal() {
|
||||
evidencePurgeConfirmModal.hidden = false;
|
||||
evidencePurgeCancelButton.focus();
|
||||
}
|
||||
|
||||
function closePurgeConfirmModal() {
|
||||
evidencePurgeConfirmModal.hidden = true;
|
||||
evidencePurgeUnlockedButton.focus();
|
||||
}
|
||||
|
||||
async function purgeUnlockedEvidence() {
|
||||
closePurgeConfirmModal();
|
||||
evidencePurgeUnlockedButton.disabled = true;
|
||||
renderEvidenceRetentionMessage("Ungesperrte Evidence-Daten werden gelöscht...");
|
||||
|
||||
try {
|
||||
const result = await browser.runtime.sendMessage({
|
||||
type: "purge_unlocked_evidence_records"
|
||||
});
|
||||
|
||||
if (!result?.success) {
|
||||
throw new Error(result?.error ?? "purge_unlocked_evidence_records_failed");
|
||||
}
|
||||
|
||||
await renderEvidenceRetentionStatus();
|
||||
renderEvidenceRetentionMessage(buildPurgeUnlockedSuccessMessage(result));
|
||||
} catch (error) {
|
||||
renderEvidenceRetentionMessage("Löschen fehlgeschlagen");
|
||||
console.warn("VendorGet-IV unlocked evidence purge failed", error);
|
||||
} finally {
|
||||
evidencePurgeUnlockedButton.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
function buildPurgeUnlockedSuccessMessage(result) {
|
||||
if (Number.isFinite(result.deletedCount)) {
|
||||
return `Ungesperrte Evidence-Daten gelöscht: ${result.deletedCount} Records`;
|
||||
}
|
||||
|
||||
return "Ungesperrte Evidence-Daten gelöscht";
|
||||
}
|
||||
|
||||
async function exportEvidenceJsonFile() {
|
||||
evidenceExportJsonButton.disabled = true;
|
||||
renderEvidenceExportJsonMessage("Export läuft…");
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren