From 2cc9e6cbe253a0aabdf803197e43a1ba91141780 Mon Sep 17 00:00:00 2001 From: ISA Date: Fri, 25 Apr 2025 08:45:28 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Datenbank-Reiter=20erg=C3=A4nzt=20mit?= =?UTF-8?q?=20neuen=20L=C3=B6schfunktionen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Neuen Tab „Datenbank“ in Einstellungen-Seite eingebaut - Separate Buttons für: - vollständiges Löschen der Datenbank - Konfiguration löschen (DBC1) - Meldungen löschen (DBC2) - Logger-Messwerte löschen (DBC3) - Logik über eigene Handler-Funktionen umgesetzt - „Datenbank leeren“-Button aus GeneralSettings entfernt --- .../DatabaseSettings.tsx | 43 ++++++++++++----- .../GeneralSettings.tsx | 46 ++++++++++--------- .../handlers/dbHandlers/handleClearConfig.ts | 34 ++++++++++++++ .../{ => dbHandlers}/handleClearDatabase.ts | 2 +- .../handlers/dbHandlers/handleClearLogger.ts | 34 ++++++++++++++ .../dbHandlers/handleClearMessages.ts | 34 ++++++++++++++ config/webVersion.ts | 2 +- 7 files changed, 160 insertions(+), 35 deletions(-) create mode 100644 components/main/settingsPageComponents/handlers/dbHandlers/handleClearConfig.ts rename components/main/settingsPageComponents/handlers/{ => dbHandlers}/handleClearDatabase.ts (92%) create mode 100644 components/main/settingsPageComponents/handlers/dbHandlers/handleClearLogger.ts create mode 100644 components/main/settingsPageComponents/handlers/dbHandlers/handleClearMessages.ts diff --git a/components/main/settingsPageComponents/DatabaseSettings.tsx b/components/main/settingsPageComponents/DatabaseSettings.tsx index f2868c6..3f60f3a 100644 --- a/components/main/settingsPageComponents/DatabaseSettings.tsx +++ b/components/main/settingsPageComponents/DatabaseSettings.tsx @@ -1,28 +1,49 @@ // /components/main/settingsPageComponents/DatabaseSettings.tsx "use client"; import React from "react"; -import handleClearDatabase from "./handlers/handleClearDatabase"; +import handleClearDatabase from "./handlers/dbHandlers/handleClearDatabase"; +import handleClearConfig from "./handlers/dbHandlers/handleClearConfig"; +import handleClearMessages from "./handlers/dbHandlers/handleClearMessages"; +import handleClearLogger from "./handlers/dbHandlers/handleClearLogger"; const DatabaseSettings: React.FC = () => { return (
-

+

Datenbank Einstellungen

-
-

- Datenbankfunktionen wie Löschen, Export oder Reset. Weitere Funktionen - folgen. -

