🚀 Release 0.222.0 (#5786)
This commit is contained in:
committed by
GitHub
parent
dd20127961
commit
e92a993694
@@ -285,7 +285,7 @@ export class Aws implements ICredentialType {
|
||||
const method = requestOptions.method;
|
||||
let body = requestOptions.body;
|
||||
let region = credentials.region;
|
||||
const query = requestOptions.qs?.query as IDataObject;
|
||||
let query = requestOptions.qs?.query as IDataObject;
|
||||
|
||||
// ! Workaround as we still use the OptionsWithUri interface which uses uri instead of url
|
||||
// ! To change when we replace the interface with IHttpRequestOptions
|
||||
@@ -295,8 +295,12 @@ export class Aws implements ICredentialType {
|
||||
endpoint = new URL(requestOptions.url);
|
||||
if (service === 'sts') {
|
||||
try {
|
||||
endpoint.searchParams.set('Action', 'GetCallerIdentity');
|
||||
endpoint.searchParams.set('Version', '2011-06-15');
|
||||
if (requestWithUri.qs?.Action !== 'GetCallerIdentity') {
|
||||
query = requestWithUri.qs;
|
||||
} else {
|
||||
endpoint.searchParams.set('Action', 'GetCallerIdentity');
|
||||
endpoint.searchParams.set('Version', '2011-06-15');
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
@@ -342,6 +346,7 @@ export class Aws implements ICredentialType {
|
||||
endpoint = customUrl;
|
||||
}
|
||||
}
|
||||
|
||||
if (query && Object.keys(query).length !== 0) {
|
||||
Object.keys(query).forEach((key) => {
|
||||
endpoint.searchParams.append(key, query[key] as string);
|
||||
|
||||
@@ -29,6 +29,9 @@ export class GoogleApi implements ICredentialType {
|
||||
description:
|
||||
'Enter the private key located in the JSON file downloaded from Google Cloud Console',
|
||||
required: true,
|
||||
typeOptions: {
|
||||
password: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
displayName: 'Impersonate a User',
|
||||
|
||||
@@ -12,9 +12,7 @@ function isTraversable(maybe: unknown): maybe is IDataObject {
|
||||
* Stringify any non-standard JS objects (e.g. `Date`, `RegExp`) inside output items at any depth.
|
||||
*/
|
||||
export function standardizeOutput(output: IDataObject) {
|
||||
const knownObjects = new WeakSet();
|
||||
|
||||
function standardizeOutputRecursive(obj: IDataObject): IDataObject {
|
||||
function standardizeOutputRecursive(obj: IDataObject, knownObjects = new WeakSet()): IDataObject {
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
if (!isTraversable(value)) continue;
|
||||
|
||||
@@ -29,7 +27,7 @@ export function standardizeOutput(output: IDataObject) {
|
||||
obj[key] =
|
||||
value.constructor.name !== 'Object'
|
||||
? JSON.stringify(value) // Date, RegExp, etc.
|
||||
: standardizeOutputRecursive(value);
|
||||
: standardizeOutputRecursive(value, knownObjects);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
@@ -536,9 +536,15 @@ export class GoogleSheet {
|
||||
columnNames.indexOf(name),
|
||||
);
|
||||
|
||||
let updateValue = item[name] as string;
|
||||
if (typeof updateValue === 'object') {
|
||||
try {
|
||||
updateValue = JSON.stringify(updateValue);
|
||||
} catch (error) {}
|
||||
}
|
||||
updateData.push({
|
||||
range: `${decodedRange.name}!${columnToUpdate}${updateRowIndex}`,
|
||||
values: [[item[name] as string]],
|
||||
values: [[updateValue]],
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "n8n-nodes-base",
|
||||
"version": "0.219.0",
|
||||
"version": "0.220.0",
|
||||
"description": "Base nodes of n8n",
|
||||
"license": "SEE LICENSE IN LICENSE.md",
|
||||
"homepage": "https://n8n.io",
|
||||
|
||||
Reference in New Issue
Block a user