diff options
Diffstat (limited to 'lib/web/imageRouter')
| -rw-r--r-- | lib/web/imageRouter/azure.js | 35 | ||||
| -rw-r--r-- | lib/web/imageRouter/filesystem.js | 3 | ||||
| -rw-r--r-- | lib/web/imageRouter/imgur.js | 2 | ||||
| -rw-r--r-- | lib/web/imageRouter/minio.js | 3 | ||||
| -rw-r--r-- | lib/web/imageRouter/s3.js | 3 | 
5 files changed, 42 insertions, 4 deletions
| diff --git a/lib/web/imageRouter/azure.js b/lib/web/imageRouter/azure.js new file mode 100644 index 00000000..cc98e5fc --- /dev/null +++ b/lib/web/imageRouter/azure.js @@ -0,0 +1,35 @@ +'use strict' +const path = require('path') + +const config = require('../../config') +const logger = require('../../logger') + +const azure = require('azure-storage') + +exports.uploadImage = function (imagePath, callback) { +  if (!imagePath || typeof imagePath !== 'string') { +    callback(new Error('Image path is missing or wrong'), null) +    return +  } + +  if (!callback || typeof callback !== 'function') { +    logger.error('Callback has to be a function') +    return +  } + +  var azureBlobService = azure.createBlobService(config.azure.connectionString) + +  azureBlobService.createContainerIfNotExists(config.azure.container, { publicAccessLevel: 'blob' }, function (err, result, response) { +    if (err) { +      callback(new Error(err.message), null) +    } else { +      azureBlobService.createBlockBlobFromLocalFile(config.azure.container, path.basename(imagePath), imagePath, function (err, result, response) { +        if (err) { +          callback(new Error(err.message), null) +        } else { +          callback(null, azureBlobService.getUrl(config.azure.container, result.name)) +        } +      }) +    } +  }) +} diff --git a/lib/web/imageRouter/filesystem.js b/lib/web/imageRouter/filesystem.js index da76ba5e..145876a9 100644 --- a/lib/web/imageRouter/filesystem.js +++ b/lib/web/imageRouter/filesystem.js @@ -2,6 +2,7 @@  const url = require('url')  const config = require('../../config') +const logger = require('../../logger')  exports.uploadImage = function (imagePath, callback) {    if (!imagePath || typeof imagePath !== 'string') { @@ -10,7 +11,7 @@ exports.uploadImage = function (imagePath, callback) {    }    if (!callback || typeof callback !== 'function') { -    callback(new Error('Callback has to be a function'), null) +    logger.error('Callback has to be a function')      return    } diff --git a/lib/web/imageRouter/imgur.js b/lib/web/imageRouter/imgur.js index 31d5f55c..2a20002c 100644 --- a/lib/web/imageRouter/imgur.js +++ b/lib/web/imageRouter/imgur.js @@ -11,7 +11,7 @@ exports.uploadImage = function (imagePath, callback) {    }    if (!callback || typeof callback !== 'function') { -    callback(new Error('Callback has to be a function'), null) +    logger.error('Callback has to be a function')      return    } diff --git a/lib/web/imageRouter/minio.js b/lib/web/imageRouter/minio.js index 099cb926..b921c2d2 100644 --- a/lib/web/imageRouter/minio.js +++ b/lib/web/imageRouter/minio.js @@ -4,6 +4,7 @@ const path = require('path')  const config = require('../../config')  const {getImageMimeType} = require('../../utils') +const logger = require('../../logger')  const Minio = require('minio')  const minioClient = new Minio.Client({ @@ -21,7 +22,7 @@ exports.uploadImage = function (imagePath, callback) {    }    if (!callback || typeof callback !== 'function') { -    callback(new Error('Callback has to be a function'), null) +    logger.error('Callback has to be a function')      return    } diff --git a/lib/web/imageRouter/s3.js b/lib/web/imageRouter/s3.js index bcd3ea60..626fe148 100644 --- a/lib/web/imageRouter/s3.js +++ b/lib/web/imageRouter/s3.js @@ -4,6 +4,7 @@ const path = require('path')  const config = require('../../config')  const {getImageMimeType} = require('../../utils') +const logger = require('../../logger')  const AWS = require('aws-sdk')  const awsConfig = new AWS.Config(config.s3) @@ -16,7 +17,7 @@ exports.uploadImage = function (imagePath, callback) {    }    if (!callback || typeof callback !== 'function') { -    callback(new Error('Callback has to be a function'), null) +    logger.error('Callback has to be a function')      return    } | 
