merge fix v1.0.8.1 Browser lädt ständig die Seite neu wenn keine Linien existieren
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
// pages/api/[...path].js
|
||||
import { createProxyMiddleware } from "http-proxy-middleware";
|
||||
//import { SERVER_URL } from "../config/urls.js";
|
||||
//console.log("SERVER_URL:", SERVER_URL); // Debug-Ausgabe
|
||||
|
||||
export default createProxyMiddleware({
|
||||
//target: "http://192.168.10.58:3001",
|
||||
// Stationen bekommen
|
||||
//target: "http://10.10.0.13", // Ziel-URL des Proxys // API Aufruf zum mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl und mapDataIconUrl
|
||||
target: `${process.env.NEXT_PUBLIC_SERVER_URL}`, //
|
||||
//target: urls.PROXY_TARGET,
|
||||
//target: "http://localhost:3000", // Ziel-URL des Proxys
|
||||
//target: "http://192.168.10.187:3000", // Ziel-URL des Proxys
|
||||
//target: "http://192.168.10.14",
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
"^/api": "/", // Optional: Entfernt /api aus dem Pfad, wenn das Backend dies nicht erfordert
|
||||
},
|
||||
logLevel: "debug", // Setzt das Logging-Level auf "debug" für detaillierte Ausgaben
|
||||
});
|
||||
@@ -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,34 +0,0 @@
|
||||
// /pages/api/gis-proxy.js
|
||||
// Importieren der erforderlichen Module
|
||||
import httpProxy from "http-proxy";
|
||||
import Cookies from "cookies";
|
||||
|
||||
// Erstellen eines Proxy-Servers
|
||||
const proxy = httpProxy.createProxyServer();
|
||||
|
||||
export default (req, res) => {
|
||||
return new Promise((resolve) => {
|
||||
// CORS-Headers einstellen
|
||||
res.setHeader("Access-Control-Allow-Credentials", true);
|
||||
res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
// Cookies initialisieren
|
||||
const cookies = new Cookies(req, res);
|
||||
const targetUrl = `${process.env.NEXT_PUBLIC_SERVER_URL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic`;
|
||||
|
||||
// Proxy-Konfiguration und Event-Listener
|
||||
req.on("data", () => {});
|
||||
req.on("end", () => {
|
||||
proxy.web(req, res, { target: targetUrl, changeOrigin: true, selfHandleResponse: false }, (e) => {
|
||||
if (e) {
|
||||
console.error(e);
|
||||
res.status(500).json({ error: "Proxy-Fehler", e });
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
// Weiterleitung der Headers
|
||||
req.headers.cookie = cookies.get("cookie-name") || "";
|
||||
});
|
||||
};
|
||||
@@ -1,64 +0,0 @@
|
||||
// /pages/api/linesColorApi.js
|
||||
// http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict
|
||||
//In DB gis_lines idLD und idModul anpassen entsprechend
|
||||
|
||||
// /pages/api/linesColorApi.js
|
||||
import NextCors from "nextjs-cors";
|
||||
|
||||
export default async function handler(req, res) {
|
||||
// Run the cors middleware
|
||||
await NextCors(req, res, {
|
||||
// Options
|
||||
methods: ["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"],
|
||||
origin: "*", // Erlauben Sie alle Ursprünge, oder geben Sie spezifische Ursprünge an
|
||||
optionsSuccessStatus: 200, // Legacy-Browser-Unterstützung für 204
|
||||
});
|
||||
|
||||
const response = {
|
||||
Name: "Liste aller Statis der Linien",
|
||||
Zeitstempel: new Date().toISOString(), // Aktuellen Zeitstempel hinzufügen
|
||||
IdMap: "10",
|
||||
Statis: [
|
||||
/* {
|
||||
IdLD: 50922,
|
||||
Modul: 1,
|
||||
DpName: "KUE01_Ausfall",
|
||||
ModulName: "42 Wippershain Sender",
|
||||
// ModulTyp: "nicht vorhanden",
|
||||
ModulTyp: "KÜ705-FO",
|
||||
Message: "KUEG 01: 42 Wippershain Sender Messwerkausfall kommend",
|
||||
Level: 4,
|
||||
PrioColor: "#FFFF00",
|
||||
PrioName: "system",
|
||||
Value: "10 MOhm",
|
||||
},
|
||||
{
|
||||
IdLD: 25440,
|
||||
Modul: 3,
|
||||
DpName: "KUE03_Ausfall",
|
||||
ModulName: "42 Solz Sender",
|
||||
//ModulTyp: "nicht vorhanden",
|
||||
ModulTyp: "KÜSS V2",
|
||||
Message: "KUEG 03: 42 Solz Sender Messwerkausfall kommend",
|
||||
Level: 4,
|
||||
PrioColor: "#FF0000",
|
||||
PrioName: "system",
|
||||
Value: "10 MOhm",
|
||||
},
|
||||
{
|
||||
IdLD: 25440,
|
||||
Modul: 4,
|
||||
DpName: "KUE04_Ausfall",
|
||||
ModulName: "42/13 Bad Hersfeld Gaswerk",
|
||||
ModulTyp: "Kue705-FO",
|
||||
Message: "KUEG 04: 42/13 Bad Hersfeld Gaswerk Messwerkausfall kommend",
|
||||
Level: 4,
|
||||
PrioColor: "#FF00FF",
|
||||
PrioName: "system",
|
||||
Value: "10 MOhm",
|
||||
}, */
|
||||
],
|
||||
};
|
||||
|
||||
res.status(200).json(response);
|
||||
}
|
||||
@@ -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: [] });
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
// pages/api/talas_v5/area.js
|
||||
// Lesen von talas_v5 MySQL-Datenbank -> area Tabelle enthält DAUZ Geräte
|
||||
// Wenn gebraucht wird, dann nutzen ansonsten löschen
|
||||
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
//console.log("my dbconfig: ", dbConfig);
|
||||
export default function handler(req, res) {
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
res.status(500).json({ error: "Verbindungsfehler zur Datenbank" });
|
||||
return;
|
||||
}
|
||||
|
||||
//console.log("Verbunden als ID", connection.threadId);
|
||||
//Fehler weil, existiertdie Tabelle auf localhost:3000 nicht
|
||||
connection.query("SELECT ..., ..., ..., ... FROM ... WHERE ... = ...", (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Wichtig: Senden Sie die Antwort zurück
|
||||
res.status(200).json(results);
|
||||
|
||||
connection.end();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// Importieren des mysql2 Pakets
|
||||
import mysql from "mysql2";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
// Ein Hilfsfunktion, um Anfragen zu vereinfachen
|
||||
function queryDatabase(query, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
pool.query(query, params, (error, results) => {
|
||||
if (error) {
|
||||
return reject(error);
|
||||
}
|
||||
resolve(results);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// API-Handler
|
||||
export default async function handler(req, res) {
|
||||
try {
|
||||
// Dein SQL-Query und die Parameter
|
||||
const sql = "SELECT idLD, iddevice, name FROM location_device WHERE iddevice = ?";
|
||||
const params = [160]; // Beispielparameter
|
||||
|
||||
// Ausführen der Datenbankabfrage
|
||||
const results = await queryDatabase(sql, params);
|
||||
res.status(200).json(results);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
}
|
||||
}
|
||||
@@ -1,116 +0,0 @@
|
||||
// /pages/api/talas5/webserviceMap/GisStationsMeasurements.js
|
||||
const GisStationsMeasurements = {
|
||||
"Name": "Liste aller Messungen der Geraete",
|
||||
"Zeitstempel": "2024-05-31T15:25:32.5047629+02:00",
|
||||
"IdMap": "10",
|
||||
"Statis": [
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 3,
|
||||
"Na": "FBT",
|
||||
"Val": "20.5",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 10,
|
||||
"Na": "GT",
|
||||
"Val": "nicht ermittelbar",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 2,
|
||||
"Na": "LT",
|
||||
"Val": "Datenlücke",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 6,
|
||||
"Na": "RLF",
|
||||
"Val": "100.0",
|
||||
"Unit": "%",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 11,
|
||||
"Na": "TPT",
|
||||
"Val": "8.3",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 12,
|
||||
"Na": "TT1",
|
||||
"Val": "---",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 16,
|
||||
"Na": "WFD",
|
||||
"Val": "0.12",
|
||||
"Unit": "mm",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 8,
|
||||
"Na": "WGM",
|
||||
"Val": "---",
|
||||
"Unit": "m/s",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 9,
|
||||
"Na": "WGS",
|
||||
"Val": "---",
|
||||
"Unit": "m/s",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// Export an async function handler for the API route.
|
||||
export default async function handler(req, res) {
|
||||
// Initialize an empty params object to store query parameters.
|
||||
const params = {
|
||||
idMap: req.query.idMap,
|
||||
|
||||
};
|
||||
|
||||
// Check if the requested ID map and user match certain conditions.
|
||||
if (params.idMap === '10') {
|
||||
// If the conditions are met, return the GisStationsMeasurements object with a 200 status code.
|
||||
res.status(200).json(GisStationsMeasurements);
|
||||
} else {
|
||||
// If not, return a 404 error with the message "Not Found".
|
||||
res.status(404).send('Not Found');
|
||||
}
|
||||
};
|
||||
@@ -1,281 +0,0 @@
|
||||
// /pages/api/talas5/webserviceMap/GisStationsStaticDistrict.js
|
||||
const GisStationsStaticDistrict = {
|
||||
"Name": "Liste aller Geraete einer bestimmten Karte",
|
||||
"Zeitstempel": "2024-05-31T15:26:56.9235766+02:00",
|
||||
"IdMap": "10",
|
||||
"Points": [
|
||||
{
|
||||
"LD_Name": "CPL Bentheim",
|
||||
"IdLD": 50017,
|
||||
"Device": "CPL V3.5 mit 16 Kü",
|
||||
"Link": "cpl.aspx?ver=35&kue=16&id=50017",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "BEHE",
|
||||
"IdLocation": 17448,
|
||||
"Area_Name": "Bad-Bentheim",
|
||||
"Area_Short": "BEHE--00",
|
||||
"IdArea": 16418,
|
||||
"X": 51.5728,
|
||||
"Y": 9.00056,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Drucker",
|
||||
"IdLD": 50084,
|
||||
"Device": "Basisgerät",
|
||||
"Link": "basis.aspx?ver=1&id=50084",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 14,
|
||||
"System": 200,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Türkontakt",
|
||||
"IdLD": 50666,
|
||||
"Device": "ECI",
|
||||
"Link": "eci.aspx?ver=1&id=50666",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 17,
|
||||
"System": 2,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Triptis",
|
||||
"IdLD": 50888,
|
||||
"Device": "CPL 200",
|
||||
"Link": "cpl.aspx?ver=30&kue=16&id=50888",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Rodaborn I",
|
||||
"IdLD": 50889,
|
||||
"Device": "cpl.mio V>6",
|
||||
"Link": "cplmio.aspx?ver=1&id=50889",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Rodaborn II",
|
||||
"IdLD": 50900,
|
||||
"Device": "cpl.mio V>6",
|
||||
"Link": "cplmio.aspx?ver=1&id=50900",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Hermsdorf",
|
||||
"IdLD": 50901,
|
||||
"Device": "CPL V3.5 mit 24 Kü",
|
||||
"Link": "cpl.aspx?ver=35&kue=24&id=50901",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 1
|
||||
},
|
||||
{
|
||||
"LD_Name": "GMA Littwin (TEST)",
|
||||
"IdLD": 50004,
|
||||
"Device": "Glättemeldeanlage",
|
||||
"Link": "gma.aspx?ver=1&id=50004",
|
||||
"Location_Name": "RG Relaisraum",
|
||||
"Location_Short": "REZR",
|
||||
"IdLocation": 18624,
|
||||
"Area_Name": "Renzenhof (RG)",
|
||||
"Area_Short": "REZHRG00",
|
||||
"IdArea": 16570,
|
||||
"X": 53.246036,
|
||||
"Y": 8.163293,
|
||||
"Icon": 1,
|
||||
"System": 11,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "NRS Testserver",
|
||||
"IdLD": 50005,
|
||||
"Device": "Notruf Server",
|
||||
"Link": "nrs_server.aspx?ver=1&id=50005",
|
||||
"Location_Name": "(EV Ammersricht BZR REL)",
|
||||
"Location_Short": "AMME",
|
||||
"IdLocation": 21118,
|
||||
"Area_Name": "Ammersricht BZR (FGN)",
|
||||
"Area_Short": "AMMER--00",
|
||||
"IdArea": 15958,
|
||||
"X": 52.52726,
|
||||
"Y": 12.165488,
|
||||
"Icon": 19,
|
||||
"System": 8,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Gateway 2",
|
||||
"IdLD": 50007,
|
||||
"Device": "Notruf Server",
|
||||
"Link": "nrs_server.aspx?ver=1&id=50007",
|
||||
"Location_Name": "(EV Ammersricht BZR REL)",
|
||||
"Location_Short": "AMME",
|
||||
"IdLocation": 21118,
|
||||
"Area_Name": "Ammersricht BZR (FGN)",
|
||||
"Area_Short": "AMMER--00",
|
||||
"IdArea": 15958,
|
||||
"X": 52.52726,
|
||||
"Y": 12.165488,
|
||||
"Icon": 19,
|
||||
"System": 8,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Basisgerät mit SNMP MVP",
|
||||
"IdLD": 50669,
|
||||
"Device": "Basisgerät + SNMP",
|
||||
"Link": "basisSNMP.aspx?&ver=1&id=50669",
|
||||
"Location_Name": "Mylinghauserstraße Engelbert",
|
||||
"Location_Short": "G-GEVELSBE-1",
|
||||
"IdLocation": 24012,
|
||||
"Area_Name": "Gevelsberg",
|
||||
"Area_Short": "GMA-GEVELSBE",
|
||||
"IdArea": 20919,
|
||||
"X": 51.316799,
|
||||
"Y": 7.33281,
|
||||
"Icon": 14,
|
||||
"System": 200,
|
||||
"Active": 1
|
||||
},
|
||||
{
|
||||
"LD_Name": "Server 3",
|
||||
"IdLD": 50009,
|
||||
"Device": "Notruf Server",
|
||||
"Link": "nrs_server.aspx?ver=1&id=50009",
|
||||
"Location_Name": "Militärringstraße Militärringstraße",
|
||||
"Location_Short": "G-KÖLN-1",
|
||||
"IdLocation": 24015,
|
||||
"Area_Name": "Köln",
|
||||
"Area_Short": "GMA-KÖLN",
|
||||
"IdArea": 20921,
|
||||
"X": 50.898399,
|
||||
"Y": 6.92278,
|
||||
"Icon": 19,
|
||||
"System": 8,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "ICL Test 5",
|
||||
"IdLD": 50054,
|
||||
"Device": "ICL",
|
||||
"Link": "icl.aspx?ver=1&id=50054",
|
||||
"Location_Name": "Recheder Mühlenweg Dortmund-Ems-Kanal",
|
||||
"Location_Short": "G-OLFEN-SE-1",
|
||||
"IdLocation": 24022,
|
||||
"Area_Name": "Olfen-Selm",
|
||||
"Area_Short": "GMA-OLFEN-SE",
|
||||
"IdArea": 20926,
|
||||
"X": 51.702202,
|
||||
"Y": 7.40822,
|
||||
"Icon": 23,
|
||||
"System": 100,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "ICL Test 3",
|
||||
"IdLD": 50052,
|
||||
"Device": "ICL",
|
||||
"Link": "icl.aspx?ver=1&id=50052",
|
||||
"Location_Name": "Weidenstraße Hestenberg",
|
||||
"Location_Short": "G-PLETTENB-1",
|
||||
"IdLocation": 24024,
|
||||
"Area_Name": "Plettenberg",
|
||||
"Area_Short": "GMA-PLETTENB",
|
||||
"IdArea": 20928,
|
||||
"X": 51.224098,
|
||||
"Y": 7.86969,
|
||||
"Icon": 23,
|
||||
"System": 100,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Test Februar Kai",
|
||||
"IdLD": 50912,
|
||||
"Device": "Dauerzählstelle DZ",
|
||||
"Link": "dauz.aspx?ver=1&id=50912",
|
||||
"Location_Name": "In der Hoffnung Kiesberg - BG Ost",
|
||||
"Location_Short": "G-WUPPERTA-4",
|
||||
"IdLocation": 24039,
|
||||
"Area_Name": "Wuppertal",
|
||||
"Area_Short": "GMA-WUPPERTA",
|
||||
"IdArea": 20937,
|
||||
"X": 51.238899,
|
||||
"Y": 7.12715,
|
||||
"Icon": 14,
|
||||
"System": 110,
|
||||
"Active": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// Export an async function handler for the API route.
|
||||
export default async function handler(req, res) {
|
||||
// Initialize an empty params object to store query parameters.
|
||||
const params = {
|
||||
idMap: req.query.idMap,
|
||||
idUser: req.query.idUser
|
||||
};
|
||||
|
||||
// Check if the requested ID map and user match certain conditions.
|
||||
if (params.idMap === '10' && params.idUser === '484') {
|
||||
// If the conditions are met, return the GisStationsStaticDistrict object with a 200 status code.
|
||||
res.status(200).json(GisStationsStaticDistrict);
|
||||
} else {
|
||||
// If not, return a 404 error with the message "Not Found".
|
||||
res.status(404).send('Not Found');
|
||||
}
|
||||
};
|
||||
@@ -1,84 +0,0 @@
|
||||
// /pages/api/talas5/webserviceMap/gisStationsMeasurementsSQL.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Verbindungspools anstelle einer einzelnen Verbindung
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const { idMap, idUser } = req.query;
|
||||
|
||||
if (!idMap || !idUser) {
|
||||
return res.status(400).json({ error: "idMap and idUser are required" });
|
||||
}
|
||||
|
||||
try {
|
||||
let onlySystem = -1;
|
||||
let districtCounter = 0;
|
||||
|
||||
// Get onlySystem
|
||||
const [mapResult] = await pool.query("SELECT idsystem_typ FROM maps WHERE id = ?", [idMap]);
|
||||
if (mapResult.length > 0) {
|
||||
onlySystem = mapResult[0].idsystem_typ ?? -1;
|
||||
}
|
||||
|
||||
// Get districtCounter
|
||||
if (idUser > 0) {
|
||||
const [userLayerResult] = await pool.query("SELECT count(*) as count FROM user_User_layer1 WHERE iduser = ?", [idUser]);
|
||||
districtCounter = userLayerResult[0].count;
|
||||
}
|
||||
|
||||
// Building the query
|
||||
let query = `
|
||||
SELECT ld.idLD, dc.message, p.level, p.name, p.color, ld.idDevice, de.isService, dc.idIcon
|
||||
FROM location as l
|
||||
LEFT JOIN location_coordinates AS co ON l.idLocation = co.idLocation and co.idMaps = ?
|
||||
LEFT JOIN location_device AS ld ON ld.idLocation = l.idLocation
|
||||
LEFT JOIN datapoint as d ON d.idLD = ld.idLD
|
||||
LEFT JOIN datapoint_conditions AS dc ON dc.idcondition = d.last_message_condition
|
||||
LEFT JOIN prio AS p ON p.idPrio = dc.idprio
|
||||
LEFT JOIN devices AS de ON de.idDevice = ld.idDevice
|
||||
LEFT JOIN area as a on a.idArea = l.idArea
|
||||
WHERE p.level < 100 AND co.X > 0
|
||||
`;
|
||||
|
||||
const queryParams = [idMap];
|
||||
if (districtCounter > 0) {
|
||||
query += ` AND a.iddistrict IN (SELECT iddistrict FROM user_user_layer1 WHERE iduser = ?)`;
|
||||
queryParams.push(idUser);
|
||||
}
|
||||
if (onlySystem >= 0) {
|
||||
query += ` AND de.idsystem_typ = ?`;
|
||||
queryParams.push(onlySystem);
|
||||
}
|
||||
query += ` ORDER BY p.level desc`;
|
||||
|
||||
const [results] = await pool.query(query, queryParams);
|
||||
|
||||
const mpss = {
|
||||
IdMap: idMap.toString(),
|
||||
Statis: results.map((row) => ({
|
||||
IdLD: row.idLD ?? -1,
|
||||
Le: row.level ?? -1,
|
||||
Me: row.message ?? "?",
|
||||
Na: row.name ?? "?",
|
||||
Co: row.color ?? "#ffffff",
|
||||
Feld: row.idDevice ?? -1,
|
||||
Icon: row.idIcon ?? 0,
|
||||
})),
|
||||
};
|
||||
|
||||
res.status(200).json(mpss);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Laden der Daten:", error);
|
||||
res.status(500).json({ error: "Interner Serverfehler" });
|
||||
}
|
||||
}
|
||||
@@ -1,273 +0,0 @@
|
||||
// /pages/api/webServiceMap.js
|
||||
const gisSystemStatic = {
|
||||
"Name": "Liste aller angezeigten Systeme",
|
||||
"Zeitstempel": "2024-05-31T15:08:49.8599542+02:00",
|
||||
"IdMap": "10",
|
||||
"Systems": [
|
||||
{
|
||||
"IdSystem": 1,
|
||||
"Name": "TALAS",
|
||||
"Longname": "Talas Meldestationen",
|
||||
"Allow": 1,
|
||||
"Icon": 1
|
||||
},
|
||||
{
|
||||
"IdSystem": 2,
|
||||
"Name": "ECI",
|
||||
"Longname": "ECI Geräte",
|
||||
"Allow": 1,
|
||||
"Icon": 2
|
||||
},
|
||||
{
|
||||
"IdSystem": 5,
|
||||
"Name": "GSM Modem",
|
||||
"Longname": "LR77 GSM Modems",
|
||||
"Allow": 1,
|
||||
"Icon": 5
|
||||
},
|
||||
{
|
||||
"IdSystem": 6,
|
||||
"Name": "Cisco Router",
|
||||
"Longname": "Cisco Router",
|
||||
"Allow": 1,
|
||||
"Icon": 6
|
||||
},
|
||||
{
|
||||
"IdSystem": 7,
|
||||
"Name": "WAGO",
|
||||
"Longname": "WAGO I/O Systeme",
|
||||
"Allow": 1,
|
||||
"Icon": 7
|
||||
},
|
||||
{
|
||||
"IdSystem": 8,
|
||||
"Name": "Siemens",
|
||||
"Longname": "Siemens Notrufsystem",
|
||||
"Allow": 0,
|
||||
"Icon": 8
|
||||
},
|
||||
{
|
||||
"IdSystem": 9,
|
||||
"Name": "OTDR",
|
||||
"Longname": "Glasfaserüberwachung OTU",
|
||||
"Allow": 0,
|
||||
"Icon": 9
|
||||
},
|
||||
{
|
||||
"IdSystem": 10,
|
||||
"Name": "WDM",
|
||||
"Longname": " Wavelength Division Multiplexing",
|
||||
"Allow": 0,
|
||||
"Icon": 10
|
||||
},
|
||||
{
|
||||
"IdSystem": 11,
|
||||
"Name": "GMA",
|
||||
"Longname": "Glättemeldeanlagen",
|
||||
"Allow": 1,
|
||||
"Icon": 11
|
||||
},
|
||||
{
|
||||
"IdSystem": 13,
|
||||
"Name": "Messstellen",
|
||||
"Longname": "Messstellen",
|
||||
"Allow": 0,
|
||||
"Icon": 13
|
||||
},
|
||||
{
|
||||
"IdSystem": 100,
|
||||
"Name": "TALAS ICL",
|
||||
"Longname": "Talas ICL Unterstationen",
|
||||
"Allow": 1,
|
||||
"Icon": 100
|
||||
},
|
||||
{
|
||||
"IdSystem": 110,
|
||||
"Name": "DAUZ",
|
||||
"Longname": "Dauerzählstellen",
|
||||
"Allow": 1,
|
||||
"Icon": 110
|
||||
},
|
||||
{
|
||||
"IdSystem": 111,
|
||||
"Name": "SMS-Funkmodem",
|
||||
"Longname": "SMS-Funkmodem",
|
||||
"Allow": 0,
|
||||
"Icon": 111
|
||||
},
|
||||
{
|
||||
"IdSystem": 200,
|
||||
"Name": "Sonstige",
|
||||
"Longname": "Sonstige",
|
||||
"Allow": 1,
|
||||
"Icon": 200
|
||||
}
|
||||
],
|
||||
"Rights": [
|
||||
{
|
||||
"IdRight": 1
|
||||
},
|
||||
{
|
||||
"IdRight": 2
|
||||
},
|
||||
{
|
||||
"IdRight": 3
|
||||
},
|
||||
{
|
||||
"IdRight": 5
|
||||
},
|
||||
{
|
||||
"IdRight": 6
|
||||
},
|
||||
{
|
||||
"IdRight": 7
|
||||
},
|
||||
{
|
||||
"IdRight": 8
|
||||
},
|
||||
{
|
||||
"IdRight": 10
|
||||
},
|
||||
{
|
||||
"IdRight": 11
|
||||
},
|
||||
{
|
||||
"IdRight": 12
|
||||
},
|
||||
{
|
||||
"IdRight": 20
|
||||
},
|
||||
{
|
||||
"IdRight": 22
|
||||
},
|
||||
{
|
||||
"IdRight": 23
|
||||
},
|
||||
{
|
||||
"IdRight": 25
|
||||
},
|
||||
{
|
||||
"IdRight": 30
|
||||
},
|
||||
{
|
||||
"IdRight": 40
|
||||
},
|
||||
{
|
||||
"IdRight": 41
|
||||
},
|
||||
{
|
||||
"IdRight": 42
|
||||
},
|
||||
{
|
||||
"IdRight": 43
|
||||
},
|
||||
{
|
||||
"IdRight": 44
|
||||
},
|
||||
{
|
||||
"IdRight": 45
|
||||
},
|
||||
{
|
||||
"IdRight": 46
|
||||
},
|
||||
{
|
||||
"IdRight": 47
|
||||
},
|
||||
{
|
||||
"IdRight": 48
|
||||
},
|
||||
{
|
||||
"IdRight": 49
|
||||
},
|
||||
{
|
||||
"IdRight": 50
|
||||
},
|
||||
{
|
||||
"IdRight": 51
|
||||
},
|
||||
{
|
||||
"IdRight": 52
|
||||
},
|
||||
{
|
||||
"IdRight": 55
|
||||
},
|
||||
{
|
||||
"IdRight": 56
|
||||
},
|
||||
{
|
||||
"IdRight": 60
|
||||
},
|
||||
{
|
||||
"IdRight": 61
|
||||
},
|
||||
{
|
||||
"IdRight": 62
|
||||
},
|
||||
{
|
||||
"IdRight": 63
|
||||
},
|
||||
{
|
||||
"IdRight": 64
|
||||
},
|
||||
{
|
||||
"IdRight": 65
|
||||
},
|
||||
{
|
||||
"IdRight": 68
|
||||
},
|
||||
{
|
||||
"IdRight": 69
|
||||
},
|
||||
{
|
||||
"IdRight": 70
|
||||
},
|
||||
{
|
||||
"IdRight": 71
|
||||
},
|
||||
{
|
||||
"IdRight": 72
|
||||
},
|
||||
{
|
||||
"IdRight": 73
|
||||
},
|
||||
{
|
||||
"IdRight": 79
|
||||
},
|
||||
{
|
||||
"IdRight": 80
|
||||
},
|
||||
{
|
||||
"IdRight": 90
|
||||
},
|
||||
{
|
||||
"IdRight": 93
|
||||
},
|
||||
{
|
||||
"IdRight": 94
|
||||
},
|
||||
{
|
||||
"IdRight": 95
|
||||
},
|
||||
{
|
||||
"IdRight": 96
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// Export an async function handler for the API route.
|
||||
export default async function handler(req, res) {
|
||||
// Initialize an empty params object to store query parameters.
|
||||
const params = {
|
||||
idMap: req.query.idMap,
|
||||
idUser: req.query.idUser
|
||||
};
|
||||
|
||||
// Check if the requested ID map and user match certain conditions.
|
||||
if (params.idMap === '10' && params.idUser === '484') {
|
||||
// If the conditions are met, return the gisSystemStatic object with a 200 status code.
|
||||
res.status(200).json(gisSystemStatic);
|
||||
} else {
|
||||
// If not, return a 404 error with the message "Not Found".
|
||||
res.status(404).send('Not Found');
|
||||
}
|
||||
};
|
||||
@@ -1,74 +0,0 @@
|
||||
// /pages/api/talas5/webserviceMap/gisStationsMeasurementsSQL.js
|
||||
import mysql from "mysql2";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
pool.on("connection", function (connection) {
|
||||
console.log("Database connected successfully.");
|
||||
});
|
||||
|
||||
pool.on("error", function (err) {
|
||||
console.error("Fehler beim Verbinden:", err);
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
const idMap = req.query.idMap;
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const sqlQuery = `
|
||||
SELECT
|
||||
ld.idLD,
|
||||
dp.idDP,
|
||||
dp.name AS Na,
|
||||
dp.value AS Val,
|
||||
dp.unit AS Unit,
|
||||
mg.name AS Gr,
|
||||
ld.idLocation,
|
||||
area.Name AS Area_Name
|
||||
FROM location_device as ld
|
||||
LEFT JOIN location_coordinates AS co ON ld.idLocation = co.idLocation and co.idMaps = ?
|
||||
LEFT JOIN devices AS de ON de.idDevice = ld.idDevice
|
||||
LEFT JOIN datapoint AS dp ON ld.idLD = dp.idLD
|
||||
LEFT JOIN message_group AS mg ON dp.idmessage_group = mg.idmessage_group
|
||||
LEFT JOIN location AS loc ON ld.idLocation = loc.idLocation
|
||||
LEFT JOIN area AS area ON loc.idArea = area.idArea
|
||||
WHERE co.X > 0 AND dp.idmessage_group>0 AND length(dp.unit)> 0 AND length(dp.value)> 0
|
||||
`;
|
||||
|
||||
pool.query(sqlQuery, [idMap], (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der gis_lines:", error);
|
||||
return res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
}
|
||||
|
||||
const response = {
|
||||
Name: "Liste aller Messungen der Geraete",
|
||||
Zeitstempel: new Date().toISOString(),
|
||||
IdMap: idMap,
|
||||
Statis: results.map((row) => ({
|
||||
IdLD: row.idLD,
|
||||
IdDP: row.idDP,
|
||||
Na: row.Na,
|
||||
Val: row.Val,
|
||||
Unit: row.Unit,
|
||||
Gr: row.Gr,
|
||||
IdLocation: row.idLocation,
|
||||
Area_Name: row.Area_Name,
|
||||
})),
|
||||
};
|
||||
|
||||
res.json(response);
|
||||
});
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
// /pages/api/talas_v5_DB/gisLines/readGisLines.js
|
||||
import mysql from "mysql2/promise";
|
||||
import { store } from "../../../redux/store"; // Redux-Store importieren
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
// **Hole `idLD`-Werte aus Redux**
|
||||
const state = store.getState();
|
||||
const activeLines = state.lineVisibility.activeLines;
|
||||
const activeIds = Object.keys(activeLines); // Alle `idLD` in Redux
|
||||
|
||||
if (activeIds.length === 0) {
|
||||
return res.status(404).json({ error: "Keine aktiven Geräte in Redux gefunden" });
|
||||
}
|
||||
|
||||
// **SQL-Query mit Filterung**
|
||||
const query = `
|
||||
SELECT *
|
||||
FROM talas_v5.gis_lines
|
||||
WHERE idLD IN (${activeIds.map(() => "?").join(",")});`;
|
||||
|
||||
try {
|
||||
console.log("🔍 Aktive Linien in Redux:", activeIds);
|
||||
const [results] = await pool.query(query, activeIds); // Verwende aktive `idLD` als Parameter
|
||||
if (results.length > 0) {
|
||||
res.status(200).json(results);
|
||||
console.log("✅ GIS-Linien erfolgreich abgerufen:", results.length, "Linien gefunden.");
|
||||
} else {
|
||||
res.status(404).json({ error: "Keine passenden Linien gefunden" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der gis_lines:", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
return res.status(405).json({ error: "Nur POST Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { idLD, idModul, newCoordinates } = req.body;
|
||||
if (!idLD || !idModul || !newCoordinates) {
|
||||
return res.status(400).json({ error: "Fehlende Daten" });
|
||||
}
|
||||
|
||||
const newLineString = `LINESTRING(${newCoordinates.map((coord) => `${coord[0]} ${coord[1]}`).join(",")})`;
|
||||
|
||||
const query = "UPDATE talas_v5.gis_lines SET points = ST_GeomFromText(?) WHERE idLD = ? AND idModul = ?;";
|
||||
|
||||
let connection;
|
||||
|
||||
try {
|
||||
// Hole eine Verbindung aus dem Pool
|
||||
connection = await pool.getConnection();
|
||||
|
||||
// Beginne eine Transaktion
|
||||
await connection.beginTransaction();
|
||||
|
||||
// Führe die Abfrage aus
|
||||
const [results] = await connection.query(query, [newLineString, idLD, idModul]);
|
||||
|
||||
// Commit der Transaktion
|
||||
await connection.commit();
|
||||
|
||||
console.log("Transaction Complete.");
|
||||
res.status(200).json({
|
||||
success: "Updated successfully.",
|
||||
affectedRows: results.affectedRows,
|
||||
});
|
||||
} catch (error) {
|
||||
// Rollback im Falle eines Fehlers
|
||||
if (connection) await connection.rollback();
|
||||
console.error("Fehler beim Aktualisieren der gis_lines:", error);
|
||||
res.status(500).json({ error: "Fehler beim Aktualisieren der gis_lines" });
|
||||
} finally {
|
||||
// Stelle sicher, dass die Verbindung zurückgegeben wird
|
||||
if (connection) connection.release();
|
||||
}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
// API in /api/talas_v5_DB/locationDevice/getDeviceId.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { deviceName } = req.query;
|
||||
|
||||
if (!deviceName) {
|
||||
return res.status(400).json({ error: "deviceName ist erforderlich" });
|
||||
}
|
||||
|
||||
const query = "SELECT idLD FROM location_device WHERE name = ?";
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Pool
|
||||
const [results] = await pool.query(query, [deviceName]);
|
||||
if (results.length > 0) {
|
||||
res.status(200).json({ idLD: results[0].idLD });
|
||||
} else {
|
||||
res.status(404).json({ error: "Gerät nicht gefunden" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der Geräte-ID:", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der Geräte-ID" });
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
// API in /api/talas_v5_DB/locationDevice/locationDeviceNameById.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { idLD } = req.query;
|
||||
|
||||
if (!idLD) {
|
||||
return res.status(400).json({ error: "idLD ist erforderlich" });
|
||||
}
|
||||
|
||||
try {
|
||||
const query = "SELECT name FROM location_device WHERE idLD = ?";
|
||||
const [results] = await pool.query(query, [idLD]);
|
||||
|
||||
if (results.length > 0) {
|
||||
res.status(200).json({ name: results[0].name });
|
||||
} else {
|
||||
res.status(404).json({ error: "Gerät nicht gefunden", idLD });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen des Gerätenamens:", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen des Gerätenamens" });
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
// API in /api/talas_v5_DB/locationDevice/locationDevices.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const query = "SELECT * FROM location_device WHERE iddevice = 160";
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Verbindungspool
|
||||
const [results] = await pool.query(query);
|
||||
|
||||
res.status(200).json(results);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der Geräteinformationen:", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der Geräteinformationen" });
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
// pages/api/talas_v5_DB/poiTyp/readPoiTyp.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
res.setHeader("Allow", ["GET"]);
|
||||
return res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
|
||||
const query = "SELECT * FROM poityp";
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Verbindungspool
|
||||
const [results] = await pool.query(query);
|
||||
|
||||
if (results.length === 0) {
|
||||
return res.status(404).json({ message: "Keine Einträge gefunden" });
|
||||
}
|
||||
|
||||
res.status(200).json(results);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abfragen der Datenbank:", error);
|
||||
res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
// pages/api/addLocation.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
connectionLimit: 10, // Maximale Anzahl gleichzeitiger Verbindungen
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method === "POST") {
|
||||
const { name, poiTypeId, latitude, longitude, idLD } = req.body;
|
||||
console.log("Received data:", req.body); // Überprüfen der empfangenen Daten
|
||||
|
||||
const query = "INSERT INTO poi (description, idPoiTyp, position, idLD) VALUES (?, ?, ST_GeomFromText(?),?)";
|
||||
const point = `POINT(${longitude} ${latitude})`;
|
||||
const values = [name, poiTypeId, point, idLD];
|
||||
|
||||
// Verwende den Pool, um eine Verbindung zu bekommen und die Query auszuführen
|
||||
pool.query(query, values, (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Einfügen des Standorts:", error);
|
||||
return res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
}
|
||||
res.status(200).json({
|
||||
id: results.insertId,
|
||||
message: "Standort erfolgreich hinzugefügt",
|
||||
});
|
||||
});
|
||||
} else {
|
||||
res.setHeader("Allow", ["POST"]);
|
||||
res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/deletePoi.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "DELETE") {
|
||||
return res.status(405).json({ error: "Nur DELETE Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { id } = req.query; // ID aus der Anfrage holen
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).json({ error: "POI ID ist erforderlich" });
|
||||
}
|
||||
|
||||
const query = "DELETE FROM poi WHERE idPoi = ?";
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Verbindungspool
|
||||
const [results] = await pool.query(query, [id]);
|
||||
|
||||
if (results.affectedRows > 0) {
|
||||
res.status(200).json({ message: "POI erfolgreich gelöscht" });
|
||||
} else {
|
||||
res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Löschen des POI 3:", error);
|
||||
res.status(500).json({ error: "Fehler beim Löschen des POI" });
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/getPoiById.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
res.setHeader("Allow", ["GET"]);
|
||||
return res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
|
||||
const { idPoi } = req.query;
|
||||
|
||||
if (!idPoi) {
|
||||
return res.status(400).json({ error: "idPoi ist erforderlich" });
|
||||
}
|
||||
|
||||
const query = "SELECT description FROM poi WHERE idPoi = ?";
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Verbindungspool
|
||||
const [results] = await pool.query(query, [idPoi]);
|
||||
|
||||
if (results.length === 0) {
|
||||
return res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
|
||||
res.status(200).json(results[0]);
|
||||
} catch (error) {
|
||||
console.error("Fehler bei der Abfrage:", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/poi-icons.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const query = `
|
||||
SELECT p.idPoi, i.path
|
||||
FROM poi p
|
||||
JOIN poiTyp pt ON p.idPoiTyp = pt.idPoiTyp
|
||||
JOIN poiicons i ON pt.icon = i.idpoiicons;
|
||||
`;
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Verbindungspool
|
||||
const [results] = await pool.query(query);
|
||||
res.status(200).json(results);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der Icons:", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der Icons" });
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/readLocations.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const query = `
|
||||
SELECT idPoi, description, idPoiTyp, idLD, ST_AsText(position) AS position
|
||||
FROM poi
|
||||
`;
|
||||
|
||||
try {
|
||||
// Ausführen der Abfrage mit dem Verbindungspool
|
||||
const [results] = await pool.query(query);
|
||||
|
||||
// Senden der Antwort zurück
|
||||
res.status(200).json(results);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der API:", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/updateLocation.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
charset: "utf8mb4",
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
res.setHeader("Allow", ["POST"]);
|
||||
return res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
|
||||
const { id, latitude, longitude } = req.body;
|
||||
|
||||
if (!id || latitude === undefined || longitude === undefined) {
|
||||
return res.status(400).json({ error: "id, latitude, und longitude sind erforderlich" });
|
||||
}
|
||||
|
||||
const query = "UPDATE poi SET position = POINT(?, ?) WHERE idPoi = ?";
|
||||
|
||||
try {
|
||||
const [result] = await pool.query(query, [longitude, latitude, id]);
|
||||
|
||||
if (result.affectedRows > 0) {
|
||||
res.status(200).json({ success: true });
|
||||
} else {
|
||||
res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Aktualisieren der Position:", error);
|
||||
res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
}
|
||||
}
|
||||
|
||||
/* import mysql from "mysql";
|
||||
import util from "util";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
charset: "utf8mb4",
|
||||
};
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
res.setHeader("Allow", ["POST"]);
|
||||
return res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
|
||||
const { id, latitude, longitude } = req.body;
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
// Promisify the query method
|
||||
const query = util.promisify(connection.query).bind(connection);
|
||||
|
||||
try {
|
||||
await query("UPDATE poi SET position = POINT(?, ?) WHERE idPoi = ?", [
|
||||
longitude,
|
||||
latitude,
|
||||
id,
|
||||
]);
|
||||
res.status(200).json({ success: true });
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
} finally {
|
||||
connection.end();
|
||||
}
|
||||
} */
|
||||
@@ -1,45 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/updatePoi.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
return res.status(405).json({ error: "Nur POST Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { idPoi, description, idPoiTyp, idLD } = req.body;
|
||||
|
||||
if (!idPoi) {
|
||||
return res.status(400).json({ error: "POI ID ist erforderlich" });
|
||||
}
|
||||
|
||||
const query = `
|
||||
UPDATE talas_v5.poi
|
||||
SET description = ?, idPoiTyp = ?, idLD = ?
|
||||
WHERE idPoi = ?
|
||||
`;
|
||||
|
||||
try {
|
||||
const [results] = await pool.query(query, [description, idPoiTyp, idLD, idPoi]);
|
||||
|
||||
if (results.affectedRows > 0) {
|
||||
res.status(200).json({ message: "POI erfolgreich aktualisiert" });
|
||||
} else {
|
||||
res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Aktualisieren des POI:", error);
|
||||
res.status(500).json({ error: "Fehler beim Aktualisieren des POI" });
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
// pages/api/talas_v5_DB/priorityConfig.js
|
||||
// in tals5 http://10.10.0.13/talas5/Management/PriorityConfig.aspx beinhaltet die Tabelle prio die Prioritäten der Meldungen (Level 1-4) oder (0-4) je nachdem DB-Design
|
||||
// das ist die API, die die Prioritäten zurückgibt
|
||||
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Erstellen eines Pools von Datenbankverbindungen
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
try {
|
||||
// Ausführen der Datenbankabfrage
|
||||
const query = "SELECT idprio, level, name, color FROM prio";
|
||||
const results = await pool.query(query);
|
||||
|
||||
// Wichtig: Senden Sie die Antwort zurück
|
||||
res.status(200).json(results[0]); // Da mysql2 Tuple [rows, fields] zurückgibt, wählen wir nur rows mit [0]
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
// /pages/api/talas_v5_DB/station/getAllStationsNames.js
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
// Verbindungspool-Konfiguration
|
||||
const pool = mysql.createPool({
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
waitForConnections: true,
|
||||
connectionLimit: 10,
|
||||
queueLimit: 0,
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
res.setHeader("Allow", ["GET"]);
|
||||
return res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
|
||||
try {
|
||||
// Abrufen aller idLD und ihrer Namen
|
||||
const [results] = await pool.query("SELECT idLD, name FROM location_device");
|
||||
|
||||
if (results.length === 0) {
|
||||
return res.status(404).json({ error: "No data found" });
|
||||
}
|
||||
|
||||
// Struktur der Antwort anpassen
|
||||
const namesMap = results.reduce((map, { idLD, name }) => {
|
||||
if (!map[idLD]) {
|
||||
map[idLD] = name; // Stelle sicher, dass hier keine Duplikate oder Überschreibungen entstehen
|
||||
}
|
||||
return map;
|
||||
}, {});
|
||||
|
||||
res.status(200).json(namesMap);
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Abrufen der Daten:", err);
|
||||
res.status(500).json({ error: "Error retrieving data from the database" });
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
// pages/api/[...path].js
|
||||
import { createProxyMiddleware } from "http-proxy-middleware";
|
||||
import { SERVER_URL } from "../config/urls.js";
|
||||
console.log("SERVER_URL:", SERVER_URL); // Debug-Ausgabe
|
||||
|
||||
export default createProxyMiddleware({
|
||||
//target: "http://192.168.10.58:3001",
|
||||
// Stationen bekommen
|
||||
//target: "http://10.10.0.13", // Ziel-URL des Proxys // API Aufruf zum mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl und mapDataIconUrl
|
||||
target: `${SERVER_URL}`, //
|
||||
//target: urls.PROXY_TARGET,
|
||||
//target: "http://localhost:3000", // Ziel-URL des Proxys
|
||||
//target: "http://192.168.10.187:3000", // Ziel-URL des Proxys
|
||||
//target: "http://192.168.10.14",
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
"^/api": "/", // Optional: Entfernt /api aus dem Pfad, wenn das Backend dies nicht erfordert
|
||||
},
|
||||
logLevel: "debug", // Setzt das Logging-Level auf "debug" für detaillierte Ausgaben
|
||||
});
|
||||
@@ -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,34 +0,0 @@
|
||||
// /pages/api/gis-proxy.js
|
||||
// Importieren der erforderlichen Module
|
||||
import httpProxy from "http-proxy";
|
||||
import Cookies from "cookies";
|
||||
|
||||
// Erstellen eines Proxy-Servers
|
||||
const proxy = httpProxy.createProxyServer();
|
||||
|
||||
export default (req, res) => {
|
||||
return new Promise((resolve) => {
|
||||
// CORS-Headers einstellen
|
||||
res.setHeader("Access-Control-Allow-Credentials", true);
|
||||
res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
|
||||
// Cookies initialisieren
|
||||
const cookies = new Cookies(req, res);
|
||||
const targetUrl = `${process.env.NEXT_PUBLIC_SERVER_URL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic`;
|
||||
|
||||
// Proxy-Konfiguration und Event-Listener
|
||||
req.on("data", () => {});
|
||||
req.on("end", () => {
|
||||
proxy.web(req, res, { target: targetUrl, changeOrigin: true, selfHandleResponse: false }, (e) => {
|
||||
if (e) {
|
||||
console.error(e);
|
||||
res.status(500).json({ error: "Proxy-Fehler", e });
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
// Weiterleitung der Headers
|
||||
req.headers.cookie = cookies.get("cookie-name") || "";
|
||||
});
|
||||
};
|
||||
@@ -1,64 +0,0 @@
|
||||
// /pages/api/linesColorApi.js
|
||||
// http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict
|
||||
//In DB gis_lines idLD und idModul anpassen entsprechend
|
||||
|
||||
// /pages/api/linesColorApi.js
|
||||
import NextCors from "nextjs-cors";
|
||||
|
||||
export default async function handler(req, res) {
|
||||
// Run the cors middleware
|
||||
await NextCors(req, res, {
|
||||
// Options
|
||||
methods: ["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"],
|
||||
origin: "*", // Erlauben Sie alle Ursprünge, oder geben Sie spezifische Ursprünge an
|
||||
optionsSuccessStatus: 200, // Legacy-Browser-Unterstützung für 204
|
||||
});
|
||||
|
||||
const response = {
|
||||
Name: "Liste aller Statis der Linien",
|
||||
Zeitstempel: new Date().toISOString(), // Aktuellen Zeitstempel hinzufügen
|
||||
IdMap: "10",
|
||||
Statis: [
|
||||
/* {
|
||||
IdLD: 50922,
|
||||
Modul: 1,
|
||||
DpName: "KUE01_Ausfall",
|
||||
ModulName: "42 Wippershain Sender",
|
||||
// ModulTyp: "nicht vorhanden",
|
||||
ModulTyp: "KÜ705-FO",
|
||||
Message: "KUEG 01: 42 Wippershain Sender Messwerkausfall kommend",
|
||||
Level: 4,
|
||||
PrioColor: "#FFFF00",
|
||||
PrioName: "system",
|
||||
Value: "10 MOhm",
|
||||
},
|
||||
{
|
||||
IdLD: 25440,
|
||||
Modul: 3,
|
||||
DpName: "KUE03_Ausfall",
|
||||
ModulName: "42 Solz Sender",
|
||||
//ModulTyp: "nicht vorhanden",
|
||||
ModulTyp: "KÜSS V2",
|
||||
Message: "KUEG 03: 42 Solz Sender Messwerkausfall kommend",
|
||||
Level: 4,
|
||||
PrioColor: "#FF0000",
|
||||
PrioName: "system",
|
||||
Value: "10 MOhm",
|
||||
},
|
||||
{
|
||||
IdLD: 25440,
|
||||
Modul: 4,
|
||||
DpName: "KUE04_Ausfall",
|
||||
ModulName: "42/13 Bad Hersfeld Gaswerk",
|
||||
ModulTyp: "Kue705-FO",
|
||||
Message: "KUEG 04: 42/13 Bad Hersfeld Gaswerk Messwerkausfall kommend",
|
||||
Level: 4,
|
||||
PrioColor: "#FF00FF",
|
||||
PrioName: "system",
|
||||
Value: "10 MOhm",
|
||||
}, */
|
||||
],
|
||||
};
|
||||
|
||||
res.status(200).json(response);
|
||||
}
|
||||
@@ -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: [] });
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
// pages/api/talas_v5/area.js
|
||||
// Lesen von talas_v5 MySQL-Datenbank -> area Tabelle enthält DAUZ Geräte
|
||||
// Wenn gebraucht wird, dann nutzen ansonsten löschen
|
||||
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
//console.log("my dbconfig: ", dbConfig);
|
||||
export default function handler(req, res) {
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
res.status(500).json({ error: "Verbindungsfehler zur Datenbank" });
|
||||
return;
|
||||
}
|
||||
|
||||
//console.log("Verbunden als ID", connection.threadId);
|
||||
//Fehler weil, existiertdie Tabelle auf localhost:3000 nicht
|
||||
connection.query("SELECT ..., ..., ..., ... FROM ... WHERE ... = ...", (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Wichtig: Senden Sie die Antwort zurück
|
||||
res.status(200).json(results);
|
||||
|
||||
connection.end();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
// pages/api/talas_v5/location_device.js
|
||||
// talas_v5 Datenbank -> location_device Tabelle enthält DAUZ Geräte
|
||||
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
//console.log("my dbconfig: ", dbConfig);
|
||||
export default function handler(req, res) {
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
res.status(500).json({ error: "Verbindungsfehler zur Datenbank" });
|
||||
return;
|
||||
}
|
||||
|
||||
//console.log("Verbunden als ID", connection.threadId);
|
||||
//Fehler weil, existiertdie Tabelle auf localhost:3000 nicht
|
||||
connection.query("SELECT idLD, iddevice, iddevice, name FROM location_device WHERE iddevice = 160", (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Wichtig: Senden Sie die Antwort zurück
|
||||
res.status(200).json(results);
|
||||
|
||||
connection.end();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1,116 +0,0 @@
|
||||
// /pages/api/talas5/webserviceMap/GisStationsMeasurements.js
|
||||
const GisStationsMeasurements = {
|
||||
"Name": "Liste aller Messungen der Geraete",
|
||||
"Zeitstempel": "2024-05-31T15:25:32.5047629+02:00",
|
||||
"IdMap": "10",
|
||||
"Statis": [
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 3,
|
||||
"Na": "FBT",
|
||||
"Val": "20.5",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 10,
|
||||
"Na": "GT",
|
||||
"Val": "nicht ermittelbar",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 2,
|
||||
"Na": "LT",
|
||||
"Val": "Datenlücke",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 6,
|
||||
"Na": "RLF",
|
||||
"Val": "100.0",
|
||||
"Unit": "%",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 11,
|
||||
"Na": "TPT",
|
||||
"Val": "8.3",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 12,
|
||||
"Na": "TT1",
|
||||
"Val": "---",
|
||||
"Unit": "°C",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 16,
|
||||
"Na": "WFD",
|
||||
"Val": "0.12",
|
||||
"Unit": "mm",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 8,
|
||||
"Na": "WGM",
|
||||
"Val": "---",
|
||||
"Unit": "m/s",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
},
|
||||
{
|
||||
"IdLD": 50004,
|
||||
"IdL": 18624,
|
||||
"IdDP": 9,
|
||||
"Na": "WGS",
|
||||
"Val": "---",
|
||||
"Unit": "m/s",
|
||||
"Gr": "GMA",
|
||||
"Area_Name": "Renzenhof (RG)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// Export an async function handler for the API route.
|
||||
export default async function handler(req, res) {
|
||||
// Initialize an empty params object to store query parameters.
|
||||
const params = {
|
||||
idMap: req.query.idMap,
|
||||
|
||||
};
|
||||
|
||||
// Check if the requested ID map and user match certain conditions.
|
||||
if (params.idMap === '10') {
|
||||
// If the conditions are met, return the GisStationsMeasurements object with a 200 status code.
|
||||
res.status(200).json(GisStationsMeasurements);
|
||||
} else {
|
||||
// If not, return a 404 error with the message "Not Found".
|
||||
res.status(404).send('Not Found');
|
||||
}
|
||||
};
|
||||
@@ -1,281 +0,0 @@
|
||||
// /pages/api/talas5/webserviceMap/GisStationsStaticDistrict.js
|
||||
const GisStationsStaticDistrict = {
|
||||
"Name": "Liste aller Geraete einer bestimmten Karte",
|
||||
"Zeitstempel": "2024-05-31T15:26:56.9235766+02:00",
|
||||
"IdMap": "10",
|
||||
"Points": [
|
||||
{
|
||||
"LD_Name": "CPL Bentheim",
|
||||
"IdLD": 50017,
|
||||
"Device": "CPL V3.5 mit 16 Kü",
|
||||
"Link": "cpl.aspx?ver=35&kue=16&id=50017",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "BEHE",
|
||||
"IdLocation": 17448,
|
||||
"Area_Name": "Bad-Bentheim",
|
||||
"Area_Short": "BEHE--00",
|
||||
"IdArea": 16418,
|
||||
"X": 51.5728,
|
||||
"Y": 9.00056,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Drucker",
|
||||
"IdLD": 50084,
|
||||
"Device": "Basisgerät",
|
||||
"Link": "basis.aspx?ver=1&id=50084",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 14,
|
||||
"System": 200,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Türkontakt",
|
||||
"IdLD": 50666,
|
||||
"Device": "ECI",
|
||||
"Link": "eci.aspx?ver=1&id=50666",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 17,
|
||||
"System": 2,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Triptis",
|
||||
"IdLD": 50888,
|
||||
"Device": "CPL 200",
|
||||
"Link": "cpl.aspx?ver=30&kue=16&id=50888",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Rodaborn I",
|
||||
"IdLD": 50889,
|
||||
"Device": "cpl.mio V>6",
|
||||
"Link": "cplmio.aspx?ver=1&id=50889",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Rodaborn II",
|
||||
"IdLD": 50900,
|
||||
"Device": "cpl.mio V>6",
|
||||
"Link": "cplmio.aspx?ver=1&id=50900",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Hermsdorf",
|
||||
"IdLD": 50901,
|
||||
"Device": "CPL V3.5 mit 24 Kü",
|
||||
"Link": "cpl.aspx?ver=35&kue=24&id=50901",
|
||||
"Location_Name": "Technikraum",
|
||||
"Location_Short": "SLUE",
|
||||
"IdLocation": 17776,
|
||||
"Area_Name": "Schlüchtern II",
|
||||
"Area_Short": "SLUE--00",
|
||||
"IdArea": 14688,
|
||||
"X": 53.2455,
|
||||
"Y": 8.1614,
|
||||
"Icon": 20,
|
||||
"System": 1,
|
||||
"Active": 1
|
||||
},
|
||||
{
|
||||
"LD_Name": "GMA Littwin (TEST)",
|
||||
"IdLD": 50004,
|
||||
"Device": "Glättemeldeanlage",
|
||||
"Link": "gma.aspx?ver=1&id=50004",
|
||||
"Location_Name": "RG Relaisraum",
|
||||
"Location_Short": "REZR",
|
||||
"IdLocation": 18624,
|
||||
"Area_Name": "Renzenhof (RG)",
|
||||
"Area_Short": "REZHRG00",
|
||||
"IdArea": 16570,
|
||||
"X": 53.246036,
|
||||
"Y": 8.163293,
|
||||
"Icon": 1,
|
||||
"System": 11,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "NRS Testserver",
|
||||
"IdLD": 50005,
|
||||
"Device": "Notruf Server",
|
||||
"Link": "nrs_server.aspx?ver=1&id=50005",
|
||||
"Location_Name": "(EV Ammersricht BZR REL)",
|
||||
"Location_Short": "AMME",
|
||||
"IdLocation": 21118,
|
||||
"Area_Name": "Ammersricht BZR (FGN)",
|
||||
"Area_Short": "AMMER--00",
|
||||
"IdArea": 15958,
|
||||
"X": 52.52726,
|
||||
"Y": 12.165488,
|
||||
"Icon": 19,
|
||||
"System": 8,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Gateway 2",
|
||||
"IdLD": 50007,
|
||||
"Device": "Notruf Server",
|
||||
"Link": "nrs_server.aspx?ver=1&id=50007",
|
||||
"Location_Name": "(EV Ammersricht BZR REL)",
|
||||
"Location_Short": "AMME",
|
||||
"IdLocation": 21118,
|
||||
"Area_Name": "Ammersricht BZR (FGN)",
|
||||
"Area_Short": "AMMER--00",
|
||||
"IdArea": 15958,
|
||||
"X": 52.52726,
|
||||
"Y": 12.165488,
|
||||
"Icon": 19,
|
||||
"System": 8,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Basisgerät mit SNMP MVP",
|
||||
"IdLD": 50669,
|
||||
"Device": "Basisgerät + SNMP",
|
||||
"Link": "basisSNMP.aspx?&ver=1&id=50669",
|
||||
"Location_Name": "Mylinghauserstraße Engelbert",
|
||||
"Location_Short": "G-GEVELSBE-1",
|
||||
"IdLocation": 24012,
|
||||
"Area_Name": "Gevelsberg",
|
||||
"Area_Short": "GMA-GEVELSBE",
|
||||
"IdArea": 20919,
|
||||
"X": 51.316799,
|
||||
"Y": 7.33281,
|
||||
"Icon": 14,
|
||||
"System": 200,
|
||||
"Active": 1
|
||||
},
|
||||
{
|
||||
"LD_Name": "Server 3",
|
||||
"IdLD": 50009,
|
||||
"Device": "Notruf Server",
|
||||
"Link": "nrs_server.aspx?ver=1&id=50009",
|
||||
"Location_Name": "Militärringstraße Militärringstraße",
|
||||
"Location_Short": "G-KÖLN-1",
|
||||
"IdLocation": 24015,
|
||||
"Area_Name": "Köln",
|
||||
"Area_Short": "GMA-KÖLN",
|
||||
"IdArea": 20921,
|
||||
"X": 50.898399,
|
||||
"Y": 6.92278,
|
||||
"Icon": 19,
|
||||
"System": 8,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "ICL Test 5",
|
||||
"IdLD": 50054,
|
||||
"Device": "ICL",
|
||||
"Link": "icl.aspx?ver=1&id=50054",
|
||||
"Location_Name": "Recheder Mühlenweg Dortmund-Ems-Kanal",
|
||||
"Location_Short": "G-OLFEN-SE-1",
|
||||
"IdLocation": 24022,
|
||||
"Area_Name": "Olfen-Selm",
|
||||
"Area_Short": "GMA-OLFEN-SE",
|
||||
"IdArea": 20926,
|
||||
"X": 51.702202,
|
||||
"Y": 7.40822,
|
||||
"Icon": 23,
|
||||
"System": 100,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "ICL Test 3",
|
||||
"IdLD": 50052,
|
||||
"Device": "ICL",
|
||||
"Link": "icl.aspx?ver=1&id=50052",
|
||||
"Location_Name": "Weidenstraße Hestenberg",
|
||||
"Location_Short": "G-PLETTENB-1",
|
||||
"IdLocation": 24024,
|
||||
"Area_Name": "Plettenberg",
|
||||
"Area_Short": "GMA-PLETTENB",
|
||||
"IdArea": 20928,
|
||||
"X": 51.224098,
|
||||
"Y": 7.86969,
|
||||
"Icon": 23,
|
||||
"System": 100,
|
||||
"Active": 0
|
||||
},
|
||||
{
|
||||
"LD_Name": "Test Februar Kai",
|
||||
"IdLD": 50912,
|
||||
"Device": "Dauerzählstelle DZ",
|
||||
"Link": "dauz.aspx?ver=1&id=50912",
|
||||
"Location_Name": "In der Hoffnung Kiesberg - BG Ost",
|
||||
"Location_Short": "G-WUPPERTA-4",
|
||||
"IdLocation": 24039,
|
||||
"Area_Name": "Wuppertal",
|
||||
"Area_Short": "GMA-WUPPERTA",
|
||||
"IdArea": 20937,
|
||||
"X": 51.238899,
|
||||
"Y": 7.12715,
|
||||
"Icon": 14,
|
||||
"System": 110,
|
||||
"Active": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// Export an async function handler for the API route.
|
||||
export default async function handler(req, res) {
|
||||
// Initialize an empty params object to store query parameters.
|
||||
const params = {
|
||||
idMap: req.query.idMap,
|
||||
idUser: req.query.idUser
|
||||
};
|
||||
|
||||
// Check if the requested ID map and user match certain conditions.
|
||||
if (params.idMap === '10' && params.idUser === '484') {
|
||||
// If the conditions are met, return the GisStationsStaticDistrict object with a 200 status code.
|
||||
res.status(200).json(GisStationsStaticDistrict);
|
||||
} else {
|
||||
// If not, return a 404 error with the message "Not Found".
|
||||
res.status(404).send('Not Found');
|
||||
}
|
||||
};
|
||||
@@ -1,100 +0,0 @@
|
||||
import mysql from "mysql2/promise";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const { idMap, idUser } = req.query;
|
||||
|
||||
if (!idMap || !idUser) {
|
||||
res.status(400).json({ error: "idMap and idUser are required" });
|
||||
return;
|
||||
}
|
||||
|
||||
let connection;
|
||||
try {
|
||||
connection = await mysql.createConnection(dbConfig);
|
||||
|
||||
let onlySystem = -1;
|
||||
let districtCounter = 0;
|
||||
|
||||
// Get onlySystem
|
||||
const [mapResult] = await connection.execute(
|
||||
"SELECT idsystem_typ FROM maps WHERE id = ?",
|
||||
[idMap]
|
||||
);
|
||||
if (mapResult.length > 0) {
|
||||
onlySystem = mapResult[0].idsystem_typ ?? -1;
|
||||
}
|
||||
|
||||
// Get districtCounter
|
||||
if (idUser > 0) {
|
||||
const [userLayerResult] = await connection.execute(
|
||||
"SELECT count(*) as count FROM user_User_layer1 WHERE iduser = ?",
|
||||
[idUser]
|
||||
);
|
||||
districtCounter = userLayerResult[0].count;
|
||||
}
|
||||
|
||||
// Get GisStatusStations
|
||||
let query = `
|
||||
SELECT ld.idLD, dc.message, p.level, p.name, p.color, ld.idDevice, de.isService, dc.idIcon
|
||||
FROM location as l
|
||||
LEFT JOIN location_coordinates AS co ON l.idLocation = co.idLocation and co.idMaps = ?
|
||||
LEFT JOIN location_device AS ld ON ld.idLocation = l.idLocation
|
||||
LEFT JOIN datapoint as d ON d.idLD = ld.idLD
|
||||
LEFT JOIN datapoint_conditions AS dc ON dc.idcondition = d.last_message_condition
|
||||
LEFT JOIN prio AS p ON p.idPrio = dc.idprio
|
||||
LEFT JOIN devices AS de ON de.idDevice = ld.idDevice
|
||||
LEFT JOIN area as a on a.idArea = l.idArea
|
||||
WHERE p.level < 100 AND co.X > 0
|
||||
`;
|
||||
|
||||
if (districtCounter > 0) {
|
||||
query += ` AND a.iddistrict IN (SELECT iddistrict FROM user_user_layer1 WHERE iduser = ?)`;
|
||||
}
|
||||
|
||||
if (onlySystem >= 0) {
|
||||
query += ` AND de.idsystem_typ = ?`;
|
||||
}
|
||||
|
||||
query += ` ORDER BY p.level desc`;
|
||||
|
||||
const queryParams = [idMap];
|
||||
if (districtCounter > 0) {
|
||||
queryParams.push(idUser);
|
||||
}
|
||||
if (onlySystem >= 0) {
|
||||
queryParams.push(onlySystem);
|
||||
}
|
||||
|
||||
const [results] = await connection.execute(query, queryParams);
|
||||
|
||||
const mpss = {
|
||||
IdMap: idMap.toString(),
|
||||
Statis: results.map((row) => ({
|
||||
IdLD: row.idLD ?? -1,
|
||||
Le: row.level ?? -1,
|
||||
Me: row.message ?? "?",
|
||||
Na: row.name ?? "?",
|
||||
Co: row.color ?? "#ffffff",
|
||||
Feld: row.idDevice ?? -1,
|
||||
Icon: row.idIcon ?? 0,
|
||||
})),
|
||||
};
|
||||
|
||||
res.status(200).json(mpss);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Laden der Daten:", error);
|
||||
res.status(500).json({ error: "Interner Serverfehler" });
|
||||
} finally {
|
||||
if (connection) {
|
||||
await connection.end();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,273 +0,0 @@
|
||||
// /pages/api/webServiceMap.js
|
||||
const gisSystemStatic = {
|
||||
"Name": "Liste aller angezeigten Systeme",
|
||||
"Zeitstempel": "2024-05-31T15:08:49.8599542+02:00",
|
||||
"IdMap": "10",
|
||||
"Systems": [
|
||||
{
|
||||
"IdSystem": 1,
|
||||
"Name": "TALAS",
|
||||
"Longname": "Talas Meldestationen",
|
||||
"Allow": 1,
|
||||
"Icon": 1
|
||||
},
|
||||
{
|
||||
"IdSystem": 2,
|
||||
"Name": "ECI",
|
||||
"Longname": "ECI Geräte",
|
||||
"Allow": 1,
|
||||
"Icon": 2
|
||||
},
|
||||
{
|
||||
"IdSystem": 5,
|
||||
"Name": "GSM Modem",
|
||||
"Longname": "LR77 GSM Modems",
|
||||
"Allow": 1,
|
||||
"Icon": 5
|
||||
},
|
||||
{
|
||||
"IdSystem": 6,
|
||||
"Name": "Cisco Router",
|
||||
"Longname": "Cisco Router",
|
||||
"Allow": 1,
|
||||
"Icon": 6
|
||||
},
|
||||
{
|
||||
"IdSystem": 7,
|
||||
"Name": "WAGO",
|
||||
"Longname": "WAGO I/O Systeme",
|
||||
"Allow": 1,
|
||||
"Icon": 7
|
||||
},
|
||||
{
|
||||
"IdSystem": 8,
|
||||
"Name": "Siemens",
|
||||
"Longname": "Siemens Notrufsystem",
|
||||
"Allow": 0,
|
||||
"Icon": 8
|
||||
},
|
||||
{
|
||||
"IdSystem": 9,
|
||||
"Name": "OTDR",
|
||||
"Longname": "Glasfaserüberwachung OTU",
|
||||
"Allow": 0,
|
||||
"Icon": 9
|
||||
},
|
||||
{
|
||||
"IdSystem": 10,
|
||||
"Name": "WDM",
|
||||
"Longname": " Wavelength Division Multiplexing",
|
||||
"Allow": 0,
|
||||
"Icon": 10
|
||||
},
|
||||
{
|
||||
"IdSystem": 11,
|
||||
"Name": "GMA",
|
||||
"Longname": "Glättemeldeanlagen",
|
||||
"Allow": 1,
|
||||
"Icon": 11
|
||||
},
|
||||
{
|
||||
"IdSystem": 13,
|
||||
"Name": "Messstellen",
|
||||
"Longname": "Messstellen",
|
||||
"Allow": 0,
|
||||
"Icon": 13
|
||||
},
|
||||
{
|
||||
"IdSystem": 100,
|
||||
"Name": "TALAS ICL",
|
||||
"Longname": "Talas ICL Unterstationen",
|
||||
"Allow": 1,
|
||||
"Icon": 100
|
||||
},
|
||||
{
|
||||
"IdSystem": 110,
|
||||
"Name": "DAUZ",
|
||||
"Longname": "Dauerzählstellen",
|
||||
"Allow": 1,
|
||||
"Icon": 110
|
||||
},
|
||||
{
|
||||
"IdSystem": 111,
|
||||
"Name": "SMS-Funkmodem",
|
||||
"Longname": "SMS-Funkmodem",
|
||||
"Allow": 0,
|
||||
"Icon": 111
|
||||
},
|
||||
{
|
||||
"IdSystem": 200,
|
||||
"Name": "Sonstige",
|
||||
"Longname": "Sonstige",
|
||||
"Allow": 1,
|
||||
"Icon": 200
|
||||
}
|
||||
],
|
||||
"Rights": [
|
||||
{
|
||||
"IdRight": 1
|
||||
},
|
||||
{
|
||||
"IdRight": 2
|
||||
},
|
||||
{
|
||||
"IdRight": 3
|
||||
},
|
||||
{
|
||||
"IdRight": 5
|
||||
},
|
||||
{
|
||||
"IdRight": 6
|
||||
},
|
||||
{
|
||||
"IdRight": 7
|
||||
},
|
||||
{
|
||||
"IdRight": 8
|
||||
},
|
||||
{
|
||||
"IdRight": 10
|
||||
},
|
||||
{
|
||||
"IdRight": 11
|
||||
},
|
||||
{
|
||||
"IdRight": 12
|
||||
},
|
||||
{
|
||||
"IdRight": 20
|
||||
},
|
||||
{
|
||||
"IdRight": 22
|
||||
},
|
||||
{
|
||||
"IdRight": 23
|
||||
},
|
||||
{
|
||||
"IdRight": 25
|
||||
},
|
||||
{
|
||||
"IdRight": 30
|
||||
},
|
||||
{
|
||||
"IdRight": 40
|
||||
},
|
||||
{
|
||||
"IdRight": 41
|
||||
},
|
||||
{
|
||||
"IdRight": 42
|
||||
},
|
||||
{
|
||||
"IdRight": 43
|
||||
},
|
||||
{
|
||||
"IdRight": 44
|
||||
},
|
||||
{
|
||||
"IdRight": 45
|
||||
},
|
||||
{
|
||||
"IdRight": 46
|
||||
},
|
||||
{
|
||||
"IdRight": 47
|
||||
},
|
||||
{
|
||||
"IdRight": 48
|
||||
},
|
||||
{
|
||||
"IdRight": 49
|
||||
},
|
||||
{
|
||||
"IdRight": 50
|
||||
},
|
||||
{
|
||||
"IdRight": 51
|
||||
},
|
||||
{
|
||||
"IdRight": 52
|
||||
},
|
||||
{
|
||||
"IdRight": 55
|
||||
},
|
||||
{
|
||||
"IdRight": 56
|
||||
},
|
||||
{
|
||||
"IdRight": 60
|
||||
},
|
||||
{
|
||||
"IdRight": 61
|
||||
},
|
||||
{
|
||||
"IdRight": 62
|
||||
},
|
||||
{
|
||||
"IdRight": 63
|
||||
},
|
||||
{
|
||||
"IdRight": 64
|
||||
},
|
||||
{
|
||||
"IdRight": 65
|
||||
},
|
||||
{
|
||||
"IdRight": 68
|
||||
},
|
||||
{
|
||||
"IdRight": 69
|
||||
},
|
||||
{
|
||||
"IdRight": 70
|
||||
},
|
||||
{
|
||||
"IdRight": 71
|
||||
},
|
||||
{
|
||||
"IdRight": 72
|
||||
},
|
||||
{
|
||||
"IdRight": 73
|
||||
},
|
||||
{
|
||||
"IdRight": 79
|
||||
},
|
||||
{
|
||||
"IdRight": 80
|
||||
},
|
||||
{
|
||||
"IdRight": 90
|
||||
},
|
||||
{
|
||||
"IdRight": 93
|
||||
},
|
||||
{
|
||||
"IdRight": 94
|
||||
},
|
||||
{
|
||||
"IdRight": 95
|
||||
},
|
||||
{
|
||||
"IdRight": 96
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// Export an async function handler for the API route.
|
||||
export default async function handler(req, res) {
|
||||
// Initialize an empty params object to store query parameters.
|
||||
const params = {
|
||||
idMap: req.query.idMap,
|
||||
idUser: req.query.idUser
|
||||
};
|
||||
|
||||
// Check if the requested ID map and user match certain conditions.
|
||||
if (params.idMap === '10' && params.idUser === '484') {
|
||||
// If the conditions are met, return the gisSystemStatic object with a 200 status code.
|
||||
res.status(200).json(gisSystemStatic);
|
||||
} else {
|
||||
// If not, return a 404 error with the message "Not Found".
|
||||
res.status(404).send('Not Found');
|
||||
}
|
||||
};
|
||||
@@ -1,70 +0,0 @@
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
console.log("Database connected successfully.");
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
const idMap = req.query.idMap;
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
connection.query(`
|
||||
SELECT
|
||||
ld.idLD,
|
||||
dp.idDP,
|
||||
dp.name AS Na,
|
||||
dp.value AS Val,
|
||||
dp.unit AS Unit,
|
||||
mg.name AS Gr,
|
||||
ld.idLocation,
|
||||
area.Name AS Area_Name
|
||||
FROM location_device as ld
|
||||
LEFT JOIN location_coordinates AS co ON ld.idLocation = co.idLocation and co.idMaps = ${idMap}
|
||||
LEFT JOIN devices AS de ON de.idDevice = ld.idDevice
|
||||
LEFT JOIN datapoint AS dp ON ld.idLD = dp.idLD
|
||||
LEFT JOIN message_group AS mg ON dp.idmessage_group = mg.idmessage_group
|
||||
LEFT JOIN location AS loc ON ld.idLocation = loc.idLocation
|
||||
LEFT JOIN area AS area ON loc.idArea = area.idArea
|
||||
WHERE co.X > 0 AND dp.idmessage_group>0 AND length(dp.unit)> 0 AND length(dp.value)> 0
|
||||
`, (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der gis_lines:", error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
}
|
||||
|
||||
const response = {
|
||||
"Name": "Liste aller Messungen der Geraete",
|
||||
"Zeitstempel": new Date().toISOString(),
|
||||
"IdMap":idMap,
|
||||
"Statis": results.map((row) => ({
|
||||
IdLD: row.idLD,
|
||||
IdDP: row.idDP,
|
||||
Na: row.Na,
|
||||
Val: row.Val,
|
||||
Unit: row.Unit,
|
||||
Gr: row.Gr,
|
||||
IdLocation: row.IdLocation,
|
||||
Area_Name: row.Area_Name,
|
||||
})),
|
||||
};
|
||||
|
||||
res.json(response);
|
||||
});
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
// /pages/api/talas_v5_DB/gisLines/readGisLines.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
//console.log("Database connected successfully.");
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
const query = "SELECT * FROM talas_v5.gis_lines;";
|
||||
connection.query(query, (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der gis_lines:", error);
|
||||
return res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
}
|
||||
if (results.length > 0) {
|
||||
res.json(results);
|
||||
} else {
|
||||
res.status(404).json({ error: "Gerät nicht gefunden" });
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
// /pages/api/talas_v5_DB/gisLines/updateLineCoordinates.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
//console.log("Database connected successfully.");
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
return res.status(405).json({ error: "Nur POST Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { idLD, idModul, newCoordinates } = req.body;
|
||||
if (!idLD || !idModul || !newCoordinates) {
|
||||
return res.status(400).json({ error: "Fehlende Daten" });
|
||||
}
|
||||
|
||||
const newLineString = `LINESTRING(${newCoordinates.map((coord) => `${coord[0]} ${coord[1]}`).join(",")})`;
|
||||
|
||||
const query = "UPDATE talas_v5.gis_lines SET points = ST_GeomFromText(?) WHERE idLD = ? AND idModul = ?;";
|
||||
|
||||
connection.beginTransaction((err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
connection.query(query, [newLineString, idLD, idModul], (error, results, fields) => {
|
||||
if (error) {
|
||||
return connection.rollback(() => {
|
||||
console.error("Fehler beim Aktualisieren der gis_lines:", error);
|
||||
res.status(500).json({ error: "Fehler beim Aktualisieren der gis_lines" });
|
||||
});
|
||||
}
|
||||
|
||||
connection.commit((err) => {
|
||||
if (err) {
|
||||
return connection.rollback(() => {
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
console.log("Transaction Complete.");
|
||||
res.status(200).json({
|
||||
success: "Updated successfully.",
|
||||
affectedRows: results.affectedRows,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
// API in /api/talas_v5_DB/locationDevice/getDeviceId.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
const { deviceName } = req.query;
|
||||
|
||||
const query = "SELECT idLD FROM location_device WHERE name = ?";
|
||||
connection.query(query, [deviceName], (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der Geräte-ID:", error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({ error: "Fehler beim Abrufen der Geräte-ID" });
|
||||
}
|
||||
if (results.length > 0) {
|
||||
res.json({ idLD: results[0].idLD });
|
||||
} else {
|
||||
res.status(404).json({ error: "Gerät nicht gefunden" });
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
// API in /api/talas_v5_DB/locationDevice/locationDeviceNameById.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
const { idLD } = req.query;
|
||||
|
||||
try {
|
||||
const query = "SELECT name FROM location_device WHERE idLD = ?";
|
||||
const [results] = await new Promise((resolve, reject) => {
|
||||
connection.query(query, [idLD], (error, results) => {
|
||||
if (error) {
|
||||
return reject(error);
|
||||
}
|
||||
resolve(results);
|
||||
});
|
||||
});
|
||||
|
||||
if (results.length > 0) {
|
||||
res.json({ name: results[0].name });
|
||||
} else {
|
||||
res.status(404).json({ error: "Gerät nicht gefunden", idLD, results });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Abrufen des Gerätenamens in locationDeviceNameById.js :", error);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen des Gerätenamens" });
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
// API in /api/talas_v5_DB/locationDevice/locationDevices.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const query = "SELECT * FROM location_device WHERE iddevice = 160";
|
||||
connection.query(query, (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der Geräteinformationen:", error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({ error: "Fehler beim Abrufen der Geräteinformationen" });
|
||||
}
|
||||
res.json(results);
|
||||
});
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
// pages/api/talas_v5_DB/poiTyp/readPoiTyp.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const pool = mysql.createPool({
|
||||
//connectionLimit: 10,
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method === "GET") {
|
||||
const query = "SELECT * FROM poityp";
|
||||
|
||||
pool.query(query, (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abfragen der Datenbank:", error);
|
||||
return res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
}
|
||||
|
||||
if (results.length === 0) {
|
||||
return res.status(404).json({ message: "Keine Einträge gefunden" });
|
||||
}
|
||||
|
||||
res.status(200).json(results);
|
||||
});
|
||||
} else {
|
||||
res.setHeader("Allow", ["GET"]);
|
||||
res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/addLocation.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method === "POST") {
|
||||
const { name, poiTypeId, latitude, longitude, idLD } = req.body;
|
||||
console.log("Received data:", req.body); // Überprüfen der empfangenen Daten
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
const query =
|
||||
"INSERT INTO poi (description, idPoiTyp, position, idLD) VALUES (?, ?, ST_GeomFromText(?),?)";
|
||||
const point = `POINT(${longitude} ${latitude})`;
|
||||
const values = [name, poiTypeId, point, idLD]; // Stellen Sie sicher, dass poiTypeId korrekt ist
|
||||
|
||||
connection.query(query, values, (error, results) => {
|
||||
connection.end();
|
||||
if (error) {
|
||||
console.error("Fehler beim Einfügen des Standorts:", error);
|
||||
return res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
}
|
||||
res.status(200).json({
|
||||
id: results.insertId,
|
||||
message: "Standort erfolgreich hinzugefügt",
|
||||
});
|
||||
});
|
||||
} else {
|
||||
res.setHeader("Allow", ["POST"]);
|
||||
res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/deletePoi.js
|
||||
import mysql from "mysql";
|
||||
|
||||
// Datenbankkonfiguration
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
console.log("Verbunden als ID", connection.threadId);
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "DELETE") {
|
||||
return res.status(405).json({ error: "Nur DELETE Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { id } = req.query; // ID aus der Anfrage holen
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).json({ error: "POI ID ist erforderlich" });
|
||||
}
|
||||
|
||||
const query = "DELETE FROM poi WHERE idPoi = ?";
|
||||
connection.query(query, [id], (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Löschen des POI 4:", error);
|
||||
return res.status(500).json({ error: "Fehler beim Löschen des POI" });
|
||||
}
|
||||
if (results.affectedRows > 0) {
|
||||
res.json({ message: "POI erfolgreich gelöscht" });
|
||||
} else {
|
||||
res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/getPoiById.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method === "GET") {
|
||||
const { idPoi } = req.query;
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return res
|
||||
.status(500)
|
||||
.json({ error: "Verbindungsfehler zur Datenbank" });
|
||||
}
|
||||
|
||||
const query = "SELECT description FROM poi WHERE idPoi = ?";
|
||||
connection.query(query, [idPoi], (error, results) => {
|
||||
connection.end();
|
||||
if (error) {
|
||||
console.error("Fehler bei der Abfrage:", error);
|
||||
return res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
}
|
||||
if (results.length === 0) {
|
||||
return res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
res.status(200).json(results[0]);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
res.setHeader("Allow", ["GET"]);
|
||||
res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/poi-icons.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const query = `SELECT p.idPoi, i.path
|
||||
FROM poi p
|
||||
JOIN poiTyp pt ON p.idPoiTyp = pt.idPoiTyp
|
||||
JOIN poiicons i ON pt.icon = i.idpoiicons;`;
|
||||
|
||||
connection.query(query, (error, results) => {
|
||||
try {
|
||||
if (error) {
|
||||
throw error;
|
||||
}
|
||||
res.json(results);
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Abrufen der icons:", err);
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der icons" });
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/readLocations.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
//console.log("my dbconfig: ", dbConfig);
|
||||
export default function handler(req, res) {
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
res.status(500).json({ error: "Verbindungsfehler zur Datenbank" });
|
||||
return;
|
||||
}
|
||||
|
||||
//console.log("Verbunden als ID", connection.threadId);
|
||||
|
||||
connection.query("SELECT idPoi, description, idPoiTyp, idLD, ST_AsText(position) AS position FROM poi", (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Wichtig: Senden Sie die Antwort zurück
|
||||
res.status(200).json(results);
|
||||
/* console.log(
|
||||
"--------------- location.js ---------------",
|
||||
"results in location.js : ",
|
||||
results,
|
||||
"---------------------- location.js end ---------------------------"
|
||||
); */
|
||||
connection.end();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/updateLocation.js
|
||||
import mysql from "mysql";
|
||||
import util from "util";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
charset: "utf8mb4",
|
||||
};
|
||||
|
||||
export default async function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
res.setHeader("Allow", ["POST"]);
|
||||
return res.status(405).end(`Method ${req.method} Not Allowed`);
|
||||
}
|
||||
|
||||
const { id, latitude, longitude } = req.body;
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
// Promisify the query method
|
||||
const query = util.promisify(connection.query).bind(connection);
|
||||
|
||||
try {
|
||||
await query("UPDATE poi SET position = POINT(?, ?) WHERE idPoi = ?", [
|
||||
longitude,
|
||||
latitude,
|
||||
id,
|
||||
]);
|
||||
res.status(200).json({ success: true });
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ error: "Ein Fehler ist aufgetreten" });
|
||||
} finally {
|
||||
connection.end();
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
// pages/api/talas_v5_DB/pois/updatePoi.js
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
return;
|
||||
}
|
||||
//console.log("Verbunden als ID", connection.threadId);
|
||||
});
|
||||
|
||||
export default function handler(req, res) {
|
||||
if (req.method !== "POST") {
|
||||
return res.status(405).json({ error: "Nur POST Methode erlaubt" });
|
||||
}
|
||||
|
||||
const { idPoi, description, idPoiTyp, idLD } = req.body; // Stellen Sie sicher, dass die Felder korrekt benannt sind
|
||||
|
||||
//console.log("Empfangene Daten:", req.body); // Loggen der empfangenen Daten zur Überprüfung
|
||||
|
||||
if (!idPoi) {
|
||||
return res.status(400).json({ error: "POI ID ist erforderlich" });
|
||||
}
|
||||
|
||||
const query = "UPDATE talas_v5.poi SET description = ?, idPoiTyp = ?, idLD = ? WHERE idPoi = ?";
|
||||
connection.query(query, [description, idPoiTyp, idLD, idPoi], (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Aktualisieren des POI:", error);
|
||||
return res.status(500).json({ error: "Fehler beim Aktualisieren des POI" });
|
||||
}
|
||||
if (results.affectedRows > 0) {
|
||||
res.json({ message: "POI erfolgreich aktualisiert" });
|
||||
} else {
|
||||
res.status(404).json({ error: "POI nicht gefunden" });
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
// pages/api/talas_v5_DB/priorityConfig.js
|
||||
// in tals5 http://10.10.0.13/talas5/Management/PriorityConfig.aspx beinhaltet die Tabelle prio die Prioritäten der Meldungen (Level 1-4) oder (0-4) je nachdem DB-Design
|
||||
// das ist die API, die die Prioritäten zurückgibt
|
||||
|
||||
import mysql from "mysql";
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST,
|
||||
user: process.env.DB_USER,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
port: process.env.DB_PORT,
|
||||
};
|
||||
//console.log("my dbconfig: ", dbConfig);
|
||||
export default function handler(req, res) {
|
||||
const connection = mysql.createConnection(dbConfig);
|
||||
|
||||
connection.connect((err) => {
|
||||
if (err) {
|
||||
console.error("Fehler beim Verbinden:", err.stack);
|
||||
res.status(500).json({ error: "Verbindungsfehler zur Datenbank" });
|
||||
return;
|
||||
}
|
||||
|
||||
//console.log("Verbunden als ID", connection.threadId);
|
||||
//Fehler weil, existiertdie Tabelle auf localhost:3000 nicht
|
||||
connection.query("SELECT idprio, level, name, color FROM prio ", (error, results) => {
|
||||
if (error) {
|
||||
console.error("Fehler beim Abrufen der API", error);
|
||||
res.status(500).json({ error: "Fehler bei der Abfrage" });
|
||||
return;
|
||||
}
|
||||
|
||||
// Wichtig: Senden Sie die Antwort zurück
|
||||
res.status(200).json(results);
|
||||
|
||||
connection.end();
|
||||
});
|
||||
});
|
||||
}
|
||||
BIN
pages/api.zip
BIN
pages/api.zip
Binary file not shown.
@@ -31,7 +31,7 @@ export default async function handler(req, res) {
|
||||
|
||||
res.status(200).json(namesMap);
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Abrufen der Daten:", err);
|
||||
console.error("Fehler beim Abrufen der Daten /device/getAllStationsNames.js :", err);
|
||||
res.status(500).json({ error: "Error retrieving data from the database" });
|
||||
} finally {
|
||||
if (connection) connection.release(); // Gib die Verbindung zurück in den Pool
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
// /pages/api/talas_v5_DB/device/getAllStationsNamesMock.js
|
||||
|
||||
export default function handler(req, res) {
|
||||
// JSON-Daten hier
|
||||
const stationNames = {
|
||||
50035: "CPL Schulungssystem",
|
||||
50036: "CPL Varel",
|
||||
50039: "MIO Schulungssystem",
|
||||
50040: "LTE-Modem Belecke",
|
||||
50041: "LTE-Modem Halver",
|
||||
50042: "LTE-Modem Lipperbruch",
|
||||
50043: "GMA Bunde",
|
||||
50044: "GMA Albrechtsplatz",
|
||||
50045: "Cisco Router Engelbert",
|
||||
50046: "Cisco-Router Schmallenberg",
|
||||
50050: "GMA Testgerät",
|
||||
50051: "GMA Beleke",
|
||||
50052: "Router 1",
|
||||
50055: "Testgerät 2",
|
||||
50063: "Testgerät 1",
|
||||
50064: "CPL Meldestation A",
|
||||
50066: "CPL USV Raum",
|
||||
50067: "Kontrollmodul 1",
|
||||
50068: "Kontrollmodul 2",
|
||||
50071: "Testgerät MIK-245",
|
||||
50076: "SMS Funkmodem",
|
||||
50077: "Notrufserver",
|
||||
50078: "OGETest",
|
||||
50079: "OGETest",
|
||||
50080: "Insel",
|
||||
50081: "CPL Test",
|
||||
50082: "Buchhaim",
|
||||
50083: "Zählstelle B35",
|
||||
50084: "TEST JOL",
|
||||
50085: "KH Westerstede (Master CPL 232)",
|
||||
50086: "KH Oldenburg CPL 2 (Master CPL 233)",
|
||||
50087: "PWC Gebäude A (LON, Slave von 232)",
|
||||
50088: "PWC Gebäude B (CPL 231, Slave von 232)",
|
||||
50089: "LR 77",
|
||||
50091: "DC Server",
|
||||
50092: "DZ WIS 1",
|
||||
};
|
||||
|
||||
// Sende die JSON-Daten als Antwort
|
||||
res.status(200).json(stationNames);
|
||||
}
|
||||
@@ -1,751 +0,0 @@
|
||||
{
|
||||
"Name": "Liste aller Statis der Linien",
|
||||
"Zeitstempel": "2024-09-09T12:29:42.5075786+02:00",
|
||||
"IdMap": "12",
|
||||
"Statis": [
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 4,
|
||||
"DpName": "KUE04_Messwertalarm",
|
||||
"ModulName": "Ost LWL",
|
||||
"ModulTyp": "Kü605µF",
|
||||
"Message": "KÜG 04: Isolationsminderung kommend",
|
||||
"Level": 2,
|
||||
"PrioColor": "#FF9900",
|
||||
"PrioName": "major",
|
||||
"Value": "True"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 3,
|
||||
"DpName": "KUE03_Aderbruch",
|
||||
"ModulName": "Ost",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "KÜG 03: Aderbruch kommend",
|
||||
"Level": 1,
|
||||
"PrioColor": "#FF0000",
|
||||
"PrioName": "critical",
|
||||
"Value": "?"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 4,
|
||||
"DpName": "KUE04_Aderbruch",
|
||||
"ModulName": "Ost LWL",
|
||||
"ModulTyp": "Kü605µF",
|
||||
"Message": "KÜG 04: Aderbruch kommend",
|
||||
"Level": 1,
|
||||
"PrioColor": "#FF0000",
|
||||
"PrioName": "critical",
|
||||
"Value": "?"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 5,
|
||||
"DpName": "KUE05_Aderbruch",
|
||||
"ModulName": " West",
|
||||
"ModulTyp": "Kü605µC",
|
||||
"Message": "KÜG 05: Aderbruch kommend",
|
||||
"Level": 1,
|
||||
"PrioColor": "#FF0000",
|
||||
"PrioName": "critical",
|
||||
"Value": "?"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Aderbruch",
|
||||
"ModulName": "K54 AP12",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "KÜG 06: Aderbruch kommend",
|
||||
"Level": 1,
|
||||
"PrioColor": "#FF0000",
|
||||
"PrioName": "critical",
|
||||
"Value": "?"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 1,
|
||||
"DpName": "KUE01_Messwert",
|
||||
"ModulName": "Nord",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "51.5 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 2,
|
||||
"DpName": "KUE02_Messwert",
|
||||
"ModulName": "Süd",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "30 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Messwert",
|
||||
"ModulName": "K54 AP12",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 7,
|
||||
"DpName": "KUE07_Messwert",
|
||||
"ModulName": "Kreuzung 50Hz",
|
||||
"ModulTyp": "KÜSS V2",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 8,
|
||||
"DpName": "KUE08_Messwert",
|
||||
"ModulName": "Querung EWE",
|
||||
"ModulTyp": "KÜSS V2",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 21,
|
||||
"DpName": "KUE21_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.61 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 22,
|
||||
"DpName": "KUE22_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.72 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 1,
|
||||
"DpName": "KUE01_Schleifenwert",
|
||||
"ModulName": "Nord",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.61 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 2,
|
||||
"DpName": "KUE02_Schleifenwert",
|
||||
"ModulName": "Süd",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.79 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 4,
|
||||
"DpName": "KUE04_Schleifenwert",
|
||||
"ModulName": "Ost LWL",
|
||||
"ModulTyp": "Kü605µF",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "64.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 5,
|
||||
"DpName": "KUE05_Schleifenwert",
|
||||
"ModulName": " West",
|
||||
"ModulTyp": "Kü605µC",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "64.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Schleifenwert",
|
||||
"ModulName": "K54 AP12",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 7,
|
||||
"DpName": "KUE07_Schleifenwert",
|
||||
"ModulName": "Kreuzung 50Hz",
|
||||
"ModulTyp": "KÜSS V2",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50035,
|
||||
"Modul": 8,
|
||||
"DpName": "KUE08_Schleifenwert",
|
||||
"ModulName": "Querung EWE",
|
||||
"ModulTyp": "KÜSS V2",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 1,
|
||||
"DpName": "KUE01_Messwert",
|
||||
"ModulName": "Friedrichsfehn",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "10.5 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 2,
|
||||
"DpName": "KUE02_Messwert",
|
||||
"ModulName": "Köln",
|
||||
"ModulTyp": "Kü605µC",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "10 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 3,
|
||||
"DpName": "KUE03_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "200 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 4,
|
||||
"DpName": "KUE04_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 5,
|
||||
"DpName": "KUE05_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "11.5 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 8,
|
||||
"DpName": "KUE08_Messwert",
|
||||
"ModulName": "Köln",
|
||||
"ModulTyp": "KÜSS V2",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 Events"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 9,
|
||||
"DpName": "KUE09_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "11 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 10,
|
||||
"DpName": "KUE10_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "11 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 11,
|
||||
"DpName": "KUE11_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "11 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 12,
|
||||
"DpName": "KUE12_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "11 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 1,
|
||||
"DpName": "KUE01_Schleifenwert",
|
||||
"ModulName": "Friedrichsfehn",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "2.32 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 2,
|
||||
"DpName": "KUE02_Schleifenwert",
|
||||
"ModulName": "Köln",
|
||||
"ModulTyp": "Kü605µC",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "2.15 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "64.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 7,
|
||||
"DpName": "KUE07_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "64.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50036,
|
||||
"Modul": 8,
|
||||
"DpName": "KUE08_Schleifenwert",
|
||||
"ModulName": "Köln",
|
||||
"ModulTyp": "KÜSS V2",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 1,
|
||||
"DpName": "KUE01_Messwert",
|
||||
"ModulName": "Test 1",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 2,
|
||||
"DpName": "KUE02_Messwert",
|
||||
"ModulName": "Test 2",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 3,
|
||||
"DpName": "KUE03_Messwert",
|
||||
"ModulName": "Test 3",
|
||||
"ModulTyp": "Kü705-FO",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 4,
|
||||
"DpName": "KUE04_Messwert",
|
||||
"ModulName": "Test 4",
|
||||
"ModulTyp": "Kü605µF",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 5,
|
||||
"DpName": "KUE05_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 7,
|
||||
"DpName": "KUE07_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.1 Events"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 8,
|
||||
"DpName": "KUE08_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "51 Events"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 11,
|
||||
"DpName": "KUE11_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.59 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 12,
|
||||
"DpName": "KUE12_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.61 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 13,
|
||||
"DpName": "KUE13_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.58 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 14,
|
||||
"DpName": "KUE14_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.6 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 15,
|
||||
"DpName": "KUE15_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.6 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50071,
|
||||
"Modul": 16,
|
||||
"DpName": "KUE16_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0.57 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50082,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50082,
|
||||
"Modul": 7,
|
||||
"DpName": "KUE07_Messwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "10 MOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50082,
|
||||
"Modul": 6,
|
||||
"DpName": "KUE06_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50082,
|
||||
"Modul": 7,
|
||||
"DpName": "KUE07_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "2.74 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 1,
|
||||
"DpName": "KUE01_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "201 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 2,
|
||||
"DpName": "KUE02_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "201 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 3,
|
||||
"DpName": "KUE03_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "201 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 4,
|
||||
"DpName": "KUE04_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "0 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 11,
|
||||
"DpName": "KUE11_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "4.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 12,
|
||||
"DpName": "KUE12_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "4.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 13,
|
||||
"DpName": "KUE13_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "4.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 14,
|
||||
"DpName": "KUE14_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "4.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 15,
|
||||
"DpName": "KUE15_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "4.01 kOhm"
|
||||
},
|
||||
{
|
||||
"IdLD": 50086,
|
||||
"Modul": 16,
|
||||
"DpName": "KUE16_Schleifenwert",
|
||||
"ModulName": "?",
|
||||
"ModulTyp": "?",
|
||||
"Message": "?",
|
||||
"Level": -1,
|
||||
"PrioColor": "#ffffff",
|
||||
"PrioName": "?",
|
||||
"Value": "4.01 kOhm"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,34 +2,29 @@
|
||||
import getPool from "../../../../utils/mysqlPool"; // Singleton-Pool importieren
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const pool = getPool();
|
||||
const pool = getPool(); // Singleton-Pool verwenden
|
||||
let connection;
|
||||
|
||||
if (req.method !== "GET") {
|
||||
return res.status(405).json({ error: "Nur GET Methode erlaubt" });
|
||||
}
|
||||
|
||||
const databaseName = process.env.NEXT_PUBLIC_DB_NAME; //talas_v5
|
||||
const query = `SELECT * FROM ${databaseName}.gis_lines;`;
|
||||
const query = "SELECT * FROM gis_lines;";
|
||||
|
||||
try {
|
||||
// Verbindung aus dem Pool holen
|
||||
connection = await pool.getConnection();
|
||||
// Abfrage ausführen
|
||||
const [results] = await connection.query(query);
|
||||
|
||||
if (results.length > 0) {
|
||||
return res.status(200).json(results);
|
||||
res.status(200).json(results);
|
||||
} else {
|
||||
console.warn(`WARNUNG: Die Tabelle ${databaseName}.gis_lines ist leer oder existiert nicht.`);
|
||||
return res.status(200).json({ message: `Die Tabelle ${databaseName}.gis_lines ist leer oder existiert nicht.` });
|
||||
res.status(404).json({ error: "Keine Daten gefunden" });
|
||||
}
|
||||
} catch (error) {
|
||||
if (error.code === "ER_NO_SUCH_TABLE") {
|
||||
console.warn(`WARNUNG: Die Tabelle ${databaseName}.gis_lines existiert nicht.`);
|
||||
return res.status(200).json({ message: `Die Tabelle ${databaseName}.gis_lines existiert nicht.` });
|
||||
}
|
||||
console.error("Fehler beim Abrufen der gis_lines:", error);
|
||||
return res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" });
|
||||
} finally {
|
||||
if (connection) connection.release();
|
||||
if (connection) connection.release(); // Verbindung freigeben
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export default async function handler(req, res) {
|
||||
const [results] = await connection.query(query);
|
||||
|
||||
if (results.length === 0) {
|
||||
return res.status(404).json({ message: "Keine Einträge gefunden" });
|
||||
return res.status(200).json({ warning: "Keine Einträge gefunden in readPoiTyp.js" });
|
||||
}
|
||||
|
||||
res.status(200).json(results);
|
||||
|
||||
@@ -15,7 +15,7 @@ export default async function handler(req, res) {
|
||||
}
|
||||
|
||||
const query = `
|
||||
UPDATE talas_v5.poi
|
||||
UPDATE poi
|
||||
SET description = ?, idPoiTyp = ?, idLD = ?
|
||||
WHERE idPoi = ?
|
||||
`;
|
||||
|
||||
@@ -31,7 +31,7 @@ export default async function handler(req, res) {
|
||||
|
||||
res.status(200).json(namesMap);
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Abrufen der Daten:", err);
|
||||
console.error("Fehler beim Abrufen der Daten in /station/getAllStationsNames.js:", err);
|
||||
res.status(500).json({ error: "Error retrieving data from the database" });
|
||||
} finally {
|
||||
if (connection) connection.release(); // Gib die Verbindung zurück in den Pool
|
||||
|
||||
Reference in New Issue
Block a user