UNPKG

node-red-contrib-displayext-node

Version:

A node for software DisplayEXT

42 lines (34 loc) 1.58 kB
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); };