Files
NodeBB/src/controllers/accounts/categories.js

30 lines
1.0 KiB
JavaScript
Raw Normal View History

'use strict';
2019-08-12 14:49:40 -04:00
const user = require('../../user');
const categories = require('../../categories');
const accountHelpers = require('./helpers');
2019-08-12 14:49:40 -04:00
const categoriesController = module.exports;
2019-08-12 14:49:40 -04:00
categoriesController.get = async function (req, res, next) {
const userData = await accountHelpers.getUserDataByUserSlug(req.params.userslug, req.uid);
if (!userData) {
return next();
}
const [states, categoriesData] = await Promise.all([
user.getCategoryWatchState(userData.uid),
2019-09-20 22:10:08 -04:00
categories.buildForSelect(userData.uid, 'find', ['descriptionParsed', 'depth']),
2019-08-12 14:49:40 -04:00
]);
2019-08-12 14:49:40 -04:00
categoriesData.forEach(function (category) {
if (category) {
category.isIgnored = states[category.cid] === categories.watchStates.ignoring;
category.isWatched = states[category.cid] === categories.watchStates.watching;
category.isNotWatched = states[category.cid] === categories.watchStates.notwatching;
}
});
userData.categories = categoriesData;
userData.title = '[[pages:account/watched_categories, ' + userData.username + ']]';
res.render('account/categories', userData);
};