fix user settings cache

v1.18.x
Barış Soner Uşaklı 8 years ago
parent 6fcd12eafe
commit db532fbb0d

@ -2,6 +2,7 @@
'use strict'; 'use strict';
var async = require('async'); var async = require('async');
var _ = require('underscore');
var meta = require('../meta'); var meta = require('../meta');
var db = require('../database'); var db = require('../database');
@ -25,7 +26,7 @@ module.exports = function (User) {
var cached = cache.get('user:' + uid + ':settings'); var cached = cache.get('user:' + uid + ':settings');
if (cached) { if (cached) {
return onSettingsLoaded(uid, cached || {}, callback); return onSettingsLoaded(uid, _.clone(cached || {}), callback);
} }
async.waterfall([ async.waterfall([
@ -36,7 +37,7 @@ module.exports = function (User) {
settings = settings || {}; settings = settings || {};
settings.uid = uid; settings.uid = uid;
cache.set('user:' + uid + ':settings', settings); cache.set('user:' + uid + ':settings', settings);
onSettingsLoaded(uid, settings || {}, next); onSettingsLoaded(uid, _.clone(settings || {}), next);
}, },
], callback); ], callback);
}; };
@ -47,7 +48,7 @@ module.exports = function (User) {
return cache.get('user:' + uid + ':settings') || {}; return cache.get('user:' + uid + ':settings') || {};
}); });
async.map(settings, function (setting, next) { async.map(settings, function (setting, next) {
onSettingsLoaded(setting.uid, setting, next); onSettingsLoaded(setting.uid, _.clone(setting), next);
}, next); }, next);
} }

Loading…
Cancel
Save