From 16244df4388c17a4822b75b54fb1f6e71a5c84fc Mon Sep 17 00:00:00 2001 From: Cyrille Date: Wed, 8 May 2019 17:27:54 +0100 Subject: [PATCH] Created clean.js --- clean.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 47 insertions(+) create mode 100644 clean.js diff --git a/clean.js b/clean.js new file mode 100644 index 0000000..5341ac5 --- /dev/null +++ b/clean.js @@ -0,0 +1,46 @@ +console.log('Emptying the bucket.'); + +require('dotenv').config(); + +var accessKeyId = process.env.AWS_ACCESS_KEY_ID +secretAccessKey = process.env.AWS_SECRET_ACCESS_KEY +regionName = process.env.AWS_BUCKET_REGION +bucketName = process.env.AWS_BUCKET_NAME + +var AWS = require('aws-sdk'); +AWS.config.setPromisesDependency(Promise); +AWS.config.update({ + region: regionName + , credentials: new AWS.Credentials({ + accessKeyId: accessKeyId + , secretAccessKey: secretAccessKey + }) +}); + +const s3 = new AWS.S3({ apiVersion: '2006-03-01' }); + +s3.listObjects({ Bucket: bucketName }).promise().then((data) => { + + if (data.Contents.length <= 0) { + console.log('Your bucket is already empty :)'); + return + } + + var objectKeys = []; + + for (let i = 0; i < data.Contents.length; i++) { + objectKeys.push({ + Key: data.Contents[i].Key + }) + } + + s3.deleteObjects({ Delete: { Objects: objectKeys }, Bucket: bucketName }).promise().then((data) => { + console.log('Your bucket was emptied :)'); + }).catch((err) => { + console.error(err.message); + throw err; + }); +}).catch((err) => { + console.error(err.message); + throw err; +}); \ No newline at end of file diff --git a/package.json b/package.json index c5cdf97..6a4e02e 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "S3 backed challenge strategy for greenlock-express.js (and greenlock.js)", "main": "index.js", "scripts": { + "clean": "node ./clean.js", "test": "node ./test.js" }, "repository": {