From 32a85cc30a27ff016b9891f5b24770cc856a3858 Mon Sep 17 00:00:00 2001 From: ISA Date: Mon, 26 May 2025 14:26:01 +0200 Subject: [PATCH] delete: Dateien in pages/api, weil in Frontend wird benutzt --- config/appVersion.js | 2 +- pages/api/deviceColorFinder.js | 57 ---------------------- pages/api/get-talasIP.js | 20 -------- pages/api/gis-proxy.js | 59 ----------------------- pages/api/gisStationsMeasurements.js | 66 -------------------------- pages/api/gisStationsStaticDistrict.js | 66 -------------------------- pages/api/gisStationsStatusDistrict.js | 65 ------------------------- pages/api/gisSystemStatic.js | 65 ------------------------- pages/api/prio.js | 29 ----------- pages/api/rights.js | 29 ----------- 10 files changed, 1 insertion(+), 457 deletions(-) delete mode 100644 pages/api/deviceColorFinder.js delete mode 100644 pages/api/get-talasIP.js delete mode 100644 pages/api/gis-proxy.js delete mode 100644 pages/api/gisStationsMeasurements.js delete mode 100644 pages/api/gisStationsStaticDistrict.js delete mode 100644 pages/api/gisStationsStatusDistrict.js delete mode 100644 pages/api/gisSystemStatic.js delete mode 100644 pages/api/prio.js delete mode 100644 pages/api/rights.js diff --git a/config/appVersion.js b/config/appVersion.js index 270c3a3e7..87b97d87a 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.178"; +export const APP_VERSION = "1.1.179"; diff --git a/pages/api/deviceColorFinder.js b/pages/api/deviceColorFinder.js deleted file mode 100644 index 68c54e661..000000000 --- a/pages/api/deviceColorFinder.js +++ /dev/null @@ -1,57 +0,0 @@ -// pages/api//deviceColorFinder.js -// API für Gerätekonfiguration basierend auf dynamischer idLD - -import getPool from "../../utils/mysqlPool"; // Singleton-Pool importieren - -export default async function handler(req, res) { - const pool = getPool(); // Singleton-Pool verwenden - let connection; - - try { - // Holen Sie die idLD aus der Query (z.B. /api/talas_v5_DB/deviceConfig?idLD=50922) - const { idLD } = req.query; - - // Überprüfen, ob idLD übergeben wurde - if (!idLD) { - return res.status(400).json({ error: "idLD ist erforderlich" }); - } - - // Verbindung zur Datenbank aufbauen - connection = await pool.getConnection(); - - // SQL-Abfrage ausführen - const query = ` - SELECT - l.idLD AS location_id, - l.name AS location_name, - p.idprio AS prio_id, - p.name AS prio_name, - p.color AS prio_color, - p.level AS prio_level, - d.idDP AS datapoint_id, - d.name AS datapoint_name - FROM - location_device l - JOIN - datapoint d - ON - l.idLD = d.idLD - JOIN - prio p - ON - p.idprio = d.idprio - WHERE - l.idLD = ?;`; - - const [results] = await connection.query(query, [idLD]); - - // Antwort zurücksenden - res.status(200).json(results); - } catch (error) { - console.error("Fehler beim Abrufen der API", error); - res.status(500).json({ error: "Fehler bei der Abfrage" }); - } finally { - // Verbindung freigeben - if (connection) connection.release(); - } -} diff --git a/pages/api/get-talasIP.js b/pages/api/get-talasIP.js deleted file mode 100644 index 1216fbbb7..000000000 --- a/pages/api/get-talasIP.js +++ /dev/null @@ -1,20 +0,0 @@ -// pages/api/get-talasIP.js - -export default function handler(req, res) { - // Der x-forwarded-for Header könnte mehrere IP-Adressen enthalten, getrennt durch Kommas - let clientIp = - req.headers["x-forwarded-for"]?.split(",").map((ip) => ip.trim())[0] || - req.socket.remoteAddress; - - // Entfernen möglicher IPv6 "mapped" IPv4 Adressen - if (clientIp?.includes("::ffff:")) { - clientIp = clientIp.split("::ffff:")[1]; - } - - // Nur IPv4 Adressen weitergeben, IPv6 Adressen ausschließen - if (clientIp && clientIp.includes(":")) { - clientIp = ""; // Dies setzt die IP auf leer, wenn es sich um eine IPv6-Adresse handelt - } - - res.status(200).json({ ip: clientIp }); -} diff --git a/pages/api/gis-proxy.js b/pages/api/gis-proxy.js deleted file mode 100644 index d368d1455..000000000 --- a/pages/api/gis-proxy.js +++ /dev/null @@ -1,59 +0,0 @@ -// /pages/api/gis-proxy.js -export default async function handler(req, res) { - // CORS-Header setzen - res.setHeader("Access-Control-Allow-Credentials", true); - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "POST,OPTIONS"); - res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, SOAPAction"); - - // OPTIONS-Preflight-Anfrage sofort beenden - if (req.method === "OPTIONS") { - res.status(200).end(); - return; - } - - // Ziel-URL direkt auf die Methode - const baseUrl = process.env.NEXT_PUBLIC_GIS_SERVER_URL; - const targetUrl = `${baseUrl}/talas5/ClientData/WebServiceMap.asmx`; - - // SOAP-Envelope für die Methode "GisStationsStaticDistrict" - const soapEnvelope = ` - - - - - 12 - 484 - - - - `; - - try { - // Anfrage an SOAP-Server senden - const response = await fetch(targetUrl, { - method: "POST", - headers: { - "Content-Type": "text/xml; charset=utf-8", - SOAPAction: '"http://tempuri.org/GisStationsStaticDistrict"', // SOAPAction mit Anführungszeichen - }, - body: soapEnvelope, - }); - - // Debugging: Status und Text ausgeben - const text = await response.text(); - console.log("SOAP-Antwort:", text); - - if (!response.ok) { - throw new Error(`Server antwortet mit Status ${response.status}`); - } - - // Erfolgreiche Antwort senden - res.status(200).send(text); - } catch (error) { - console.error("Fehler beim SOAP-Aufruf:", error); - res.status(500).json({ error: "Fehler beim SOAP-Aufruf", details: error.message }); - } -} diff --git a/pages/api/gisStationsMeasurements.js b/pages/api/gisStationsMeasurements.js deleted file mode 100644 index 0c9339587..000000000 --- a/pages/api/gisStationsMeasurements.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/api/gisStationsMeasurements.js -//proxy -// pages/api/gisStationsMeasurements.js -// Proxy für GisStationsMeasurements -export default async function handler(req, res) { - // CORS-Header setzen - res.setHeader("Access-Control-Allow-Credentials", true); - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS"); - res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); - - // OPTIONS-Preflight-Anfrage sofort beantworten - if (req.method === "OPTIONS") { - res.status(200).end(); - return; - } - - try { - // Parameter aus URL oder Fallback-Werte verwenden - const idMap = req.query.m; // 'm' = idMap - - // Überprüfung, ob idMap fehlt - if (!idMap) { - res.status(400).json({ - error: "Fehlender Parameter", - message: "Der Parameter 'm' oder 'idMap' ist erforderlich. Beispiel: ?m=12 oder ?idMap=12", - }); - return; // Beende die Funktion, wenn der Parameter fehlt - } - - // Dynamische URL basierend auf der Anfrage - const protocol = req.headers["x-forwarded-proto"] || "http"; // Protokoll ermitteln - const host = req.headers.host.split(":")[0]; // Hostname ohne Port - const serverBaseUrl = `${protocol}://${host}:80`; // Port explizit auf 80 setzen - - console.log("Dynamische Server-URL:", serverBaseUrl); // Debugging - - // Ziel-URL für den Webservice - const targetUrl = `${serverBaseUrl}/talas5/ClientData/WebServiceMap.asmx/GisStationsMeasurements?idMap=${idMap}`; - console.log(`📦 Ziel-Request → idMap: ${idMap}, idUser: ${idUser}, URL: ${targetUrl}`); - - // Daten vom Webservice abrufen - const response = await fetch(targetUrl, { - method: "GET", // GET-Request - headers: { - "Content-Type": "application/xml", // XML als Antwort erwartet - }, - }); - - // Antwort überprüfen - if (!response.ok) { - throw new Error(`Server antwortet mit Status ${response.status}`); - } - - // XML-Antwort als Text auslesen - const xmlText = await response.text(); - //console.log("XML-Antwort in pages/api/gisStationsMeasurements.js:", xmlText); // Debugging - console.log("✅ Daten erhalten: /pages/api/gisStationsMeasurements.js:"); - - // XML direkt an den Client zurückgeben - res.status(200).send(xmlText); - } catch (error) { - console.error("Fehler beim Abrufen der Daten in pages/api/gisStationsMeasurements.js:", error); - res.status(500).json({ error: "Fehler beim Abrufen der Daten" }); - } -} diff --git a/pages/api/gisStationsStaticDistrict.js b/pages/api/gisStationsStaticDistrict.js deleted file mode 100644 index cd5a9f584..000000000 --- a/pages/api/gisStationsStaticDistrict.js +++ /dev/null @@ -1,66 +0,0 @@ -// pages/api/gisStationsStaticDistrict.js -// Proxy für GisStationsStaticDistrict -//Für DataSheet menü dropdown -export default async function handler(req, res) { - // CORS-Header setzen - res.setHeader("Access-Control-Allow-Credentials", true); - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS"); - res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); - - // OPTIONS-Preflight-Anfrage sofort beantworten - if (req.method === "OPTIONS") { - res.status(200).end(); - return; - } - - try { - // Parameter aus URL oder Fallback-Werte verwenden - const idMap = req.query.m; // 'm' = idMap - const idUser = req.query.u; // 'u' = idUser - - // Überprüfung, ob Parameter fehlen - if (!idMap || !idUser) { - res.status(400).json({ - error: "Fehlende Parameter", - message: "Die Parameter 'm' (idMap) und 'u' (idUser) sind erforderlich. Beispiel: ?m=12&u=484", - }); - return; // Beende die Funktion, wenn Parameter fehlen - } - - // Dynamische URL basierend auf der Anfrage - const protocol = req.headers["x-forwarded-proto"] || "http"; // Protokoll ermitteln - const host = req.headers.host.split(":")[0]; // Hostname ohne Port - const serverBaseUrl = `${protocol}://${host}:80`; // Port explizit auf 80 setzen - - console.log("Dynamische Server-URL:", serverBaseUrl); // Debugging - - // Ziel-URL für den Webservice - const targetUrl = `${serverBaseUrl}/talas5/ClientData/WebServiceMap.asmx/GisStationsStaticDistrict?idMap=${idMap}&idUser=${idUser}`; - console.log(`📦 Ziel-Request → idMap: ${idMap}, idUser: ${idUser}, URL: ${targetUrl}`); - - // Daten vom Webservice abrufen - const response = await fetch(targetUrl, { - method: "GET", // GET-Request - headers: { - "Content-Type": "application/xml", // XML als Antwort erwartet - }, - }); - - // Antwort überprüfen - if (!response.ok) { - throw new Error(`Server antwortet mit Status ${response.status}`); - } - - // XML-Antwort als Text auslesen - const xmlText = await response.text(); - //console.log("XML-Antwort in pages/api/gisStationsStaticDistrict.js :", xmlText); // Debugging - console.log("✅ Daten erhalten: /pages/api/gisStationsStaticDistrict.js:"); - - // XML direkt an den Client zurückgeben - res.status(200).send(xmlText); - } catch (error) { - console.error("Fehler beim Abrufen der Daten in in pages/api/gisStationsStaticDistrict.js:", error); - res.status(500).json({ error: "Fehler beim Abrufen der Daten" }); - } -} diff --git a/pages/api/gisStationsStatusDistrict.js b/pages/api/gisStationsStatusDistrict.js deleted file mode 100644 index c02922abb..000000000 --- a/pages/api/gisStationsStatusDistrict.js +++ /dev/null @@ -1,65 +0,0 @@ -// pages/api/gisStationsStatusDistrict.js -// Proxy für GisStationsStatusDistrict -export default async function handler(req, res) { - // CORS-Header setzen - res.setHeader("Access-Control-Allow-Credentials", true); - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS"); - res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); - - // OPTIONS-Preflight-Anfrage sofort beantworten - if (req.method === "OPTIONS") { - res.status(200).end(); - return; - } - - try { - // Parameter aus URL oder Fallback-Werte verwenden - const idMap = req.query.m; // 'm' = idMap - const idUser = req.query.u; // 'u' = idUser - - // Überprüfung, ob Parameter fehlen - if (!idMap || !idUser) { - res.status(400).json({ - error: "Fehlende Parameter", - message: "Die Parameter 'm' (idMap) und 'u' (idUser) sind erforderlich. Beispiel: ?m=12&u=484", - }); - return; // Beende die Funktion, wenn Parameter fehlen - } - - // Dynamische URL basierend auf der Anfrage - const protocol = req.headers["x-forwarded-proto"] || "http"; // Protokoll ermitteln - const host = req.headers.host.split(":")[0]; // Hostname ohne Port - const serverBaseUrl = `${protocol}://${host}:80`; // Port explizit auf 80 setzen - - console.log("Dynamische Server-URL:", serverBaseUrl); // Debugging - - // Ziel-URL für den Webservice - const targetUrl = `${serverBaseUrl}/talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`; - console.log(`📦 Ziel-Request → idMap: ${idMap}, idUser: ${idUser}, URL: ${targetUrl}`); - - // Daten vom Webservice abrufen - const response = await fetch(targetUrl, { - method: "GET", // GET-Request - headers: { - "Content-Type": "application/xml", // XML als Antwort erwartet - }, - }); - - // Antwort überprüfen - if (!response.ok) { - throw new Error(`Server antwortet mit Status ${response.status}`); - } - - // XML-Antwort als Text auslesen - const xmlText = await response.text(); - //console.log("XML-Antwort in pages/api/gisStationsStatusDistrict.js:", xmlText); // Debugging - console.log("✅ Daten erhalten: /pages/api/gisStationsStatusDistrict.js:"); - - // XML direkt an den Client zurückgeben - res.status(200).send(xmlText); - } catch (error) { - console.error("Fehler beim Abrufen der Daten in pages/api/gisStationsStatusDistrict.js:", error); - res.status(500).json({ error: "Fehler beim Abrufen der Daten" }); - } -} diff --git a/pages/api/gisSystemStatic.js b/pages/api/gisSystemStatic.js deleted file mode 100644 index 7e7dbaf59..000000000 --- a/pages/api/gisSystemStatic.js +++ /dev/null @@ -1,65 +0,0 @@ -// pages/api/gisSystemStatic.js -// Proxy für GisSystemStatic -export default async function handler(req, res) { - // CORS-Header setzen - res.setHeader("Access-Control-Allow-Credentials", true); - res.setHeader("Access-Control-Allow-Origin", "*"); - res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS"); - res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); - - // OPTIONS-Preflight-Anfrage sofort beantworten - if (req.method === "OPTIONS") { - res.status(200).end(); - return; - } - - try { - // Parameter aus URL oder Fallback-Werte verwenden - const idMap = req.query.m; // 'm' = idMap - const idUser = req.query.u; // 'u' = idUser - - // Überprüfung, ob Parameter fehlen - if (!idMap || !idUser) { - res.status(400).json({ - error: "Fehlende Parameter", - message: "Die Parameter 'm' (idMap) und 'u' (idUser) sind erforderlich. Beispiel: ?m=12&u=484", - }); - return; // Beende die Funktion, wenn Parameter fehlen - } - - // Dynamische URL basierend auf der Anfrage - const protocol = req.headers["x-forwarded-proto"] || "http"; // Protokoll ermitteln - const host = req.headers.host.split(":")[0]; // Hostname ohne Port - const serverBaseUrl = `${protocol}://${host}:80`; // Port explizit auf 80 setzen - - console.log("Dynamische Server-URL:", serverBaseUrl); // Debugging - - // Ziel-URL für den Webservice - const targetUrl = `${serverBaseUrl}/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`; - console.log(`📦 Ziel-Request → idMap: ${idMap}, idUser: ${idUser}, URL: ${targetUrl}`); - - // Daten vom Webservice abrufen - const response = await fetch(targetUrl, { - method: "GET", // GET-Request - headers: { - "Content-Type": "application/xml", // XML als Antwort erwartet - }, - }); - - // Antwort überprüfen - if (!response.ok) { - throw new Error(`Server antwortet mit Status ${response.status}`); - } - - // XML-Antwort als Text auslesen - const xmlText = await response.text(); - //console.log("XML-Antwort in /pages/api/gisSystemStatic.js:", xmlText); // Debugging - console.log("✅ Daten erhalten: /pages/api/gisSystemStatic.js:"); - - // XML direkt an den Client zurückgeben - res.status(200).send(xmlText); - } catch (error) { - console.error("Fehler beim Abrufen der Daten in in pages/api/gisSystemStatic.js:", error); - res.status(500).json({ error: "Fehler beim Abrufen der Daten" }); - } -} diff --git a/pages/api/prio.js b/pages/api/prio.js deleted file mode 100644 index 926808e30..000000000 --- a/pages/api/prio.js +++ /dev/null @@ -1,29 +0,0 @@ -import getPool from "../../utils/mysqlPool"; - -export default async function handler(req, res) { - // Nur GET-Anfragen zulassen - if (req.method !== "GET") { - return res.status(405).json({ error: "Methode nicht erlaubt" }); - } - - const pool = getPool(); // Singleton-Pool verwenden - let connection; - - try { - // Verbindung abrufen - connection = await pool.getConnection(); - - // SQL-Query - const query = "SELECT idprio, level, name, color FROM prio"; - const [results] = await connection.query(query); - - // Erfolgreiche Antwort - res.status(200).json(results); - } catch (error) { - console.error("Fehler beim Abrufen der API:", error.message); // Mehr Details - res.status(500).json({ error: "Interner Serverfehler" }); - } finally { - // Verbindung freigeben - if (connection) connection.release(); - } -} diff --git a/pages/api/rights.js b/pages/api/rights.js deleted file mode 100644 index 507228147..000000000 --- a/pages/api/rights.js +++ /dev/null @@ -1,29 +0,0 @@ -// pages/api/rights.js - -export default function handler(req, res) { - const { idMap, idUser } = req.query; - - // Beispielhafte Rechte, die je nach idMap und idUser variieren können - const rights = { - '10': [ - { IdRight: 1, Name: "Zugriff auf Dashboard" }, - { IdRight: 56, Name: "Erweiterte Berechtigungen" } - ], - '2': [ - { IdRight: 2, Name: "Zugriff auf Einstellungen" } - ], - '1': [ - { IdRight: 10, Name: "Admin-Zugriff" }, - { IdRight: 11, Name: "Zugriff auf alle Daten" } - ] - }; - - // Prüfung, ob eine gültige idMap und idUser vorhanden sind - if (rights[idMap] && idUser === '484') { - // Rückgabe der spezifischen Rechte basierend auf der idMap und idUser - res.status(200).json({ Rights: rights[idMap] }); - } else { - // Rückgabe leerer Rechte für ungültige idMap oder andere Benutzer - res.status(200).json({ Rights: [] }); - } -}