node-red-contrib-displayext-node
Version:
A node for software DisplayEXT
42 lines (34 loc) • 1.58 kB
JavaScript
const fs = require("fs");
const path = require("path");
module.exports = function (RED) {
function LoadDataNode(config) {
RED.nodes.createNode(this, config);
const node = this;
const dataFilePath = path.join(__dirname, "..", "data.json");
const dataMediaFilePath = path.join(__dirname, "..", "dataMedia.json");
node.on("input", function (msg) {
// Vérifier si le message contient l'action "reload"
if (msg.payload === "reload") {
let data = [];
let dataMedia = [];
try {
if (fs.existsSync(dataFilePath)) {
data = JSON.parse(fs.readFileSync(dataFilePath, "utf8"));
}
if (fs.existsSync(dataMediaFilePath)) {
dataMedia = JSON.parse(fs.readFileSync(dataMediaFilePath, "utf8"));
}
} catch (err) {
node.error("Erreur lors de la lecture des fichiers : " + err);
}
// Ajouter dataMedia directement dans le payload
msg.payload = { data, dataMedia };
node.send(msg); // Envoyer le message avec les données
} else {
// Si ce n'est pas "reload", ne rien faire ou envoyer un message différent si besoin
node.warn("Le message ne contient pas l'action 'reload'.");
}
});
}
RED.nodes.registerType("load-data", LoadDataNode);
};