diff --git a/node-red-grist/get-records.html b/node-red-grist/get-records.html index 7262ce0..a49a410 100644 --- a/node-red-grist/get-records.html +++ b/node-red-grist/get-records.html @@ -55,6 +55,9 @@

The input message object is available for the filter property via mustache template syntax.

+

+ msg.filter When leaving the node property 'filter' empty, the filter can be set by the input message property msg.filter. +

Outputs

Array of grist rows (records). diff --git a/node-red-grist/get-records.js b/node-red-grist/get-records.js index 0c9b434..8fb98c8 100644 --- a/node-red-grist/get-records.js +++ b/node-red-grist/get-records.js @@ -12,7 +12,8 @@ module.exports = function (RED) { 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 filter = this.filter && this.filter !== "" ? JSON.parse(mustache.render(this.filter, { msg })) : undefined + const msg_input_filter = msg.filter ? msg.filter : undefined + const filter = this.filter && this.filter !== "" ? JSON.parse(mustache.render(this.filter, { msg })) : msg_input_filter node.log(`filter evaluated to: ${JSON.stringify(filter)}`) const api = new GristDocAPI(this.document.docid, { apiKey: this.server.apiKey, server: url }); api.fetchTable(this.table, filter).then(data => { diff --git a/package.json b/package.json index 9065db7..b361a04 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@gorootde/node-red-grist", - "version": "2.1.0", + "version": "2.2.0", "description": "getgrist.com connectivity for NodeRed", "main": "index.js", "packageManager": "yarn@3.3.1", diff --git a/yarn.lock b/yarn.lock index 12cfaed..99dff6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,170 +1,78 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 -__metadata: - version: 6 - cacheKey: 8 -"@gorootde/node-red-grist@workspace:.": - version: 0.0.0-use.local - resolution: "@gorootde/node-red-grist@workspace:." +"axios@^0.21.1": + "version" "0.21.4" dependencies: - grist-api: ^0.1.7 - mustache: ^4.2.0 - node-fetch: ^3.3.2 - languageName: unknown - linkType: soft + "follow-redirects" "^1.14.0" -"axios@npm:^0.21.1": - version: 0.21.4 - resolution: "axios@npm:0.21.4" +"data-uri-to-buffer@^4.0.0": + "version" "4.0.1" + +"debug@^4.1.1": + "version" "4.3.4" dependencies: - follow-redirects: ^1.14.0 - checksum: 44245f24ac971e7458f3120c92f9d66d1fc695e8b97019139de5b0cc65d9b8104647db01e5f46917728edfc0cfd88eb30fc4c55e6053eef4ace76768ce95ff3c - languageName: node - linkType: hard + "ms" "2.1.2" -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c - languageName: node - linkType: hard - -"debug@npm:^4.1.1": - version: 4.3.4 - resolution: "debug@npm:4.3.4" +"fetch-blob@^3.1.2", "fetch-blob@^3.1.4": + "version" "3.2.0" dependencies: - ms: 2.1.2 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 - languageName: node - linkType: hard + "node-domexception" "^1.0.0" + "web-streams-polyfill" "^3.0.3" -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" +"follow-redirects@^1.14.0": + "version" "1.15.3" + +"formdata-polyfill@^4.0.10": + "version" "4.0.10" dependencies: - node-domexception: ^1.0.0 - web-streams-polyfill: ^3.0.3 - checksum: f19bc28a2a0b9626e69fd7cf3a05798706db7f6c7548da657cbf5026a570945f5eeaedff52007ea35c8bcd3d237c58a20bf1543bc568ab2422411d762dd3d5bf - languageName: node - linkType: hard + "fetch-blob" "^3.1.2" -"follow-redirects@npm:^1.14.0": - version: 1.15.3 - resolution: "follow-redirects@npm:1.15.3" - peerDependenciesMeta: - debug: - optional: true - checksum: 584da22ec5420c837bd096559ebfb8fe69d82512d5585004e36a3b4a6ef6d5905780e0c74508c7b72f907d1fa2b7bd339e613859e9c304d0dc96af2027fd0231 - languageName: node - linkType: hard - -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" +"fs-extra@^8.1.0": + "version" "8.1.0" dependencies: - fetch-blob: ^3.1.2 - checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db - languageName: node - linkType: hard + "graceful-fs" "^4.2.0" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" +"graceful-fs@^4.1.6", "graceful-fs@^4.2.0": + "version" "4.2.11" + +"grist-api@^0.1.7": + "version" "0.1.7" dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard + "axios" "^0.21.1" + "debug" "^4.1.1" + "fs-extra" "^8.1.0" + "lodash" "^4.17.19" -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 - languageName: node - linkType: hard +"jsonfile@^4.0.0": + "version" "4.0.0" + optionalDependencies: + "graceful-fs" "^4.1.6" -"grist-api@npm:^0.1.7": - version: 0.1.7 - resolution: "grist-api@npm:0.1.7" +"lodash@^4.17.19": + "version" "4.17.21" + +"ms@2.1.2": + "version" "2.1.2" + +"mustache@^4.2.0": + "version" "4.2.0" + +"node-domexception@^1.0.0": + "version" "1.0.0" + +"node-fetch@^3.3.2": + "version" "3.3.2" dependencies: - axios: ^0.21.1 - debug: ^4.1.1 - fs-extra: ^8.1.0 - lodash: ^4.17.19 - checksum: bbae4ef4f8aa74748b0f1074fc6c50653644f0cdc7ce7e62f209cf72ee647be7ceaf7f0513f3bd8ec4efc66cde80cf6ed867e99767f31559766532846c098e29 - languageName: node - linkType: hard + "data-uri-to-buffer" "^4.0.0" + "fetch-blob" "^3.1.4" + "formdata-polyfill" "^4.0.10" -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.6 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e - languageName: node - linkType: hard +"universalify@^0.1.0": + "version" "0.1.2" -"lodash@npm:^4.17.19": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f - languageName: node - linkType: hard - -"mustache@npm:^4.2.0": - version: 4.2.0 - resolution: "mustache@npm:4.2.0" - bin: - mustache: bin/mustache - checksum: 928fcb63e3aa44a562bfe9b59ba202cccbe40a46da50be6f0dd831b495be1dd7e38ca4657f0ecab2c1a89dc7bccba0885eab7ee7c1b215830da765758c7e0506 - languageName: node - linkType: hard - -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f - languageName: node - linkType: hard - -"node-fetch@npm:^3.3.2": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: ^4.0.0 - fetch-blob: ^3.1.4 - formdata-polyfill: ^4.0.10 - checksum: 06a04095a2ddf05b0830a0d5302699704d59bda3102894ea64c7b9d4c865ecdff2d90fd042df7f5bc40337266961cb6183dcc808ea4f3000d024f422b462da92 - languageName: node - linkType: hard - -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff - languageName: node - linkType: hard - -"web-streams-polyfill@npm:^3.0.3": - version: 3.2.1 - resolution: "web-streams-polyfill@npm:3.2.1" - checksum: b119c78574b6d65935e35098c2afdcd752b84268e18746606af149e3c424e15621b6f1ff0b42b2676dc012fc4f0d313f964b41a4b5031e525faa03997457da02 - languageName: node - linkType: hard +"web-streams-polyfill@^3.0.3": + "version" "3.2.1"