- - {/* ✅ Button: Datenbank leeren */} +
+ + + + + +
diff --git a/components/main/settingsPageComponents/GeneralSettings.tsx b/components/main/settingsPageComponents/GeneralSettings.tsx index ee7e8e6..0bc35fe 100644 --- a/components/main/settingsPageComponents/GeneralSettings.tsx +++ b/components/main/settingsPageComponents/GeneralSettings.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react"; import { RootState } from "../../../redux/store"; import { useSelector } from "react-redux"; -import handleClearDatabase from "./handlers/handleClearDatabase"; +import handleClearDatabase from "./handlers/dbHandlers/handleClearDatabase"; import handleReboot from "./handlers/handleReboot"; import handleSetDateTime from "./handlers/handleSetDateTime"; import handleSubmit from "./handlers/handleSubmit"; @@ -216,27 +216,29 @@ const GeneralSettings: React.FC = () => { ) : ( <> - setUsername(e.target.value)} - /> - setPassword(e.target.value)} - /> - +
+ setUsername(e.target.value)} + /> + setPassword(e.target.value)} + /> + +
)}
diff --git a/components/main/settingsPageComponents/handlers/dbHandlers/handleClearConfig.ts b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearConfig.ts new file mode 100644 index 0000000..3031a02 --- /dev/null +++ b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearConfig.ts @@ -0,0 +1,34 @@ +// components/main/settingsPageComponents/handlers/dbHandlers/handleClearConfig.ts +const handleClearConfig = async () => { + const confirmClear = window.confirm( + "Sind Sie sicher, dass Sie die Datenbank Konfiguration löschen möchten?" + ); + if (!confirmClear) return; + + // Get the current path and ensure it ends with ".html" + let currentPath = window.location.pathname; + if (!currentPath.endsWith(".html")) { + currentPath += ".html"; + } + + // Full URL with host, current path, and clear database command + const url = `${window.location.origin}/CPL?${currentPath}&DBC1=1`; + + // Log the full URL to the console for debugging + console.log(url); + + // Send the clear database command to the server using fetch and GET method + try { + const response = await fetch(url, { method: "GET" }); + if (response.ok) { + alert("Datenbank Konfiguration erfolgreich gelöscht!"); + } else { + alert("Fehler beim Löschen der Datenbank Konfiguration!"); + } + } catch (error) { + console.error("Fehler:", error); + alert("Fehler beim Löschen der Datenbank Konfiguration!"); + } +}; + +export default handleClearConfig; diff --git a/components/main/settingsPageComponents/handlers/handleClearDatabase.ts b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearDatabase.ts similarity index 92% rename from components/main/settingsPageComponents/handlers/handleClearDatabase.ts rename to components/main/settingsPageComponents/handlers/dbHandlers/handleClearDatabase.ts index d516b37..49faedb 100644 --- a/components/main/settingsPageComponents/handlers/handleClearDatabase.ts +++ b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearDatabase.ts @@ -1,4 +1,4 @@ -// components/main/settingsPageComponents/handlers/handleClearDatabase.ts +// components/main/settingsPageComponents/handlers/dbHandlers/handleClearDatabase.ts const handleClearDatabase = async () => { const confirmClear = window.confirm( "Sind Sie sicher, dass Sie die Datenbank leeren möchten?" diff --git a/components/main/settingsPageComponents/handlers/dbHandlers/handleClearLogger.ts b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearLogger.ts new file mode 100644 index 0000000..0e0697c --- /dev/null +++ b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearLogger.ts @@ -0,0 +1,34 @@ +// components/main/settingsPageComponents/handlers/dbHandlers/handleClearLogger.ts +const handleClearLogger = async () => { + const confirmClear = window.confirm( + "Sind Sie sicher, dass Sie die Datenbank Messwerte Logger löschen möchten?" + ); + if (!confirmClear) return; + + // Get the current path and ensure it ends with ".html" + let currentPath = window.location.pathname; + if (!currentPath.endsWith(".html")) { + currentPath += ".html"; + } + + // Full URL with host, current path, and clear database command + const url = `${window.location.origin}/CPL?${currentPath}&DBC3=1`; + + // Log the full URL to the console for debugging + console.log(url); + + // Send the clear database command to the server using fetch and GET method + try { + const response = await fetch(url, { method: "GET" }); + if (response.ok) { + alert("Datenbank Messwerte Logger erfolgreich gelöscht!"); + } else { + alert("Fehler beim Löschen der Datenbank Messwerte Logger!"); + } + } catch (error) { + console.error("Fehler:", error); + alert("Fehler beim Löschen der Datenbank Messwerte Logger!"); + } +}; + +export default handleClearLogger; diff --git a/components/main/settingsPageComponents/handlers/dbHandlers/handleClearMessages.ts b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearMessages.ts new file mode 100644 index 0000000..b1ed259 --- /dev/null +++ b/components/main/settingsPageComponents/handlers/dbHandlers/handleClearMessages.ts @@ -0,0 +1,34 @@ +// components/main/settingsPageComponents/handlers/dbHandlers/handleClearMessages.ts +const handleClearMessages = async () => { + const confirmClear = window.confirm( + "Sind Sie sicher, dass Sie die Datenbank Meldungen löschen möchten?" + ); + if (!confirmClear) return; + + // Get the current path and ensure it ends with ".html" + let currentPath = window.location.pathname; + if (!currentPath.endsWith(".html")) { + currentPath += ".html"; + } + + // Full URL with host, current path, and clear database command + const url = `${window.location.origin}/CPL?${currentPath}&DBC2=1`; + + // Log the full URL to the console for debugging + console.log(url); + + // Send the clear database command to the server using fetch and GET method + try { + const response = await fetch(url, { method: "GET" }); + if (response.ok) { + alert("Datenbank Meldungen erfolgreich gelöscht!"); + } else { + alert("Fehler beim Löschen der Datenbankmeldungen !"); + } + } catch (error) { + console.error("Fehler:", error); + alert("Fehler beim Löschen der Datenbankmeldungen!"); + } +}; + +export default handleClearMessages; diff --git a/config/webVersion.ts b/config/webVersion.ts index 8729f29..e7b9b18 100644 --- a/config/webVersion.ts +++ b/config/webVersion.ts @@ -6,5 +6,5 @@ 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). */ -const webVersion = "1.6.275"; +const webVersion = "1.6.276"; export default webVersion;