From 8166f30b90fa95bdb99eb729ea13abec348af283 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 27 Feb 2017 12:15:38 -0500 Subject: [PATCH] abort sound upgrade if no sounds set in config --- src/upgrade.js | 73 ++++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/src/upgrade.js b/src/upgrade.js index 45f213e727..8c04611941 100644 --- a/src/upgrade.js +++ b/src/upgrade.js @@ -331,14 +331,17 @@ Upgrade.upgrade = function (callback) { 'waterdrop-low.mp3': 'Default | Water drop (low)', }; - async.parallel([ - function (cb) { - var keys = ['chat-incoming', 'chat-outgoing', 'notification']; + db.getObject('settings:sounds', function (err, settings) { + if (err) { + return next(err); + } else if (!settings) { + winston.info(schemaName + ' - done'); + return Upgrade.update(thisSchemaDate, next); + } - db.getObject('settings:sounds', function (err, settings) { - if (err || !settings) { - return cb(err); - } + async.parallel([ + function (cb) { + var keys = ['chat-incoming', 'chat-outgoing', 'notification']; keys.forEach(function (key) { if (settings[key] && settings[key].indexOf(' | ') === -1) { @@ -347,38 +350,38 @@ Upgrade.upgrade = function (callback) { }); meta.configs.setMultiple(settings, cb); - }); - }, - function (cb) { - var keys = ['notificationSound', 'incomingChatSound', 'outgoingChatSound']; - - batch.processSortedSet('users:joindate', function (ids, next) { - async.each(ids, function (uid, next) { - user.getSettings(uid, function (err, settings) { - if (err) { - return next(err); - } - - keys.forEach(function (key) { - if (settings[key] && settings[key].indexOf(' | ') === -1) { - settings[key] = map[settings[key]] || ''; + }, + function (cb) { + var keys = ['notificationSound', 'incomingChatSound', 'outgoingChatSound']; + + batch.processSortedSet('users:joindate', function (ids, next) { + async.each(ids, function (uid, next) { + user.getSettings(uid, function (err, settings) { + if (err) { + return next(err); } - }); - user.saveSettings(uid, settings, next); - }); - }, next); - }, cb); - }, - ], function (err) { - if (err) { - return next(err); - } - winston.verbose(schemaName + ' - done'); - Upgrade.update(thisSchemaDate, next); + keys.forEach(function (key) { + if (settings[key] && settings[key].indexOf(' | ') === -1) { + settings[key] = map[settings[key]] || ''; + } + }); + + user.saveSettings(uid, settings, next); + }); + }, next); + }, cb); + }, + ], function (err) { + if (err) { + return next(err); + } + winston.info(schemaName + ' - done'); + Upgrade.update(thisSchemaDate, next); + }); }); } else { - winston.verbose(schemaName + ' - skipped!'); + winston.info(schemaName + ' - skipped!'); next(); } },