let uploadFile = function()

in cloudformationTemplates/asyncCustomerChatUX/js/websiteHelper.js [89:133]


    let uploadFile = function(fileList, index, destS3Bucket, destS3KeyPrefix, sourceS3prefix, cb) {
        if (fileList.length > index) {
            let params = {
                Bucket: destS3Bucket,
                Key: destS3KeyPrefix + fileList[index],
                CopySource: [sourceS3prefix, fileList[index]].join('')
            };

            console.log("CopySource: " + [sourceS3prefix, fileList[index]].join(''));

            if (fileList[index].endsWith('.htm') || fileList[index].endsWith('.html')) {
                params.ContentType = "text/html";
                params.MetadataDirective = "REPLACE";
            } else if (fileList[index].endsWith('.css')) {
                params.ContentType = "text/css";
                params.MetadataDirective = "REPLACE";
            } else if (fileList[index].endsWith('.js')) {
                params.ContentType = "application/javascript";
                params.MetadataDirective = "REPLACE";
            }

            s3.copyObject(params, function(err, data) {
                if (err) {
                    return cb(['error copying ', [sourceS3prefix, fileList[index]].join(''), '\n', err].join(''), null);
                }

                console.log([
                    [sourceS3prefix, fileList[index]].join(''),
                    'uploaded successfully'
                ].join(' '));

                let _next = index + 1;
                uploadFile(fileList, _next, destS3Bucket, destS3KeyPrefix, sourceS3prefix, function(err, resp) {
                    if (err) {
                        return cb(err, null);
                    }

                    cb(null, resp);
                });
            });
        } else {
            cb(null, [index, 'files copied'].join(' '));
        }

    };