diff --git a/packages/nodes-base/nodes/Aws/GenericFunctions.ts b/packages/nodes-base/nodes/Aws/GenericFunctions.ts index b90efb85ff..6ffa92c8ee 100644 --- a/packages/nodes-base/nodes/Aws/GenericFunctions.ts +++ b/packages/nodes-base/nodes/Aws/GenericFunctions.ts @@ -28,7 +28,7 @@ export async function awsApiRequest(this: IHookFunctions | IExecuteFunctions | I uri: `https://${endpoint}${signOpts.path}`, body: signOpts.body, }; - console.log('aja') + try { return await this.helpers.request!(options); } catch (error) { diff --git a/packages/nodes-base/nodes/Aws/S3/AwsS3.node.ts b/packages/nodes-base/nodes/Aws/S3/AwsS3.node.ts index 8a4d5fd0a0..ada1835b39 100644 --- a/packages/nodes-base/nodes/Aws/S3/AwsS3.node.ts +++ b/packages/nodes-base/nodes/Aws/S3/AwsS3.node.ts @@ -1,7 +1,21 @@ + +import { + snakeCase, + paramCase, +} from 'change-case'; + +import { + createHash, +} from 'crypto'; + +import { + Builder, +} from 'xml2js'; + import { - IExecuteFunctions, BINARY_ENCODING, - } from 'n8n-core'; + IExecuteFunctions, +} from 'n8n-core'; import { IBinaryKeyData, @@ -17,13 +31,13 @@ import { } from './BucketDescription'; import { - folderOperations, - folderFields, + folderFields, + folderOperations, } from './FolderDescription'; import { - fileOperations, fileFields, + fileOperations, } from './FileDescription'; import { @@ -32,19 +46,6 @@ import { awsApiRequestSOAPAllItems, } from './GenericFunctions'; -import { - snakeCase, - paramCase, -} from 'change-case'; - -import { - createHash, - } from 'crypto'; - -import { - Builder, - } from 'xml2js'; - export class AwsS3 implements INodeType { description: INodeTypeDescription = { displayName: 'AWS S3', @@ -76,16 +77,16 @@ export class AwsS3 implements INodeType { name: 'Bucket', value: 'bucket', }, - { - name: 'Folder', - value: 'folder', - }, { name: 'File', value: 'file', }, + { + name: 'Folder', + value: 'folder', + }, ], - default: 'bucket', + default: 'file', description: 'The operation to perform.', }, // BUCKET @@ -142,10 +143,16 @@ export class AwsS3 implements INodeType { '$': { xmlns: 'http://s3.amazonaws.com/doc/2006-03-01/', }, - LocationConstraint: [credentials!.region], } }; + // For some reasons does AWS not allow to supply "us-east-1" if you want to + // create it there it has to be empty?!?! + if (credentials!.region !== 'us-east-1') { + // @ts-ignore + body.CreateBucketConfiguration.LocationConstraint = [credentials!.region]; + } + const builder = new Builder(); const data = builder.buildObject(body); diff --git a/packages/nodes-base/nodes/Aws/S3/FileDescription.ts b/packages/nodes-base/nodes/Aws/S3/FileDescription.ts index fabebdd968..b1c6d133ac 100644 --- a/packages/nodes-base/nodes/Aws/S3/FileDescription.ts +++ b/packages/nodes-base/nodes/Aws/S3/FileDescription.ts @@ -41,7 +41,7 @@ export const fileOperations = [ description: 'Upload a file', }, ], - default: 'copy', + default: 'download', description: 'The operation to perform.', }, ] as INodeProperties[]; diff --git a/packages/nodes-base/nodes/Aws/S3/GenericFunctions.ts b/packages/nodes-base/nodes/Aws/S3/GenericFunctions.ts index 3c292edc47..e27ce52ba6 100644 --- a/packages/nodes-base/nodes/Aws/S3/GenericFunctions.ts +++ b/packages/nodes-base/nodes/Aws/S3/GenericFunctions.ts @@ -1,14 +1,18 @@ import { sign, - } from 'aws4'; +} from 'aws4'; + +import { + get, +} from 'lodash'; import { OptionsWithUri, - } from 'request'; +} from 'request'; import { parseString, - } from 'xml2js'; +} from 'xml2js'; import { IExecuteFunctions, @@ -21,10 +25,6 @@ import { IDataObject, } from 'n8n-workflow'; -import { - get, -} from 'lodash'; - export async function awsApiRequest(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions | IWebhookFunctions, service: string, method: string, path: string, body?: string | Buffer, query: IDataObject = {}, headers?: object, option: IDataObject = {}): Promise { // tslint:disable-line:no-any const credentials = this.getCredentials('aws'); if (credentials === undefined) {