// /pages/api/talas_v5_DB/area/readArea.js import getPool from "../../../../utils/mysqlPool"; // Singleton-Pool importieren export default async function handler(req, res) { const pool = getPool(); // Singleton-Pool verwenden if (req.method !== "GET") { return res.status(405).json({ error: "Nur GET Methode erlaubt" }); } const { m: idMaps, idLocation } = req.query; // URL-Parameter "m" und "idLocation" if (!idMaps) { return res.status(400).json({ error: "idMaps (Parameter 'm') ist erforderlich" }); } //let query = "SELECT * FROM location_coordinates WHERE idMaps = ?"; /* let query = ` SELECT l.name, l.shortname, lc.idMaps FROM talas_v5.location l JOIN talas_v5.location_coordinates lc ON l.idlocation = lc.idlocation WHERE lc.idMap = ? `; */ /* let query = ` SELECT * FROM talas_v5.location l JOIN talas_v5.location_coordinates lc ON l.idlocation = lc.idlocation WHERE lc.idMaps=?; `; */ let query = ` SELECT l.idlocation, l.name AS location_name, lc.idMaps, a.name AS area_name, lc.x, lc.y FROM talas_v5.location l JOIN talas_v5.location_coordinates lc ON l.idlocation = lc.idlocation JOIN talas_v5.area a ON l.idarea = a.idarea WHERE lc.idMaps = ?; `; const queryParams = [idMaps]; if (idLocation) { query += " AND idLocation = ?"; queryParams.push(idLocation); } let connection; try { connection = await pool.getConnection(); // Verbindung aus dem Pool holen // SQL-Abfrage ausführen const [results] = await connection.query(query, queryParams); if (results.length > 0) { // Ergebnisse formatieren und zurückgeben const formattedResults = results.map((row) => ({ idLocation: row.idlocation, // Prüfe hier auf korrekten Spaltennamen x: row.x, y: row.y, idMaps: row.idMaps, location_name: row.location_name, // Hinzufügen des Alias aus der SQL-Abfrage area_name: row.area_name, // Hinzufügen des Alias aus der SQL-Abfrage })); res.status(200).json(formattedResults); } else { res.status(404).json({ error: "Keine Koordinaten gefunden" }); } } catch (error) { console.error("Fehler beim Abrufen der Koordinaten:", error); res.status(500).json({ error: "Interner Serverfehler beim Abrufen der Koordinaten" }); } finally { if (connection) connection.release(); // Verbindung in den Pool zurückgeben } }