22 lines
No EOL
940 B
JavaScript
22 lines
No EOL
940 B
JavaScript
const {GristDocAPI} = require('grist-api');
|
|
|
|
module.exports = function(RED) {
|
|
function RecordsNode(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 ? "https" : "http";
|
|
const url=protocol+"://"+this.server.hostname+":"+this.server.port;
|
|
|
|
const api = new GristDocAPI(this.document.docid,{apiKey:this.server.apiKey,server:url});
|
|
api.fetchTable(this.table).then(data => {
|
|
node.send({payload:data,topic:this.table})
|
|
}).catch(reason => done(reason,"Failed to perform grist request to "+url));
|
|
|
|
});
|
|
}
|
|
RED.nodes.registerType("records",RecordsNode);
|
|
} |