// 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();
  }
}
