From 57d39802671612185e86977b5c237f850fe80206 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 26 Oct 2015 22:16:08 -0400 Subject: [PATCH] closes #3790 --- src/navigation/admin.js | 13 +++++-------- src/navigation/index.js | 13 +++++++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/navigation/admin.js b/src/navigation/admin.js index b66982a310..a803b5465b 100644 --- a/src/navigation/admin.js +++ b/src/navigation/admin.js @@ -7,7 +7,7 @@ var admin = {}, db = require('../database'), translator = require('../../public/src/modules/translator'); -var navigationCache = null; +admin.cache = null; admin.save = function(data, callback) { var order = Object.keys(data), @@ -24,7 +24,7 @@ admin.save = function(data, callback) { return JSON.stringify(data); }); - navigationCache = null; + admin.cache = null; async.waterfall([ function(next) { db.delete('navigation:enabled', next); @@ -43,19 +43,16 @@ admin.getAdmin = function(callback) { }; admin.get = function(callback) { - if (navigationCache) { - return callback(null, navigationCache); - } - db.getSortedSetRange('navigation:enabled', 0, -1, function(err, data) { if (err) { return callback(err); } - navigationCache = data.map(function(item, idx) { + + data = data.map(function(item, idx) { return JSON.parse(item)[idx]; }); - callback(null, navigationCache); + callback(null, data); }); }; diff --git a/src/navigation/index.js b/src/navigation/index.js index 7d536dcca9..14bb1c0f41 100644 --- a/src/navigation/index.js +++ b/src/navigation/index.js @@ -1,12 +1,15 @@ "use strict"; -var navigation = {}, - admin = require('./admin'), - translator = require('../../public/src/modules/translator'); - +var navigation = {}; +var admin = require('./admin'); +var translator = require('../../public/src/modules/translator'); navigation.get = function(callback) { + if (admin.cache) { + return callback(null, admin.cache); + } + admin.get(function(err, data) { if (err) { return callback(err); @@ -23,6 +26,8 @@ navigation.get = function(callback) { return item; }); + admin.cache = data; + callback(null, data); }); };