1
1
mirror of https://github.com/n8n-io/n8n.git synced 2024-10-08 02:28:57 +03:00

fix(Metabase Node): Fix issue with question results not correctly being returned (#5665)

This commit is contained in:
Jon 2023-03-14 17:47:37 +00:00 committed by GitHub
parent 8fe34f543e
commit d1e3c192ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,10 +1,4 @@
import type { import type { IDataObject, INodeProperties } from 'n8n-workflow';
IDataObject,
IExecuteSingleFunctions,
IN8nHttpFullResponse,
INodeExecutionData,
INodeProperties,
} from 'n8n-workflow';
import { jsonParse } from 'n8n-workflow'; import { jsonParse } from 'n8n-workflow';
export const questionsOperations: INodeProperties[] = [ export const questionsOperations: INodeProperties[] = [
@ -56,43 +50,38 @@ export const questionsOperations: INodeProperties[] = [
}, },
output: { output: {
postReceive: [ postReceive: [
// @ts-ignore async function (this, items, responseData) {
async function ( const datatype = this.getNodeParameter('format') as string;
this: IExecuteSingleFunctions,
_items: INodeExecutionData[],
response: IN8nHttpFullResponse,
): Promise<INodeExecutionData[]> {
const items = _items;
const result: INodeExecutionData[] = [];
for (let i = 0; i < items.length; i++) {
const newItem: INodeExecutionData = {
json: items[i].json,
binary: {},
};
if (items[i].binary !== undefined && newItem.binary) { if (datatype !== 'json') {
Object.assign(newItem.binary, items[i].binary); const binaryData = await this.helpers.prepareBinaryData(
} responseData.body as Buffer,
items[i] = newItem; 'data',
if (this.getNode().parameters.format === 'json') { responseData.headers['content-type'] as string,
items[i].json = jsonParse<IDataObject[]>(items[i].json as unknown as string)[0]; );
console.log(items[i].json);
delete items[i].binary; // Transform items
} else { items = items.map((item) => {
items[i].binary!.data = await this.helpers.prepareBinaryData( item.json = {};
response.body as Buffer, item.binary = { ['data']: binaryData };
'data', return item;
response.headers['content-type'] as string, });
); } else {
} const results = jsonParse<IDataObject[]>(responseData.body as unknown as string);
result.push(items[i]); items = results.map((result) => {
return {
json: {
...result,
},
};
});
} }
return result; return items;
}, },
], ],
}, },
}, },
action: 'Result Data a questions', action: 'Get the results from a question',
}, },
], ],
default: 'getAll', default: 'getAll',