closes #6329
parent
b4dea7930a
commit
225af93b9e
@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async');
|
||||
var db = require('../../database');
|
||||
|
||||
module.exports = {
|
||||
name: 'Flatten navigation data',
|
||||
timestamp: Date.UTC(2018, 1, 17),
|
||||
method: function (callback) {
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
db.getSortedSetRangeWithScores('navigation:enabled', 0, -1, next);
|
||||
},
|
||||
function (data, next) {
|
||||
var order = [];
|
||||
var items = [];
|
||||
data.forEach(function (item) {
|
||||
var navItem = JSON.parse(item.value);
|
||||
var keys = Object.keys(navItem);
|
||||
if (keys.length && parseInt(keys[0], 10) >= 0) {
|
||||
navItem = navItem[keys[0]];
|
||||
}
|
||||
order.push(item.score);
|
||||
items.push(JSON.stringify(navItem));
|
||||
});
|
||||
|
||||
async.series([
|
||||
function (next) {
|
||||
db.delete('navigation:enabled', next);
|
||||
},
|
||||
function (next) {
|
||||
db.sortedSetAdd('navigation:enabled', order, items, next);
|
||||
},
|
||||
], next);
|
||||
},
|
||||
], callback);
|
||||
},
|
||||
};
|
Loading…
Reference in New Issue