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) { Categories.buildForSelect = async function (uid, privilege) {
let categories = await Categories.getCategoriesByPrivilege('categories:cid', uid, privilege); let categories = await Categories.getCategoriesByPrivilege('categories:cid', uid, privilege);
categories = Categories.getTree(categories); 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) { function recursive(category, categoriesData, level, depth) {
var bullet = level ? '• ' : ''; const bullet = level ? '• ' : '';
category.value = category.cid; category.value = category.cid;
category.level = level; category.level = level;
category.text = level + bullet + category.name; 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); 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([ const [categoryData, parent, allCategories] = await Promise.all([
categories.getCategories([req.params.category_id], req.uid), categories.getCategories([req.params.category_id], req.uid),
categories.getParents([req.params.category_id]), categories.getParents([req.params.category_id]),
getAllCategories(req.uid), categories.buildForSelectAll(req.uid),
]); ]);
const category = categoryData[0]; 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) { categoriesController.getAll = function (req, res) {
// Categories list will be rendered on client side with recursion, etc. // Categories list will be rendered on client side with recursion, etc.
res.render('admin/manage/categories', {}); res.render('admin/manage/categories', {});

@ -8,8 +8,8 @@ const privilegesController = module.exports;
privilegesController.get = async function (req, res) { privilegesController.get = async function (req, res) {
const cid = req.params.cid ? parseInt(req.params.cid, 10) : 0; const cid = req.params.cid ? parseInt(req.params.cid, 10) : 0;
const [privilegesData, categoriesData] = await Promise.all([ const [privilegesData, categoriesData] = await Promise.all([
getPrivileges(cid), cid ? privileges.categories.list(cid) : privileges.global.list(),
getCategories(req.uid), categories.buildForSelectAll(req.uid),
]); ]);
categoriesData.unshift({ categoriesData.unshift({
@ -36,17 +36,3 @@ privilegesController.get = async function (req, res) {
cid: cid, 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