hedgedoc/lib/web/imageRouter/imgur.ts
Philip Molares 982bbe9728
rewrote ImageRouter
- introduced UploadProvider interface
- rewrote all current UploadProviders

Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: David Mehren <dmehren1@gmail.com>
2020-04-25 16:04:09 +02:00

30 lines
853 B
TypeScript

import imgur from 'imgur'
import { config } from '../../config'
import { logger } from '../../logger'
import { UploadProvider } from './index'
const ImgurUploadProvider: UploadProvider = {
uploadImage: (imagePath, callback) => {
if (!callback || typeof callback !== 'function') {
logger.error('Callback has to be a function')
return
}
if (!imagePath) {
callback(new Error('Image path is missing or wrong'), undefined)
return
}
imgur.setClientId(config.imgur.clientID)
imgur.uploadFile(imagePath)
.then(function (json) {
logger.debug(`SERVER uploadimage success: ${JSON.stringify(json)}`)
callback(null, json.data.link.replace(/^http:\/\//i, 'https://'))
}).catch(function (err) {
callback(new Error(err), undefined)
})
}
}
export { ImgurUploadProvider }