clearS3Bucket: function()

in backend/src/cleanup/clear-s3-bucket.js [7:60]


  clearS3Bucket: function (event, context, cb) {
    console.log("Event=", event);
    console.log("Context=", context);
    if (event.RequestType === 'Delete')  {
        var bucketName = event.ResourceProperties.BucketName;
 
        console.log("Delete bucket requested for", bucketName);

        var objects = listObjects(s3, bucketName);
      
        objects.then(function(result) {
           var keysToDeleteArray = [];
           console.log("Found "+ result.Contents.length + " objects to delete.");
           if (result.Contents.length === 0) {
               sendResponse(event, context, "SUCCESS");
           } else {
               for (var i = 0, len = result.Contents.length; i < len; i++) {
                   var item =  new Object();
                   item = {};
                   item = { Key: result.Contents[i].Key };
                   keysToDeleteArray.push(item);
               }
        
               var delete_params = {
                   Bucket: bucketName, 
                   Delete: {
                     Objects: keysToDeleteArray,
                     Quiet: false
                   }
               };
      
               var deletedObjects = deleteObjects(s3, delete_params);
   
               deletedObjects.then(function(result) {
                   console.log("deleteObjects API returned ", result);    
                   sendResponse(event, context, "SUCCESS");
               }, function(err) {
                   console.log("ERROR: deleteObjects API Call failed!");
                   console.log(err);
                   sendResponse(event, context, "FAILED");
               });
           }
        }, function(err) {
           console.log("ERROR: listObjects API Call failed!");
           console.log(err);
           sendResponse(event, context, "FAILED");
        });
      
    } else {
      console.log("Delete not requested.");
      sendResponse(event, context, "SUCCESS");
    }
      
  }