mailer: fix error handling
previous mailer code has no callback and thus no way to pass back errors. now with asyncification it passes back the error
This commit is contained in:
@@ -310,34 +310,23 @@ function getTimeZone(callback) {
|
||||
});
|
||||
}
|
||||
|
||||
function getCloudronName(callback) {
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
settingsdb.get(exports.CLOUDRON_NAME_KEY, function (error, name) {
|
||||
if (error && error.reason === BoxError.NOT_FOUND) return callback(null, gDefaults[exports.CLOUDRON_NAME_KEY]);
|
||||
if (error) return callback(error);
|
||||
|
||||
callback(null, name);
|
||||
});
|
||||
async function getCloudronName() {
|
||||
const name = await get(exports.CLOUDRON_NAME_KEY);
|
||||
if (name === null) return gDefaults[exports.CLOUDRON_NAME_KEY];
|
||||
return name;
|
||||
}
|
||||
|
||||
function setCloudronName(name, callback) {
|
||||
async function setCloudronName(name) {
|
||||
assert.strictEqual(typeof name, 'string');
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
if (!name) return callback(new BoxError(BoxError.BAD_FIELD, 'name is empty', { field: 'name' }));
|
||||
if (!name) throw new BoxError(BoxError.BAD_FIELD, 'name is empty', { field: 'name' });
|
||||
|
||||
// some arbitrary restrictions (for sake of ui layout)
|
||||
// if this is changed, adjust dashboard/branding.html
|
||||
if (name.length > 64) return callback(new BoxError(BoxError.BAD_FIELD, 'name cannot exceed 64 characters', { field: 'name' }));
|
||||
if (name.length > 64) throw new BoxError(BoxError.BAD_FIELD, 'name cannot exceed 64 characters', { field: 'name' });
|
||||
|
||||
settingsdb.set(exports.CLOUDRON_NAME_KEY, name, function (error) {
|
||||
if (error) return callback(error);
|
||||
|
||||
notifyChange(exports.CLOUDRON_NAME_KEY, name);
|
||||
|
||||
return callback(null);
|
||||
});
|
||||
await set(exports.CLOUDRON_NAME_KEY, name);
|
||||
notifyChange(exports.CLOUDRON_NAME_KEY, name);
|
||||
}
|
||||
|
||||
async function getCloudronAvatar() {
|
||||
@@ -831,28 +820,17 @@ function setApiServerOrigin(origin, callback) {
|
||||
});
|
||||
}
|
||||
|
||||
function getFooter(callback) {
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
settingsdb.get(exports.FOOTER_KEY, function (error, value) {
|
||||
if (error && error.reason === BoxError.NOT_FOUND) return callback(null, gDefaults[exports.FOOTER_KEY]);
|
||||
if (error) return callback(error);
|
||||
|
||||
callback(null, value);
|
||||
});
|
||||
async function getFooter() {
|
||||
const value = await get(exports.FOOTER_KEY);
|
||||
if (value === null) return gDefaults[exports.FOOTER_KEY];
|
||||
return value;
|
||||
}
|
||||
|
||||
function setFooter(footer, callback) {
|
||||
async function setFooter(footer) {
|
||||
assert.strictEqual(typeof footer, 'string');
|
||||
assert.strictEqual(typeof callback, 'function');
|
||||
|
||||
settingsdb.set(exports.FOOTER_KEY, footer, function (error) {
|
||||
if (error) return callback(error);
|
||||
|
||||
notifyChange(exports.FOOTER_KEY, footer);
|
||||
|
||||
callback(null);
|
||||
});
|
||||
await set(exports.FOOTER_KEY, footer);
|
||||
notifyChange(exports.FOOTER_KEY, footer);
|
||||
}
|
||||
|
||||
function provider() { return gCache.provider; }
|
||||
|
||||
Reference in New Issue
Block a user