delete: Dateien in pages/api, weil in Frontend wird benutzt
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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 });
|
||||
}
|
||||
@@ -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 = `
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<soap:Body>
|
||||
<GisStationsStaticDistrict xmlns="http://tempuri.org/">
|
||||
<idMap>12</idMap>
|
||||
<idUser>484</idUser>
|
||||
</GisStationsStaticDistrict>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
`;
|
||||
|
||||
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 });
|
||||
}
|
||||
}
|
||||
@@ -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" });
|
||||
}
|
||||
}
|
||||
@@ -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" });
|
||||
}
|
||||
}
|
||||
@@ -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" });
|
||||
}
|
||||
}
|
||||
@@ -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" });
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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: [] });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user