in source/resources/helper/lib/s3-helper.js [106:167]
copyAssets(manifestKey, sourceS3Bucket, sourceS3prefix, destS3Bucket) {
// Handling Promise Rejection
process.on('unhandledRejection', error => {
throw error;
});
Logger.log(
Logger.levels.ROBUST,
`manifest key: ${manifestKey} \n source bucket: ${sourceS3Bucket} \n source prefix: ${sourceS3prefix} \n destination bucket: ${destS3Bucket}`
);
let _self = this;
return new Promise((resolve, reject) => {
this._downloadManifest(sourceS3Bucket, manifestKey)
.then(data => {
fs.readFile(_self.downloadLocation, 'utf8', function (err, data) {
if (err) {
Logger.error(
Logger.levels.INFO,
`${err}`
);
reject(err);
}
let _manifest = _self._validateJSON(data);
if (!_manifest) {
reject('Unable to validate downloaded manifest file JSON');
} else {
_self
._uploadFile(
_manifest.files,
0,
destS3Bucket,
`${sourceS3Bucket}/${sourceS3prefix}`
)
.then(resp => {
Logger.log(
Logger.levels.ROBUST,
`${resp}`
);
resolve(resp);
})
.catch(err => {
Logger.error(
Logger.levels.INFO,
`${err}`
);
reject(err);
});
}
});
})
.catch(err => {
Logger.error(
Logger.levels.INFO,
`${err}`
);
reject(err);
});
});
}