Added more nodes

This commit is contained in:
Michael Kolb 2023-12-27 17:22:03 +01:00
parent a33c6da509
commit 1dc5e9fdb1
16 changed files with 228 additions and 10 deletions

View file

@ -0,0 +1,24 @@
const { GristDocAPI } = require('grist-api');
const mustache = require('mustache');
module.exports = function (RED) {
function UpdateRecordsNode(config) {
RED.nodes.createNode(this, config);
let node = this;
this.document = RED.nodes.getNode(config.document);
this.server = RED.nodes.getNode(config.server);
this.table = config.tableId
node.on('input', async function (msg, send, done) {
const protocol = this.server.tlsEnabled === true ? "https" : "http";
const url = protocol + "://" + this.server.hostname + ":" + this.server.port;
const api = new GristDocAPI(this.document.docid, { apiKey: this.server.apiKey, server: url });
const data = Array.isArray(msg.payload) ? msg.payload : [msg.payload]
api.updateRecords(this.table, data).then(data => {
node.send({ payload: data, topic: this.table })
}).catch(reason => done(reason, "Failed to perform grist request to " + url));
});
}
RED.nodes.registerType("grist-update-records", UpdateRecordsNode);
}