// /pages/api/talas_v5_DB/gisLines/readGisLines.js import mysql from "mysql2/promise"; import { store } from "../../../redux/store"; // Redux-Store importieren // Erstellen eines Pools von Datenbankverbindungen const pool = mysql.createPool({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, port: process.env.DB_PORT, waitForConnections: true, connectionLimit: 10, queueLimit: 0, }); export default async function handler(req, res) { if (req.method !== "GET") { return res.status(405).json({ error: "Nur GET Methode erlaubt" }); } // **Hole `idLD`-Werte aus Redux** const state = store.getState(); const activeLines = state.lineVisibility.activeLines; const activeIds = Object.keys(activeLines); // Alle `idLD` in Redux if (activeIds.length === 0) { return res.status(404).json({ error: "Keine aktiven Geräte in Redux gefunden" }); } // **SQL-Query mit Filterung** const query = ` SELECT * FROM talas_v5.gis_lines WHERE idLD IN (${activeIds.map(() => "?").join(",")});`; try { console.log("🔍 Aktive Linien in Redux:", activeIds); const [results] = await pool.query(query, activeIds); // Verwende aktive `idLD` als Parameter if (results.length > 0) { res.status(200).json(results); console.log("✅ GIS-Linien erfolgreich abgerufen:", results.length, "Linien gefunden."); } else { res.status(404).json({ error: "Keine passenden Linien gefunden" }); } } catch (error) { console.error("Fehler beim Abrufen der gis_lines:", error); res.status(500).json({ error: "Fehler beim Abrufen der gis_lines" }); } }