Skip to content

Commit

Permalink
refactor: Use async/await syntax in bucket.js
Browse files Browse the repository at this point in the history
  • Loading branch information
pgrzesik committed Dec 7, 2021
1 parent 4d4f863 commit 39e43b5
Showing 1 changed file with 17 additions and 25 deletions.
42 changes: 17 additions & 25 deletions lib/plugins/aws/remove/lib/bucket.js
@@ -1,13 +1,11 @@
'use strict';

const BbPromise = require('bluebird');
const { legacy } = require('@serverless/utils/log');

module.exports = {
async setServerlessDeploymentBucketName() {
return this.provider.getServerlessDeploymentBucketName().then((bucketName) => {
this.bucketName = bucketName;
});
const bucketName = await this.provider.getServerlessDeploymentBucketName();
this.bucketName = bucketName;
},

async listObjectsV2() {
Expand All @@ -16,21 +14,18 @@ module.exports = {
legacy.log('Getting all objects in S3 bucket...');
const serviceStage = `${this.serverless.service.service}/${this.provider.getStage()}`;

return this.provider
.request('S3', 'listObjectsV2', {
Bucket: this.bucketName,
Prefix: `${this.provider.getDeploymentPrefix()}/${serviceStage}`,
})
.then((result) => {
if (result) {
result.Contents.forEach((object) => {
this.objectsInBucket.push({
Key: object.Key,
});
});
}
return BbPromise.resolve();
const result = await this.provider.request('S3', 'listObjectsV2', {
Bucket: this.bucketName,
Prefix: `${this.provider.getDeploymentPrefix()}/${serviceStage}`,
});

if (result) {
result.Contents.forEach((object) => {
this.objectsInBucket.push({
Key: object.Key,
});
});
}
},

async listObjectVersions() {
Expand Down Expand Up @@ -75,21 +70,18 @@ module.exports = {
async deleteObjects() {
legacy.log('Removing objects in S3 bucket...');
if (this.objectsInBucket.length) {
return this.provider.request('S3', 'deleteObjects', {
await this.provider.request('S3', 'deleteObjects', {
Bucket: this.bucketName,
Delete: {
Objects: this.objectsInBucket,
},
});
}

return BbPromise.resolve();
},

async emptyS3Bucket() {
return BbPromise.bind(this)
.then(this.setServerlessDeploymentBucketName)
.then(this.listObjects)
.then(this.deleteObjects);
await this.setServerlessDeploymentBucketName();
await this.listObjects();
await this.deleteObjects();
},
};

0 comments on commit 39e43b5

Please sign in to comment.