mirror of
https://github.com/aljazceru/landscape-template.git
synced 2025-12-18 14:54:23 +01:00
feat: connect user avatar upload with the HostedImage table
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user