UNPKG

node-red-contrib-displayext-node

Version:

A node for software DisplayEXT

48 lines (39 loc) 1.76 kB
const fs = require("fs"); const path = require("path"); module.exports = function(RED) { function SaveDataNode(config) { RED.nodes.createNode(this, config); const node = this; // Définition du fichier de sauvegarde dans le dossier du module const dataFilePath = path.join(__dirname, "..", "dataMedia.json"); node.on("input", function(msg) { if (msg.payload && typeof msg.payload === "object" && msg.payload.name) { let savedData = []; // Charger les données existantes if (fs.existsSync(dataFilePath)) { try { savedData = JSON.parse(fs.readFileSync(dataFilePath, "utf8")); } catch (error) { node.error("Erreur de lecture du fichier JSON", error); return; } } // Ajouter la nouvelle donnée savedData.push({ name: msg.payload.name }); // Sauvegarder dans le fichier try { fs.writeFileSync(dataFilePath, JSON.stringify(savedData, null, 2)); node.log("Nom de média sauvegardé !"); } catch (error) { node.error("Erreur d'écriture dans le fichier JSON", error); return; } // Retourner la confirmation node.send({ payload: "Nom de média sauvegardé avec succès !" }); } else { node.error("Format de payload incorrect !"); } }); } RED.nodes.registerType("save-dataMedia", SaveDataNode); };