mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: fire hook to allow plugins to filter the pids returned in a user profile
/cc julianlam/nodebb-plugin-support-forum#14
This commit is contained in:
@@ -7,6 +7,7 @@ const db = require('../../database');
|
||||
const user = require('../../user');
|
||||
const posts = require('../../posts');
|
||||
const categories = require('../../categories');
|
||||
const plugins = require('../../plugins');
|
||||
const meta = require('../../meta');
|
||||
const privileges = require('../../privileges');
|
||||
const accountHelpers = require('./helpers');
|
||||
@@ -106,11 +107,17 @@ async function getPosts(callerUid, userData, setSuffix) {
|
||||
|
||||
do {
|
||||
/* eslint-disable no-await-in-loop */
|
||||
const pids = await db.getSortedSetRevRange(keys, start, start + count - 1);
|
||||
let pids = await db.getSortedSetRevRange(keys, start, start + count - 1);
|
||||
if (!pids.length || pids.length < count) {
|
||||
hasMorePosts = false;
|
||||
}
|
||||
if (pids.length) {
|
||||
({ pids } = await plugins.hooks.fire('filter:account.profile.getPids', {
|
||||
uid: callerUid,
|
||||
userData,
|
||||
setSuffix,
|
||||
pids,
|
||||
}));
|
||||
const p = await posts.getPostSummaryByPids(pids, callerUid, { stripTags: false });
|
||||
postData.push(...p.filter(
|
||||
p => p && p.topic && (isAdmin || cidToIsMod[p.topic.cid] ||
|
||||
|
||||
Reference in New Issue
Block a user