v1.18.x
barisusakli 9 years ago
parent 555c5b82da
commit 57d3980267

@ -7,7 +7,7 @@ var admin = {},
db = require('../database'), db = require('../database'),
translator = require('../../public/src/modules/translator'); translator = require('../../public/src/modules/translator');
var navigationCache = null; admin.cache = null;
admin.save = function(data, callback) { admin.save = function(data, callback) {
var order = Object.keys(data), var order = Object.keys(data),
@ -24,7 +24,7 @@ admin.save = function(data, callback) {
return JSON.stringify(data); return JSON.stringify(data);
}); });
navigationCache = null; admin.cache = null;
async.waterfall([ async.waterfall([
function(next) { function(next) {
db.delete('navigation:enabled', next); db.delete('navigation:enabled', next);
@ -43,19 +43,16 @@ admin.getAdmin = function(callback) {
}; };
admin.get = function(callback) { admin.get = function(callback) {
if (navigationCache) {
return callback(null, navigationCache);
}
db.getSortedSetRange('navigation:enabled', 0, -1, function(err, data) { db.getSortedSetRange('navigation:enabled', 0, -1, function(err, data) {
if (err) { if (err) {
return callback(err); return callback(err);
} }
navigationCache = data.map(function(item, idx) {
data = data.map(function(item, idx) {
return JSON.parse(item)[idx]; return JSON.parse(item)[idx];
}); });
callback(null, navigationCache); callback(null, data);
}); });
}; };

@ -1,12 +1,15 @@
"use strict"; "use strict";
var navigation = {}, var navigation = {};
admin = require('./admin'), var admin = require('./admin');
translator = require('../../public/src/modules/translator'); var translator = require('../../public/src/modules/translator');
navigation.get = function(callback) { navigation.get = function(callback) {
if (admin.cache) {
return callback(null, admin.cache);
}
admin.get(function(err, data) { admin.get(function(err, data) {
if (err) { if (err) {
return callback(err); return callback(err);
@ -23,6 +26,8 @@ navigation.get = function(callback) {
return item; return item;
}); });
admin.cache = data;
callback(null, data); callback(null, data);
}); });
}; };

Loading…
Cancel
Save