mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-23 11:44:06 -08:00
⚡ Small fixes and fix that some nodes changed incoming data
This commit is contained in:
parent
fc4952f022
commit
a8f1f9c0ba
|
@ -1,4 +1,4 @@
|
|||
## n8n - Workflow Automation
|
||||
# n8n - Workflow Automation
|
||||
|
||||
![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/docs/images/n8n-logo.png)
|
||||
|
||||
|
|
|
@ -254,7 +254,7 @@ export function getNodeWebhookUrl(name: string, workflow: Workflow, node: INode,
|
|||
return undefined;
|
||||
}
|
||||
|
||||
return NodeHelpers.getNodeWebhookUrl(baseUrl, workflow.id!, node, path);
|
||||
return NodeHelpers.getNodeWebhookUrl(baseUrl, workflow.id!, node, path.toString());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ export default mixins(nodeBase, workflowHelpers).extend({
|
|||
},
|
||||
nodeSubtitle (): string | undefined {
|
||||
if (this.nodeType !== null && this.nodeType.subtitle !== undefined) {
|
||||
return this.workflow.getSimpleParameterValue(this.data as INode, this.nodeType.subtitle);
|
||||
return this.workflow.getSimpleParameterValue(this.data as INode, this.nodeType.subtitle) as string | undefined;
|
||||
}
|
||||
|
||||
if (this.data.parameters.operation !== undefined) {
|
||||
|
|
|
@ -466,7 +466,6 @@ export default mixins(
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
Vue.set(this.nodeValues, 'parameters', JSON.parse(JSON.stringify(this.node.parameters)));
|
||||
} else {
|
||||
this.nodeValid = false;
|
||||
|
|
|
@ -92,10 +92,8 @@ export class ExecuteCommand implements INodeType {
|
|||
items = [items[0]];
|
||||
}
|
||||
|
||||
let item: INodeExecutionData;
|
||||
const returnItems: INodeExecutionData[] = [];
|
||||
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
||||
item = items[itemIndex];
|
||||
|
||||
command = this.getNodeParameter('command', itemIndex) as string;
|
||||
|
||||
const {
|
||||
|
@ -105,13 +103,17 @@ export class ExecuteCommand implements INodeType {
|
|||
stderr,
|
||||
} = await execPromise(command);
|
||||
|
||||
item.json = {
|
||||
exitCode,
|
||||
stderr,
|
||||
stdout,
|
||||
};
|
||||
returnItems.push(
|
||||
{
|
||||
json: {
|
||||
exitCode,
|
||||
stderr,
|
||||
stdout,
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return this.prepareOutputData(items);
|
||||
return this.prepareOutputData(returnItems);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -129,10 +129,10 @@ export class HttpRequest implements INodeType {
|
|||
name: 'String',
|
||||
value: 'string'
|
||||
},
|
||||
{
|
||||
name: 'XML (not implemented)',
|
||||
value: 'xml'
|
||||
},
|
||||
// {
|
||||
// name: 'XML (not implemented)',
|
||||
// value: 'xml'
|
||||
// },
|
||||
],
|
||||
default: 'json',
|
||||
description: 'The format in which the data gets returned from the URL.',
|
||||
|
@ -325,10 +325,6 @@ export class HttpRequest implements INodeType {
|
|||
async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
|
||||
const items = this.getInputData();
|
||||
|
||||
if (items.length === 0) {
|
||||
items.push({json: {}});
|
||||
}
|
||||
|
||||
// TODO: Should have a setting which makes clear that this parameter can not change for each item
|
||||
const requestMethod = this.getNodeParameter('requestMethod', 0) as string;
|
||||
const parametersAreJson = this.getNodeParameter('jsonParameters', 0) as boolean;
|
||||
|
@ -362,6 +358,7 @@ export class HttpRequest implements INodeType {
|
|||
},
|
||||
};
|
||||
|
||||
const returnItems: INodeExecutionData[] = [];
|
||||
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
||||
item = items[itemIndex];
|
||||
|
||||
|
@ -431,14 +428,14 @@ export class HttpRequest implements INodeType {
|
|||
const response = await this.helpers.request(requestOptions);
|
||||
|
||||
if (responseFormat === 'json') {
|
||||
item.json = response;
|
||||
} else if (responseFormat === 'xml') {
|
||||
// TODO: Not implemented yet
|
||||
returnItems.push({ json: response });
|
||||
// } else if (responseFormat === 'xml') {
|
||||
// // TODO: Not implemented yet
|
||||
} else {
|
||||
item.json.reponse = response;
|
||||
returnItems.push({ json: { response } });
|
||||
}
|
||||
}
|
||||
|
||||
return this.prepareOutputData(items);
|
||||
return this.prepareOutputData(returnItems);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ export class Merge implements INodeType {
|
|||
icon: 'fa:code-branch',
|
||||
group: ['transform'],
|
||||
version: 1,
|
||||
subtitle: '={{$parameter["mode"]}}',
|
||||
description: 'Merges data of multiple streams once data of both is available',
|
||||
defaults: {
|
||||
name: 'Merge',
|
||||
|
|
|
@ -515,6 +515,8 @@ export function getNodeWebhooks(workflow: Workflow, node: INode, additionalData:
|
|||
continue;
|
||||
}
|
||||
|
||||
nodeWebhookPath = nodeWebhookPath.toString();
|
||||
|
||||
if (nodeWebhookPath.charAt(0) === '/') {
|
||||
nodeWebhookPath = nodeWebhookPath.slice(1);
|
||||
}
|
||||
|
@ -530,7 +532,7 @@ export function getNodeWebhooks(workflow: Workflow, node: INode, additionalData:
|
|||
}
|
||||
|
||||
returnData.push({
|
||||
httpMethod: httpMethod as WebhookHttpMethod,
|
||||
httpMethod: httpMethod.toString() as WebhookHttpMethod,
|
||||
node: node.name,
|
||||
path,
|
||||
webhookDescription,
|
||||
|
|
|
@ -688,7 +688,7 @@ export class Workflow {
|
|||
* @returns {(string | undefined)}
|
||||
* @memberof Workflow
|
||||
*/
|
||||
getSimpleParameterValue(node: INode, parameterValue: string | undefined, defaultValue?: string): string | undefined {
|
||||
getSimpleParameterValue(node: INode, parameterValue: string | undefined, defaultValue?: boolean | number | string): boolean | number | string | undefined {
|
||||
if (parameterValue === undefined) {
|
||||
// Value is not set so return the default
|
||||
return defaultValue;
|
||||
|
@ -704,7 +704,7 @@ export class Workflow {
|
|||
}
|
||||
};
|
||||
|
||||
return this.getParameterValue(parameterValue, runData, runIndex, itemIndex, node.name, connectionInputData) as string | undefined;
|
||||
return this.getParameterValue(parameterValue, runData, runIndex, itemIndex, node.name, connectionInputData) as boolean | number | string | undefined;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -102,7 +102,6 @@ let nodeTypesInstance: NodeTypesClass | undefined;
|
|||
export function NodeTypes(): NodeTypesClass {
|
||||
if (nodeTypesInstance === undefined) {
|
||||
nodeTypesInstance = new NodeTypesClass();
|
||||
nodeTypesInstance.init({});
|
||||
}
|
||||
|
||||
return nodeTypesInstance;
|
||||
|
|
Loading…
Reference in a new issue