refactor: make categories.buildForSelectCategories non async

v1.18.x
Barış Soner Uşaklı 6 years ago
parent 09410ff1c5
commit 6cda369872

@ -323,12 +323,18 @@ Categories.getTree = function (categories, parentCid) {
Categories.buildForSelect = async function (uid, privilege) {
let categories = await Categories.getCategoriesByPrivilege('categories:cid', uid, privilege);
categories = Categories.getTree(categories);
return await Categories.buildForSelectCategories(categories);
return Categories.buildForSelectCategories(categories);
};
Categories.buildForSelectCategories = async function (categories) {
Categories.buildForSelectAll = async function (uid) {
const categoryData = await Categories.getAllCategories(uid);
const tree = Categories.getTree(categoryData);
return Categories.buildForSelectCategories(tree);
};
Categories.buildForSelectCategories = function (categories) {
function recursive(category, categoriesData, level, depth) {
var bullet = level ? '• ' : '';
const bullet = level ? '• ' : '';
category.value = category.cid;
category.level = level;
category.text = level + bullet + category.name;
@ -341,7 +347,7 @@ Categories.buildForSelectCategories = async function (categories) {
}
}
var categoriesData = [];
const categoriesData = [];
categories = categories.filter(category => category && !category.parentCid);

@ -11,7 +11,7 @@ categoriesController.get = async function (req, res, next) {
const [categoryData, parent, allCategories] = await Promise.all([
categories.getCategories([req.params.category_id], req.uid),
categories.getParents([req.params.category_id]),
getAllCategories(req.uid),
categories.buildForSelectAll(req.uid),
]);
const category = categoryData[0];
@ -43,13 +43,6 @@ categoriesController.get = async function (req, res, next) {
});
};
async function getAllCategories(uid) {
const cids = await categories.getAllCidsFromSet('categories:cid');
const categoryData = await categories.getCategories(cids, uid);
const tree = categories.getTree(categoryData);
return await categories.buildForSelectCategories(tree);
}
categoriesController.getAll = function (req, res) {
// Categories list will be rendered on client side with recursion, etc.
res.render('admin/manage/categories', {});

@ -8,8 +8,8 @@ const privilegesController = module.exports;
privilegesController.get = async function (req, res) {
const cid = req.params.cid ? parseInt(req.params.cid, 10) : 0;
const [privilegesData, categoriesData] = await Promise.all([
getPrivileges(cid),
getCategories(req.uid),
cid ? privileges.categories.list(cid) : privileges.global.list(),
categories.buildForSelectAll(req.uid),
]);
categoriesData.unshift({
@ -36,17 +36,3 @@ privilegesController.get = async function (req, res) {
cid: cid,
});
};
async function getPrivileges(cid) {
if (!cid) {
return await privileges.global.list();
}
return await privileges.categories.list(cid);
}
async function getCategories(uid) {
const cids = await categories.getAllCidsFromSet('categories:cid');
const categoriesData = await categories.getCategories(cids, uid);
const tree = categories.getTree(categoriesData);
return await categories.buildForSelectCategories(tree);
}

Loading…
Cancel
Save