Files
nodeMap/pages/api/deviceColorFinder.js

58 lines
1.5 KiB
JavaScript

// pages/api//deviceColorFinder.js
// API für Gerätekonfiguration basierend auf dynamischer idLD
import getPool from "../../utils/mysqlPool"; // Singleton-Pool importieren
export default async function handler(req, res) {
const pool = getPool(); // Singleton-Pool verwenden
let connection;
try {
// Holen Sie die idLD aus der Query (z.B. /api/talas_v5_DB/deviceConfig?idLD=50922)
const { idLD } = req.query;
// Überprüfen, ob idLD übergeben wurde
if (!idLD) {
return res.status(400).json({ error: "idLD ist erforderlich" });
}
// Verbindung zur Datenbank aufbauen
connection = await pool.getConnection();
// SQL-Abfrage ausführen
const query = `
SELECT
l.idLD AS location_id,
l.name AS location_name,
p.idprio AS prio_id,
p.name AS prio_name,
p.color AS prio_color,
p.level AS prio_level,
d.idDP AS datapoint_id,
d.name AS datapoint_name
FROM
location_device l
JOIN
datapoint d
ON
l.idLD = d.idLD
JOIN
prio p
ON
p.idprio = d.idprio
WHERE
l.idLD = ?;`;
const [results] = await connection.query(query, [idLD]);
// Antwort zurücksenden
res.status(200).json(results);
} catch (error) {
console.error("Fehler beim Abrufen der API", error);
res.status(500).json({ error: "Fehler bei der Abfrage" });
} finally {
// Verbindung freigeben
if (connection) connection.release();
}
}