mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Allow env var access to context
This commit is contained in:
		| @@ -719,6 +719,14 @@ class Flow { | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     getContext(scope) { | ||||
|         if (scope === 'flow') { | ||||
|             return this.context | ||||
|         } else if (scope === 'global') { | ||||
|             return context.get('global') | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     dump() { | ||||
|         console.log("==================") | ||||
|         console.log(this.TYPE, this.id); | ||||
|   | ||||
| @@ -49,6 +49,14 @@ class Group { | ||||
|         } | ||||
|         return this.parent.getSetting(key); | ||||
|     } | ||||
|  | ||||
|     error(msg) { | ||||
|         this.parent.error(msg); | ||||
|     } | ||||
|  | ||||
|     getContext(scope) { | ||||
|         return this.parent.getContext(scope); | ||||
|     } | ||||
| } | ||||
|  | ||||
| module.exports = { | ||||
|   | ||||
| @@ -100,7 +100,24 @@ async function evaluateEnvProperties(flow, env, credentials) { | ||||
|             } | ||||
|         } else if (type ==='jsonata') { | ||||
|             pendingEvaluations.push(new Promise((resolve, _) => { | ||||
|                 redUtil.evaluateNodeProperty(value, 'jsonata', {_flow: flow}, null, (err, result) => { | ||||
|                 redUtil.evaluateNodeProperty(value, 'jsonata',{ | ||||
|                     // Fake a node object to provide access to _flow and context | ||||
|                     _flow: flow, | ||||
|                     context: () => { | ||||
|                         return { | ||||
|                             flow: { | ||||
|                                 get: (value, store, callback) => { | ||||
|                                     return flow.getContext('flow').get(value, store, callback) | ||||
|                                 } | ||||
|                             }, | ||||
|                             global: { | ||||
|                                 get: (value, store, callback) => { | ||||
|                                     return flow.getContext('global').get(value, store, callback) | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|                 }, null, (err, result) => { | ||||
|                     if (!err) { | ||||
|                         if (typeof result  === 'object') { | ||||
|                             result = { value: result, __clone__: true} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user