- Externe Webservices von TALAS V5 integriert und geprüft (Statuscode + Antwortstruktur) - Eigene API-Endpunkte wie /api/talas_v5_DB/getDevices hinzugefügt und validiert - Prüfung von NEXT_PUBLIC_USE_MOCKS zur Vermeidung von Mockdaten in Produktion - Validierung der Umgebungsvariablen wie DB_HOST, DB_NAME und NODE_ENV ergänzt - Response-Status 200 bei vollständigem Erfolg, 207 bei Teilfehlern - Verbesserung der JSON-Antwortstruktur zur einfacheren Analyse
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
// /pages/api/talas_v5_DB/device/getDevices.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 {
|
|
// Lade die Daten der aktiven Systeme aus localStorage, z.B. über einen Parameter oder Body
|
|
const { activeSystems } = req.body || []; // Array von aktiven system_typ IDs
|
|
|
|
// SQL-Query: Verknüpfe die Tabellen location_device, devices und system_typ
|
|
const sql = `SELECT * FROM devices`;
|
|
|
|
connection = await pool.getConnection();
|
|
|
|
// Führe die Abfrage mit den aktiven Systems durch
|
|
const [results] = await connection.query(sql);
|
|
|
|
if (!results.length) {
|
|
return res.status(404).json({ error: "Keine passenden Geräte gefunden" });
|
|
}
|
|
|
|
res.status(200).json(results);
|
|
} catch (error) {
|
|
console.error("Fehler beim Abrufen der gefilterten Geräteinformationen:", error);
|
|
res.status(500).json({ error: "Fehler beim Abrufen der Geräteinformationen" });
|
|
} finally {
|
|
if (connection) connection.release();
|
|
}
|
|
}
|