Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// add cloudinary locals if configured
if (keystone.get('cloudinary config')) {
try {
var cloudinary = require('cloudinary');
var cloudinaryUpload = cloudinary.uploader.direct_upload();
locals.cloudinary = {
cloud_name: keystone.get('cloudinary config').cloud_name,
api_key: keystone.get('cloudinary config').api_key,
timestamp: cloudinaryUpload.hidden_fields.timestamp,
signature: cloudinaryUpload.hidden_fields.signature,
prefix: keystone.get('cloudinary prefix') || '',
folders: keystone.get('cloudinary folders'),
uploader: cloudinary.uploader,
};
locals.cloudinary_js_config = cloudinary.cloudinary_js_config();
} catch (e) {
if (e === 'Must supply api_key') {
throw new Error('Invalid Cloudinary Config Provided\n\n'
+ 'See http://keystonejs.com/docs/configuration/#services-cloudinary for more information.');
} else {
throw e;
}
}
}
res.send(template(locals));
}
},
keystone: keystoneData,
title: keystone.get('name') || 'Keystone',
};
var cloudinaryConfig = keystone.get('cloudinary config');
if (cloudinaryConfig) {
var cloudinary = require('cloudinary');
var cloudinaryUpload = cloudinary.uploader.direct_upload();
keystoneData.cloudinary = {
cloud_name: keystone.get('cloudinary config').cloud_name,
api_key: keystone.get('cloudinary config').api_key,
timestamp: cloudinaryUpload.hidden_fields.timestamp,
signature: cloudinaryUpload.hidden_fields.signature,
};
locals.cloudinaryScript = cloudinary.cloudinary_js_config();
};
ejs.renderFile(templatePath, locals, {}, function (err, str) {
if (err) {
console.error('Could not render Admin UI Index Template:', err);
return res.status(500).send(keystone.wrapHTMLError('Error Rendering Admin UI', err.message));
}
res.send(str);
});
};