Make Azure FE config injectable

This commit is contained in:
richard-dds 2019-08-05 16:51:28 -04:00
parent 72275421d0
commit 68a1004bf1

View File

@ -1,13 +1,16 @@
import Azure from 'azure-storage' import Azure from 'azure-storage'
class AzureUploader { class AzureUploader {
constructor(sasToken) { constructor(accountName, containerName, sasToken) {
this.accountName = accountName
this.containerName = containerName
this.sasToken = sasToken.token this.sasToken = sasToken.token
} }
async upload(file, objectName) { async upload(file, objectName) {
console.log(this)
const blobService = Azure.createBlobServiceWithSas( const blobService = Azure.createBlobServiceWithSas(
'https://atat.blob.core.windows.net', `https://${this.accountName}.blob.core.windows.net`,
this.sasToken this.sasToken
) )
const fileReader = new FileReader() const fileReader = new FileReader()
@ -23,7 +26,7 @@ class AzureUploader {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
fileReader.addEventListener('load', function(f) { fileReader.addEventListener('load', function(f) {
blobService.createBlockBlobFromText( blobService.createBlockBlobFromText(
'task-order-pdfs', this.containerName,
`${objectName}.pdf`, `${objectName}.pdf`,
f.target.result, f.target.result,
options, options,
@ -76,7 +79,11 @@ export const buildUploader = token => {
if (cloudProvider === 'aws') { if (cloudProvider === 'aws') {
return new AwsUploader(token) return new AwsUploader(token)
} else if (cloudProvider === 'azure') { } else if (cloudProvider === 'azure') {
return new AzureUploader(token) return new AzureUploader(
process.env.AZURE_ACCOUNT_NAME,
process.env.AZURE_CONTAINER_NAME,
token
)
} else { } else {
return new MockUploader(token) return new MockUploader(token)
} }