diff --git a/components/imports.js b/components/imports.js deleted file mode 100644 index 8cfda612b..000000000 --- a/components/imports.js +++ /dev/null @@ -1,163 +0,0 @@ -/* // imports.js -import React, { useEffect, useRef, useState, useCallback } from "react"; -import L, { marker } from "leaflet"; -import "leaflet/dist/leaflet.css"; -import "leaflet-contextmenu/dist/leaflet.contextmenu.css"; -import "leaflet-contextmenu"; -import * as config from "../config/config.js"; -import * as urls from "../config/urls.js"; -import "leaflet.smooth_marker_bouncing"; -import OverlappingMarkerSpiderfier from "overlapping-marker-spiderfier-leaflet"; -import DataSheet from "./DataSheet.js"; -import { useRecoilState, useRecoilValue, useSetRecoilState } from "recoil"; -import { gisStationsStaticDistrictState } from "../store/atoms/gisStationState.js"; -import { gisSystemStaticState } from "../store/atoms/gisSystemState.js"; -import { mapLayersState } from "../store/atoms/mapLayersState.js"; -import { selectedAreaState } from "../store/atoms/selectedAreaState.js"; -import { zoomTriggerState } from "../store/atoms/zoomTriggerState.js"; -import { poiTypState } from "../store/atoms/poiTypState.js"; -import AddPoiModalWindow from "./pois/AddPoiModalWindow.js"; -import { poiReadFromDbTriggerAtom } from "../store/atoms/poiReadFromDbTriggerAtom.js"; -import { InformationCircleIcon } from "@heroicons/react/20/solid"; // oder 'outline' -import PoiUpdateModal from "./pois/PoiUpdateModal.js"; -import { selectedPoiState } from "../store/atoms/poiState.js"; -import { currentPoiState } from "../store/atoms/currentPoiState.js"; -import { ToastContainer, toast } from "react-toastify"; -import "react-toastify/dist/ReactToastify.css"; -import { mapIdState, userIdState } from "../store/atoms/urlParameterState.js"; -import { poiLayerVisibleState } from "../store/atoms/poiLayerVisibleState.js"; -import plusRoundIcon from "./PlusRoundIcon.js"; -import { parsePoint, findClosestPoints } from "../utils/geometryUtils.js"; -import { insertNewPOI, removePOI, handleEditPoi } from "../utils/poiUtils.js"; -import { createAndSetDevices } from "../utils/createAndSetDevices.js"; -import { redrawPolyline, restoreMapSettings, checkOverlappingMarkers } from "../utils/mapUtils.js"; -import circleIcon from "./gisPolylines/icons/CircleIcon.js"; -import startIcon from "./gisPolylines/icons/StartIcon.js"; -import endIcon from "./gisPolylines/icons/EndIcon.js"; -import { fetchGisStatusStations, fetchPriorityConfig, fetchPoiData, updateLocationInDatabase, fetchUserRights, fetchDeviceNameById } from "../services/apiService.js"; -import { addContextMenuToMarker } from "../utils/addContextMenuToMarker.js"; -import { MAP_VERSION } from "../config/settings.js"; -import * as layers from "../config/layers.js"; -import { zoomIn, zoomOut, centerHere } from "../utils/zoomAndCenterUtils.js"; -import { initializeMap } from "../utils/initializeMap.js"; -import { addItemsToMapContextMenu } from "./useMapContextMenu.js"; -import useGmaMarkersLayer from "../hooks/layers/useGmaMarkersLayer.js"; // Import the custom hook -import useTalasMarkersLayer from "../hooks/layers/useTalasMarkersLayer.js"; // Import the custom hook -import useEciMarkersLayer from "../hooks/layers/useEciMarkersLayer.js"; -import useGsmModemMarkersLayer from "../hooks/layers/useGsmModemMarkersLayer.js"; -import useCiscoRouterMarkersLayer from "../hooks/layers/useCiscoRouterMarkersLayer.js"; -import useWagoMarkersLayer from "../hooks/layers/useWagoMarkersLayer.js"; -import useSiemensMarkersLayer from "../hooks/layers/useSiemensMarkersLayer.js"; -import useOtdrMarkersLayer from "../hooks/layers/useOtdrMarkersLayer.js"; -import useWdmMarkersLayer from "../hooks/layers/useWdmMarkersLayer.js"; -import useMessstellenMarkersLayer from "../hooks/layers/useMessstellenMarkersLayer.js"; -import useTalasiclMarkersLayer from "../hooks/layers/useTalasiclMarkersLayer.js"; -import useDauzMarkersLayer from "../hooks/layers/useDauzMarkersLayer.js"; -import useSmsfunkmodemMarkersLayer from "../hooks/layers/useSmsfunkmodemMarkersLayer.js"; -import useUlafMarkersLayer from "../hooks/layers/useUlafMarkersLayer.js"; -import useSonstigeMarkersLayer from "../hooks/layers/useSonstigeMarkersLayer.js"; -import handlePoiSelect from "../utils/handlePoiSelect.js"; -import { fetchGisStationsStaticDistrict, fetchGisStationsStatusDistrict, fetchGisStationsMeasurements, fetchGisSystemStatic } from "../services/fetchData.js"; -import { setupPolylines } from "../utils/setupPolylines.js"; -import { setupPOIs } from "../utils/setupPOIs.js"; -import VersionInfoModal from "./VersionInfoModal.js"; -//-------------------------------------------- -import PoiUpdateModalWrapper from "./pois/PoiUpdateModalWrapper"; -import AddPoiModalWindowWrapper from "./pois/AddPoiModalWindowWrapper"; -import useFetchPoiData from "../hooks/useFetchPoiData"; -import usePoiTypData from "../hooks/usePoiTypData"; -import useMarkerLayers from "../hooks/useMarkerLayers"; -import useLayerVisibility from "../hooks/useLayerVisibility"; -import useLineData from "../hooks/useLineData.js"; - -export { - React, - useEffect, - useRef, - useState, - useCallback, - L, - marker, - config, - urls, - OverlappingMarkerSpiderfier, - DataSheet, - useRecoilState, - useRecoilValue, - useSetRecoilState, - gisStationsStaticDistrictState, - gisSystemStaticState, - mapLayersState, - selectedAreaState, - zoomTriggerState, - poiTypState, - AddPoiModalWindow, - poiReadFromDbTriggerAtom, - InformationCircleIcon, - PoiUpdateModal, - selectedPoiState, - currentPoiState, - ToastContainer, - toast, - mapIdState, - userIdState, - poiLayerVisibleState, - plusRoundIcon, - parsePoint, - findClosestPoints, - insertNewPOI, - removePOI, - createAndSetDevices, - handleEditPoi, - redrawPolyline, - restoreMapSettings, - checkOverlappingMarkers, - circleIcon, - startIcon, - endIcon, - fetchGisStatusStations, - fetchPriorityConfig, - fetchPoiData, - updateLocationInDatabase, - fetchUserRights, - fetchDeviceNameById, - addContextMenuToMarker, - MAP_VERSION, - layers, - zoomIn, - zoomOut, - centerHere, - initializeMap, - addItemsToMapContextMenu, - useGmaMarkersLayer, - useTalasMarkersLayer, - useEciMarkersLayer, - useGsmModemMarkersLayer, - useCiscoRouterMarkersLayer, - useWagoMarkersLayer, - useSiemensMarkersLayer, - useOtdrMarkersLayer, - useWdmMarkersLayer, - useMessstellenMarkersLayer, - useTalasiclMarkersLayer, - useDauzMarkersLayer, - useSmsfunkmodemMarkersLayer, - useUlafMarkersLayer, - useSonstigeMarkersLayer, - handlePoiSelect, - fetchGisStationsStaticDistrict, - fetchGisStationsStatusDistrict, - fetchGisStationsMeasurements, - fetchGisSystemStatic, - setupPolylines, - setupPOIs, - VersionInfoModal, - PoiUpdateModalWrapper, - AddPoiModalWindowWrapper, - useFetchPoiData, - usePoiTypData, - useMarkerLayers, - useLayerVisibility, - useLineData, -}; - */ diff --git a/pages/api - Kopie/[...path].js b/pages/api - Kopie/[...path].js deleted file mode 100644 index b270661b1..000000000 --- a/pages/api - Kopie/[...path].js +++ /dev/null @@ -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 -}); diff --git a/pages/api - Kopie/get-talasIP.js b/pages/api - Kopie/get-talasIP.js deleted file mode 100644 index 1216fbbb7..000000000 --- a/pages/api - Kopie/get-talasIP.js +++ /dev/null @@ -1,20 +0,0 @@ -// pages/api/get-talasIP.js - -export default function handler(req, res) { - // Der x-forwarded-for Header könnte mehrere IP-Adressen enthalten, getrennt durch Kommas - let clientIp = - req.headers["x-forwarded-for"]?.split(",").map((ip) => ip.trim())[0] || - req.socket.remoteAddress; - - // Entfernen möglicher IPv6 "mapped" IPv4 Adressen - if (clientIp?.includes("::ffff:")) { - clientIp = clientIp.split("::ffff:")[1]; - } - - // Nur IPv4 Adressen weitergeben, IPv6 Adressen ausschließen - if (clientIp && clientIp.includes(":")) { - clientIp = ""; // Dies setzt die IP auf leer, wenn es sich um eine IPv6-Adresse handelt - } - - res.status(200).json({ ip: clientIp }); -} diff --git a/pages/api - Kopie/gis-proxy.js b/pages/api - Kopie/gis-proxy.js deleted file mode 100644 index b76883298..000000000 --- a/pages/api - Kopie/gis-proxy.js +++ /dev/null @@ -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") || ""; - }); -}; diff --git a/pages/api - Kopie/linesColorApi.js b/pages/api - Kopie/linesColorApi.js deleted file mode 100644 index 57ee59262..000000000 --- a/pages/api - Kopie/linesColorApi.js +++ /dev/null @@ -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); -} diff --git a/pages/api - Kopie/rights.js b/pages/api - Kopie/rights.js deleted file mode 100644 index 507228147..000000000 --- a/pages/api - Kopie/rights.js +++ /dev/null @@ -1,29 +0,0 @@ -// pages/api/rights.js - -export default function handler(req, res) { - const { idMap, idUser } = req.query; - - // Beispielhafte Rechte, die je nach idMap und idUser variieren können - const rights = { - '10': [ - { IdRight: 1, Name: "Zugriff auf Dashboard" }, - { IdRight: 56, Name: "Erweiterte Berechtigungen" } - ], - '2': [ - { IdRight: 2, Name: "Zugriff auf Einstellungen" } - ], - '1': [ - { IdRight: 10, Name: "Admin-Zugriff" }, - { IdRight: 11, Name: "Zugriff auf alle Daten" } - ] - }; - - // Prüfung, ob eine gültige idMap und idUser vorhanden sind - if (rights[idMap] && idUser === '484') { - // Rückgabe der spezifischen Rechte basierend auf der idMap und idUser - res.status(200).json({ Rights: rights[idMap] }); - } else { - // Rückgabe leerer Rechte für ungültige idMap oder andere Benutzer - res.status(200).json({ Rights: [] }); - } -} diff --git a/pages/api - Kopie/talas5/area.js b/pages/api - Kopie/talas5/area.js deleted file mode 100644 index 9205aa5ca..000000000 --- a/pages/api - Kopie/talas5/area.js +++ /dev/null @@ -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(); - }); - }); -} diff --git a/pages/api - Kopie/talas5/location_device.js b/pages/api - Kopie/talas5/location_device.js deleted file mode 100644 index 9292690e0..000000000 --- a/pages/api - Kopie/talas5/location_device.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas5/webserviceMap/GisStationsMeasurements.js b/pages/api - Kopie/talas5/webserviceMap/GisStationsMeasurements.js deleted file mode 100644 index 5aba69fc6..000000000 --- a/pages/api - Kopie/talas5/webserviceMap/GisStationsMeasurements.js +++ /dev/null @@ -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'); - } - }; \ No newline at end of file diff --git a/pages/api - Kopie/talas5/webserviceMap/GisStationsStaticDistrict.js b/pages/api - Kopie/talas5/webserviceMap/GisStationsStaticDistrict.js deleted file mode 100644 index bf302f3d7..000000000 --- a/pages/api - Kopie/talas5/webserviceMap/GisStationsStaticDistrict.js +++ /dev/null @@ -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'); - } - }; \ No newline at end of file diff --git a/pages/api - Kopie/talas5/webserviceMap/GisStationsStatusDistrict.js b/pages/api - Kopie/talas5/webserviceMap/GisStationsStatusDistrict.js deleted file mode 100644 index ae7c25bde..000000000 --- a/pages/api - Kopie/talas5/webserviceMap/GisStationsStatusDistrict.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas5/webserviceMap/GisSystemStatic.js b/pages/api - Kopie/talas5/webserviceMap/GisSystemStatic.js deleted file mode 100644 index b2fb56635..000000000 --- a/pages/api - Kopie/talas5/webserviceMap/GisSystemStatic.js +++ /dev/null @@ -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'); - } -}; \ No newline at end of file diff --git a/pages/api - Kopie/talas5/webserviceMap/gisStationsMeasurementsSQL.js b/pages/api - Kopie/talas5/webserviceMap/gisStationsMeasurementsSQL.js deleted file mode 100644 index 90c535086..000000000 --- a/pages/api - Kopie/talas5/webserviceMap/gisStationsMeasurementsSQL.js +++ /dev/null @@ -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); - }); -} diff --git a/pages/api - Kopie/talas_v5_DB/gisLines/readGisLines.js b/pages/api - Kopie/talas_v5_DB/gisLines/readGisLines.js deleted file mode 100644 index d734ed011..000000000 --- a/pages/api - Kopie/talas_v5_DB/gisLines/readGisLines.js +++ /dev/null @@ -1,34 +0,0 @@ -// /pages/api/talas_v5_DB/gisLines/readGisLines.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 talas_v5.gis_lines;"; - - try { - const [results] = await pool.query(query); - if (results.length > 0) { - res.status(200).json(results); - } else { - res.status(404).json({ error: "Gerät nicht gefunden" }); - } - } catch (error) { - console.error("Fehler beim Abrufen der gis_lines:", error); - res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/gisLines/updateLineCoordinates.js b/pages/api - Kopie/talas_v5_DB/gisLines/updateLineCoordinates.js deleted file mode 100644 index 4271160a0..000000000 --- a/pages/api - Kopie/talas_v5_DB/gisLines/updateLineCoordinates.js +++ /dev/null @@ -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(); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/locationDevice/getDeviceId.js b/pages/api - Kopie/talas_v5_DB/locationDevice/getDeviceId.js deleted file mode 100644 index 8b2326316..000000000 --- a/pages/api - Kopie/talas_v5_DB/locationDevice/getDeviceId.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/locationDevice/locationDeviceNameById.js b/pages/api - Kopie/talas_v5_DB/locationDevice/locationDeviceNameById.js deleted file mode 100644 index 575541547..000000000 --- a/pages/api - Kopie/talas_v5_DB/locationDevice/locationDeviceNameById.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/locationDevice/locationDevices.js b/pages/api - Kopie/talas_v5_DB/locationDevice/locationDevices.js deleted file mode 100644 index 082dc2929..000000000 --- a/pages/api - Kopie/talas_v5_DB/locationDevice/locationDevices.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/poiTyp/readPoiTyp.js b/pages/api - Kopie/talas_v5_DB/poiTyp/readPoiTyp.js deleted file mode 100644 index baff8f83d..000000000 --- a/pages/api - Kopie/talas_v5_DB/poiTyp/readPoiTyp.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/pois/addLocation.js b/pages/api - Kopie/talas_v5_DB/pois/addLocation.js deleted file mode 100644 index 864835647..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/addLocation.js +++ /dev/null @@ -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`); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/pois/deletePoi.js b/pages/api - Kopie/talas_v5_DB/pois/deletePoi.js deleted file mode 100644 index e9132bd6b..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/deletePoi.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/pois/getPoiById.js b/pages/api - Kopie/talas_v5_DB/pois/getPoiById.js deleted file mode 100644 index 3bd2f1023..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/getPoiById.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/pois/poi-icons.js b/pages/api - Kopie/talas_v5_DB/pois/poi-icons.js deleted file mode 100644 index 407704538..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/poi-icons.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/pois/readLocations.js b/pages/api - Kopie/talas_v5_DB/pois/readLocations.js deleted file mode 100644 index 308de78af..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/readLocations.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/pois/updateLocation.js b/pages/api - Kopie/talas_v5_DB/pois/updateLocation.js deleted file mode 100644 index ee61070f2..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/updateLocation.js +++ /dev/null @@ -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(); - } -} */ diff --git a/pages/api - Kopie/talas_v5_DB/pois/updatePoi.js b/pages/api - Kopie/talas_v5_DB/pois/updatePoi.js deleted file mode 100644 index bc3356a2f..000000000 --- a/pages/api - Kopie/talas_v5_DB/pois/updatePoi.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/priorityConfig.js b/pages/api - Kopie/talas_v5_DB/priorityConfig.js deleted file mode 100644 index 719007020..000000000 --- a/pages/api - Kopie/talas_v5_DB/priorityConfig.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api - Kopie/talas_v5_DB/station/getAllStationsNames.js b/pages/api - Kopie/talas_v5_DB/station/getAllStationsNames.js deleted file mode 100644 index 0d5d5ca05..000000000 --- a/pages/api - Kopie/talas_v5_DB/station/getAllStationsNames.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api back30/[...path].js b/pages/api back30/[...path].js deleted file mode 100644 index 0578e8448..000000000 --- a/pages/api back30/[...path].js +++ /dev/null @@ -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 -}); diff --git a/pages/api back30/get-talasIP.js b/pages/api back30/get-talasIP.js deleted file mode 100644 index 1216fbbb7..000000000 --- a/pages/api back30/get-talasIP.js +++ /dev/null @@ -1,20 +0,0 @@ -// pages/api/get-talasIP.js - -export default function handler(req, res) { - // Der x-forwarded-for Header könnte mehrere IP-Adressen enthalten, getrennt durch Kommas - let clientIp = - req.headers["x-forwarded-for"]?.split(",").map((ip) => ip.trim())[0] || - req.socket.remoteAddress; - - // Entfernen möglicher IPv6 "mapped" IPv4 Adressen - if (clientIp?.includes("::ffff:")) { - clientIp = clientIp.split("::ffff:")[1]; - } - - // Nur IPv4 Adressen weitergeben, IPv6 Adressen ausschließen - if (clientIp && clientIp.includes(":")) { - clientIp = ""; // Dies setzt die IP auf leer, wenn es sich um eine IPv6-Adresse handelt - } - - res.status(200).json({ ip: clientIp }); -} diff --git a/pages/api back30/gis-proxy.js b/pages/api back30/gis-proxy.js deleted file mode 100644 index b76883298..000000000 --- a/pages/api back30/gis-proxy.js +++ /dev/null @@ -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") || ""; - }); -}; diff --git a/pages/api back30/linesColorApi.js b/pages/api back30/linesColorApi.js deleted file mode 100644 index 57ee59262..000000000 --- a/pages/api back30/linesColorApi.js +++ /dev/null @@ -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); -} diff --git a/pages/api back30/rights.js b/pages/api back30/rights.js deleted file mode 100644 index 507228147..000000000 --- a/pages/api back30/rights.js +++ /dev/null @@ -1,29 +0,0 @@ -// pages/api/rights.js - -export default function handler(req, res) { - const { idMap, idUser } = req.query; - - // Beispielhafte Rechte, die je nach idMap und idUser variieren können - const rights = { - '10': [ - { IdRight: 1, Name: "Zugriff auf Dashboard" }, - { IdRight: 56, Name: "Erweiterte Berechtigungen" } - ], - '2': [ - { IdRight: 2, Name: "Zugriff auf Einstellungen" } - ], - '1': [ - { IdRight: 10, Name: "Admin-Zugriff" }, - { IdRight: 11, Name: "Zugriff auf alle Daten" } - ] - }; - - // Prüfung, ob eine gültige idMap und idUser vorhanden sind - if (rights[idMap] && idUser === '484') { - // Rückgabe der spezifischen Rechte basierend auf der idMap und idUser - res.status(200).json({ Rights: rights[idMap] }); - } else { - // Rückgabe leerer Rechte für ungültige idMap oder andere Benutzer - res.status(200).json({ Rights: [] }); - } -} diff --git a/pages/api back30/talas5/area.js b/pages/api back30/talas5/area.js deleted file mode 100644 index 9205aa5ca..000000000 --- a/pages/api back30/talas5/area.js +++ /dev/null @@ -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(); - }); - }); -} diff --git a/pages/api back30/talas5/location_device.js b/pages/api back30/talas5/location_device.js deleted file mode 100644 index 8c956f459..000000000 --- a/pages/api back30/talas5/location_device.js +++ /dev/null @@ -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(); - }); - }); -} diff --git a/pages/api back30/talas5/webserviceMap/GisStationsMeasurements.js b/pages/api back30/talas5/webserviceMap/GisStationsMeasurements.js deleted file mode 100644 index 5aba69fc6..000000000 --- a/pages/api back30/talas5/webserviceMap/GisStationsMeasurements.js +++ /dev/null @@ -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'); - } - }; \ No newline at end of file diff --git a/pages/api back30/talas5/webserviceMap/GisStationsStaticDistrict.js b/pages/api back30/talas5/webserviceMap/GisStationsStaticDistrict.js deleted file mode 100644 index bf302f3d7..000000000 --- a/pages/api back30/talas5/webserviceMap/GisStationsStaticDistrict.js +++ /dev/null @@ -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'); - } - }; \ No newline at end of file diff --git a/pages/api back30/talas5/webserviceMap/GisStationsStatusDistrict.js b/pages/api back30/talas5/webserviceMap/GisStationsStatusDistrict.js deleted file mode 100644 index 9d0f2024c..000000000 --- a/pages/api back30/talas5/webserviceMap/GisStationsStatusDistrict.js +++ /dev/null @@ -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(); - } - } -} diff --git a/pages/api back30/talas5/webserviceMap/GisSystemStatic.js b/pages/api back30/talas5/webserviceMap/GisSystemStatic.js deleted file mode 100644 index b2fb56635..000000000 --- a/pages/api back30/talas5/webserviceMap/GisSystemStatic.js +++ /dev/null @@ -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'); - } -}; \ No newline at end of file diff --git a/pages/api back30/talas5/webserviceMap/gisStationsMeasurementsSQL.js b/pages/api back30/talas5/webserviceMap/gisStationsMeasurementsSQL.js deleted file mode 100644 index de3670b6d..000000000 --- a/pages/api back30/talas5/webserviceMap/gisStationsMeasurementsSQL.js +++ /dev/null @@ -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); - }); -} \ No newline at end of file diff --git a/pages/api back30/talas_v5_DB/gisLines/readGisLines.js b/pages/api back30/talas_v5_DB/gisLines/readGisLines.js deleted file mode 100644 index 7d8900a83..000000000 --- a/pages/api back30/talas_v5_DB/gisLines/readGisLines.js +++ /dev/null @@ -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" }); - } - }); -} diff --git a/pages/api back30/talas_v5_DB/gisLines/updateLineCoordinates.js b/pages/api back30/talas_v5_DB/gisLines/updateLineCoordinates.js deleted file mode 100644 index 48dfa36bc..000000000 --- a/pages/api back30/talas_v5_DB/gisLines/updateLineCoordinates.js +++ /dev/null @@ -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, - }); - }); - }); - }); -} diff --git a/pages/api back30/talas_v5_DB/locationDevice/getDeviceId.js b/pages/api back30/talas_v5_DB/locationDevice/getDeviceId.js deleted file mode 100644 index fa373c80c..000000000 --- a/pages/api back30/talas_v5_DB/locationDevice/getDeviceId.js +++ /dev/null @@ -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" }); - } - }); -} diff --git a/pages/api back30/talas_v5_DB/locationDevice/locationDeviceNameById.js b/pages/api back30/talas_v5_DB/locationDevice/locationDeviceNameById.js deleted file mode 100644 index efccd89d9..000000000 --- a/pages/api back30/talas_v5_DB/locationDevice/locationDeviceNameById.js +++ /dev/null @@ -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" }); - } -} diff --git a/pages/api back30/talas_v5_DB/locationDevice/locationDevices.js b/pages/api back30/talas_v5_DB/locationDevice/locationDevices.js deleted file mode 100644 index bfaf57654..000000000 --- a/pages/api back30/talas_v5_DB/locationDevice/locationDevices.js +++ /dev/null @@ -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); - }); -} diff --git a/pages/api back30/talas_v5_DB/poiTyp/readPoiTyp.js b/pages/api back30/talas_v5_DB/poiTyp/readPoiTyp.js deleted file mode 100644 index 062c442cd..000000000 --- a/pages/api back30/talas_v5_DB/poiTyp/readPoiTyp.js +++ /dev/null @@ -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`); - } -} diff --git a/pages/api back30/talas_v5_DB/pois/addLocation.js b/pages/api back30/talas_v5_DB/pois/addLocation.js deleted file mode 100644 index 118704d7d..000000000 --- a/pages/api back30/talas_v5_DB/pois/addLocation.js +++ /dev/null @@ -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`); - } -} diff --git a/pages/api back30/talas_v5_DB/pois/deletePoi.js b/pages/api back30/talas_v5_DB/pois/deletePoi.js deleted file mode 100644 index 780a1b755..000000000 --- a/pages/api back30/talas_v5_DB/pois/deletePoi.js +++ /dev/null @@ -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" }); - } - }); -} diff --git a/pages/api back30/talas_v5_DB/pois/getPoiById.js b/pages/api back30/talas_v5_DB/pois/getPoiById.js deleted file mode 100644 index 4ebf5b62c..000000000 --- a/pages/api back30/talas_v5_DB/pois/getPoiById.js +++ /dev/null @@ -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`); - } -} diff --git a/pages/api back30/talas_v5_DB/pois/poi-icons.js b/pages/api back30/talas_v5_DB/pois/poi-icons.js deleted file mode 100644 index ee092c226..000000000 --- a/pages/api back30/talas_v5_DB/pois/poi-icons.js +++ /dev/null @@ -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" }); - } - }); -} diff --git a/pages/api back30/talas_v5_DB/pois/readLocations.js b/pages/api back30/talas_v5_DB/pois/readLocations.js deleted file mode 100644 index 98a33cc88..000000000 --- a/pages/api back30/talas_v5_DB/pois/readLocations.js +++ /dev/null @@ -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(); - }); - }); -} diff --git a/pages/api back30/talas_v5_DB/pois/updateLocation.js b/pages/api back30/talas_v5_DB/pois/updateLocation.js deleted file mode 100644 index 625be5a75..000000000 --- a/pages/api back30/talas_v5_DB/pois/updateLocation.js +++ /dev/null @@ -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(); - } -} diff --git a/pages/api back30/talas_v5_DB/pois/updatePoi.js b/pages/api back30/talas_v5_DB/pois/updatePoi.js deleted file mode 100644 index 0eb9eeed3..000000000 --- a/pages/api back30/talas_v5_DB/pois/updatePoi.js +++ /dev/null @@ -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" }); - } - }); -} diff --git a/pages/api back30/talas_v5_DB/priorityConfig.js b/pages/api back30/talas_v5_DB/priorityConfig.js deleted file mode 100644 index 06bfefe3d..000000000 --- a/pages/api back30/talas_v5_DB/priorityConfig.js +++ /dev/null @@ -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(); - }); - }); -} diff --git a/pages/api/talas5/area.js b/pages/api/talas5/area.js deleted file mode 100644 index 69f571c97..000000000 --- a/pages/api/talas5/area.js +++ /dev/null @@ -1,24 +0,0 @@ -// pages/api/talas_v5/area.js -// Lesen von talas_v5 MySQL-Datenbank -> area Tabelle enthält DAUZ Geräte - -import getPool from "../../utils/mysqlPool"; // Verwende den Singleton-Pool - -export default async function handler(req, res) { - let connection; - - try { - const pool = getPool(); // Hole den Pool - connection = await pool.getConnection(); // Hole die Verbindung - - // Führe die Abfrage aus - const [results] = await connection.query("SELECT id, name FROM area WHERE id = ?", [req.query.id]); - - // Sende die 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" }); - } finally { - if (connection) connection.release(); // Gib die Verbindung zurück in den Pool - } -} diff --git a/pages/api/talas5/location_device.js b/pages/api/talas5/location_device.js deleted file mode 100644 index 40e901412..000000000 --- a/pages/api/talas5/location_device.js +++ /dev/null @@ -1,36 +0,0 @@ -// /pages/api/talas5/location_device.js -import getPool from "../../../utils/mysqlPool"; // Import Singleton-Pool - -// API-Handler -export default async function handler(req, res) { - const pool = getPool(); // Singleton-Pool verwenden - - let connection; - try { - // SQL-Query, um die Geräteinformationen aus location_device und devices zu erhalten - const sql = ` - SELECT ld.idLD, ld.iddevice, ld.name, d.idsystem_typ - FROM location_device ld - JOIN devices d ON ld.iddevice = d.iddevice - ORDER BY ld.name - `; - - connection = await pool.getConnection(); - - // Führe die Abfrage durch - const [results] = await connection.query(sql); - - if (!results.length) { - return res.status(404).json({ error: "Keine Geräte gefunden" }); - } - - // Geben Sie die Daten zurück - res.status(200).json(results); - } catch (error) { - // Loggen Sie den Fehler und geben Sie ihn zurück - console.error("Fehler beim Abrufen der Geräteinformationen:", error); - res.status(500).json({ error: "Fehler beim Abrufen der Geräteinformationen" }); - } finally { - if (connection) connection.release(); - } -} diff --git a/pages/api/talas5/webserviceMap/GisStationsMeasurements.js b/pages/api/talas5/webserviceMap/GisStationsMeasurements.js deleted file mode 100644 index 5aba69fc6..000000000 --- a/pages/api/talas5/webserviceMap/GisStationsMeasurements.js +++ /dev/null @@ -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'); - } - }; \ No newline at end of file diff --git a/pages/api/talas5/webserviceMap/GisStationsStaticDistrict.js b/pages/api/talas5/webserviceMap/GisStationsStaticDistrict.js deleted file mode 100644 index bf302f3d7..000000000 --- a/pages/api/talas5/webserviceMap/GisStationsStaticDistrict.js +++ /dev/null @@ -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'); - } - }; \ No newline at end of file diff --git a/pages/api/talas5/webserviceMap/GisStationsStatusDistrict.js b/pages/api/talas5/webserviceMap/GisStationsStatusDistrict.js deleted file mode 100644 index 27b0b442b..000000000 --- a/pages/api/talas5/webserviceMap/GisStationsStatusDistrict.js +++ /dev/null @@ -1,81 +0,0 @@ -// /pages/api/talas5/webserviceMap/GisStationsStatusDistrict.js -import getPool from "../../../../utils/mysqlPool"; // Singleton-Pool importieren - -export default async function handler(req, res) { - const pool = getPool(); // Singleton-Pool verwenden - let connection; // Verbindung deklarieren - - const { idMap, idUser } = req.query; - - if (!idMap || !idUser) { - return res.status(400).json({ error: "idMap and idUser are required" }); - } - - try { - // Verbindung aus dem Pool holen - connection = await pool.getConnection(); - - let onlySystem = -1; - let districtCounter = 0; - - // Get onlySystem - const [mapResult] = await connection.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 connection.query("SELECT count(*) as count FROM user_User_layer1 WHERE iduser = ?", [idUser]); - districtCounter = userLayerResult[0].count; - } - - // Query erstellen - 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 connection.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" }); - } finally { - // Stelle sicher, dass die Verbindung zurück in den Pool gegeben wird - if (connection) connection.release(); - } -} diff --git a/pages/api/talas5/webserviceMap/GisSystemStatic.js b/pages/api/talas5/webserviceMap/GisSystemStatic.js deleted file mode 100644 index 2bd6c09ce..000000000 --- a/pages/api/talas5/webserviceMap/GisSystemStatic.js +++ /dev/null @@ -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"); - } -} diff --git a/pages/api/talas5/webserviceMap/gisStationsMeasurementsSQL.js b/pages/api/talas5/webserviceMap/gisStationsMeasurementsSQL.js deleted file mode 100644 index 7912816d4..000000000 --- a/pages/api/talas5/webserviceMap/gisStationsMeasurementsSQL.js +++ /dev/null @@ -1,56 +0,0 @@ -// /pages/api/talas5/webserviceMap/gisStationsMeasurementsSQL.js -import getPool from "../../../../utils/mysqlPool"; // Singleton-Pool importieren - -export default function handler(req, res) { - const pool = getPool(); // Singleton-Pool verwenden - - 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); - }); -}