This should make the imageRouter more modular and easier to extent. Also a lot of code duplication was removed which should simplify maintenance in future. In the new setup we only need to provide a new module file which exports a function called `uploadImage` and takes a filePath and a callback as argument. The callback itself takes an error and an url as parameter. This eliminates the need of a try-catch-block around the statement and re-enabled the optimization in NodeJS. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
		
			
				
	
	
		
			19 lines
		
	
	
		
			495 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			495 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict'
 | 
						|
const url = require('url')
 | 
						|
 | 
						|
const config = require('../../config')
 | 
						|
 | 
						|
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') {
 | 
						|
    callback(new Error('Callback has to be a function'), null)
 | 
						|
    return
 | 
						|
  }
 | 
						|
 | 
						|
  callback(null, url.resolve(config.serverurl + '/', imagePath.match(/^public\/(.+$)/)[1]))
 | 
						|
}
 |