mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-16 02:36:16 +01:00
feat: allow custom req.query.filter on /unread /recent
This commit is contained in:
@@ -14,14 +14,10 @@ const helpers = require('./helpers');
|
||||
|
||||
const unreadController = module.exports;
|
||||
|
||||
unreadController.get = async function (req, res, next) {
|
||||
unreadController.get = async function (req, res) {
|
||||
const cid = req.query.cid;
|
||||
const filter = req.query.filter || '';
|
||||
|
||||
const filterData = await plugins.fireHook('filter:unread.getValidFilters', { filters: { ...helpers.validFilters } });
|
||||
if (!filterData.filters[filter]) {
|
||||
return next();
|
||||
}
|
||||
const [watchedCategories, userSettings, isPrivileged] = await Promise.all([
|
||||
getWatchedCategories(req.uid, cid, filter),
|
||||
user.getSettings(req.uid),
|
||||
@@ -52,7 +48,7 @@ unreadController.get = async function (req, res, next) {
|
||||
data.showSelect = true;
|
||||
data.showTopicTools = isPrivileged;
|
||||
data.categories = watchedCategories.categories;
|
||||
data.allCategoriesUrl = 'unread' + helpers.buildQueryString('', filter, '');
|
||||
data.allCategoriesUrl = 'unread' + helpers.buildQueryString(req.query, 'cid', '');
|
||||
data.selectedCategory = watchedCategories.selectedCategory;
|
||||
data.selectedCids = watchedCategories.selectedCids;
|
||||
if (req.originalUrl.startsWith(nconf.get('relative_path') + '/api/unread') || req.originalUrl.startsWith(nconf.get('relative_path') + '/unread')) {
|
||||
@@ -81,10 +77,6 @@ async function getWatchedCategories(uid, cid, filter) {
|
||||
unreadController.unreadTotal = async function (req, res, next) {
|
||||
const filter = req.query.filter || '';
|
||||
try {
|
||||
const data = await plugins.fireHook('filter:unread.getValidFilters', { filters: { ...helpers.validFilters } });
|
||||
if (!data.filters[filter]) {
|
||||
return next();
|
||||
}
|
||||
const unreadCount = await topics.getTotalUnread(req.uid, filter);
|
||||
res.json(unreadCount);
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user