feat: connect user avatar upload with the HostedImage table

This commit is contained in:
Dolu
2022-09-07 15:07:18 +02:00
parent 56a9a70c70
commit 35ccec37b2
5 changed files with 125 additions and 12 deletions

View File

@@ -1,10 +1,41 @@
function resolveImgObjectToUrl(imgObject) {
if(imgObject && imgObject.provider === 'external'){
return imgObject.url;
const { CLOUDFLARE_IMAGE_ACCOUNT_HASH } = require('./consts')
const PROVIDERS = [
{
name: 'cloudflare',
prefixUrl: `https://imagedelivery.net/${CLOUDFLARE_IMAGE_ACCOUNT_HASH}/`,
variants: [
{
default: true,
name: 'public',
},
],
},
]
/**
* resolveImgObjectToUrl
* @param {object} imgObject
* @param {string} variant - List to be defined. DEFAULT TO 'public'
* @returns {string} image url
*/
function resolveImgObjectToUrl(imgObject, variant = null) {
if (!imgObject) throw new Error('Image not found')
if (imgObject.provider === 'external') {
return imgObject.url
}
else {
return "TODO";
const provider = PROVIDERS.find((p) => p.name === imgObject.provider)
if (provider) {
if (provider && provider.name === 'cloudflare') {
const variantName = variant ?? provider.variants.find((v) => v.default).name
return provider.prefixUrl + imgObject.provider_image_id + '/' + variantName
}
}
throw new Error('Hosting images provider not supported')
}
module.exports = resolveImgObjectToUrl;
module.exports = resolveImgObjectToUrl