branding: move logo into database
initially, i tried to put this in the current value field but that is TEXT and has a size limit of 64K. TEXT also stores things with character encoding, so we have to stash it as base64
This commit is contained in:
+14
-12
@@ -111,7 +111,7 @@ exports = module.exports = {
|
||||
FOOTER_KEY: 'footer',
|
||||
|
||||
// blobs
|
||||
CLOUDRON_AVATAR_KEY: 'cloudron_avatar', // not stored in db but can be used for locked flag
|
||||
CLOUDRON_AVATAR_KEY: 'cloudron_avatar',
|
||||
|
||||
// testing
|
||||
_setApiServerOrigin: setApiServerOrigin
|
||||
@@ -132,7 +132,6 @@ const assert = require('assert'),
|
||||
settingsdb = require('./settingsdb.js'),
|
||||
sysinfo = require('./sysinfo.js'),
|
||||
translation = require('./translation.js'),
|
||||
util = require('util'),
|
||||
_ = require('underscore');
|
||||
|
||||
let gDefaults = (function () {
|
||||
@@ -296,25 +295,28 @@ function setCloudronName(name, callback) {
|
||||
function getCloudronAvatar(callback) {
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
var avatar = safe.fs.readFileSync(paths.CLOUDRON_AVATAR_FILE);
|
||||
if (avatar) return callback(null, avatar);
|
||||
settingsdb.getBlob(exports.CLOUDRON_AVATAR_KEY, function (error, avatar) {
|
||||
if (error && error.reason !== BoxError.NOT_FOUND) return callback(error);
|
||||
|
||||
// try default fallback
|
||||
avatar = safe.fs.readFileSync(paths.CLOUDRON_DEFAULT_AVATAR_FILE);
|
||||
if (avatar) return callback(null, avatar);
|
||||
if (avatar) return callback(null, avatar);
|
||||
|
||||
callback(new BoxError(BoxError.FS_ERROR, safe.error));
|
||||
// try default fallback
|
||||
avatar = safe.fs.readFileSync(paths.CLOUDRON_DEFAULT_AVATAR_FILE);
|
||||
if (avatar) return callback(null, avatar);
|
||||
|
||||
callback(new BoxError(BoxError.FS_ERROR, safe.error));
|
||||
});
|
||||
}
|
||||
|
||||
function setCloudronAvatar(avatar, callback) {
|
||||
assert(Buffer.isBuffer(avatar));
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
if (!safe.fs.writeFileSync(paths.CLOUDRON_AVATAR_FILE, avatar)) {
|
||||
return callback(new BoxError(BoxError.FS_ERROR, safe.error));
|
||||
}
|
||||
settingsdb.setBlob(exports.CLOUDRON_AVATAR_KEY, avatar, function (error) {
|
||||
if (error) return callback(error);
|
||||
|
||||
return callback(null);
|
||||
return callback(null);
|
||||
});
|
||||
}
|
||||
|
||||
function getDynamicDnsConfig(callback) {
|
||||
|
||||
Reference in New Issue
Block a user