mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
refactor: remove breaking change in pin expiry
This commit is contained in:
@@ -134,10 +134,6 @@ module.exports = function (Categories) {
|
||||
};
|
||||
|
||||
Categories.getPinnedTids = async function (data) {
|
||||
if (!Array.isArray(data.cid)) {
|
||||
data.cid = [data.cid];
|
||||
}
|
||||
|
||||
if (plugins.hasListeners('filter:categories.getPinnedTids')) {
|
||||
const result = await plugins.fireHook('filter:categories.getPinnedTids', {
|
||||
pinnedTids: [],
|
||||
@@ -145,10 +141,8 @@ module.exports = function (Categories) {
|
||||
});
|
||||
return result && result.pinnedTids;
|
||||
}
|
||||
|
||||
const pinnedSets = data.cid.map(cid => `cid:${cid}:tids:pinned`);
|
||||
const pinnedTids = await db.getSortedSetRevRange(pinnedSets, data.start, data.stop);
|
||||
return topics.tools.checkPinExpiry(pinnedTids);
|
||||
const pinnedTids = await db.getSortedSetRevRange('cid:' + data.cid + ':tids:pinned', data.start, data.stop);
|
||||
return await topics.tools.checkPinExpiry(pinnedTids);
|
||||
};
|
||||
|
||||
Categories.modifyTopicsByPrivilege = function (topics, privileges) {
|
||||
|
||||
@@ -57,21 +57,18 @@ module.exports = function (Topics) {
|
||||
|
||||
async function getCidTids(params) {
|
||||
const sets = [];
|
||||
const pinnedSets = [];
|
||||
params.cids.forEach(function (cid) {
|
||||
if (params.sort === 'recent') {
|
||||
sets.push('cid:' + cid + ':tids');
|
||||
} else {
|
||||
sets.push('cid:' + cid + ':tids' + (params.sort ? ':' + params.sort : ''));
|
||||
}
|
||||
pinnedSets.push('cid:' + cid + ':tids:pinned');
|
||||
});
|
||||
const [tids, pinnedTids] = await Promise.all([
|
||||
db.getSortedSetRevRange(sets, 0, meta.config.recentMaxTopics - 1),
|
||||
categories.getPinnedTids({
|
||||
cid: params.cids,
|
||||
start: 0,
|
||||
stop: -1,
|
||||
}),
|
||||
]);
|
||||
let pinnedTids = await db.getSortedSetRevRange(pinnedSets, 0, -1);
|
||||
pinnedTids = await Topics.tools.checkPinExpiry(pinnedTids);
|
||||
const tids = await db.getSortedSetRevRange(sets, 0, meta.config.recentMaxTopics - 1);
|
||||
return pinnedTids.concat(tids);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user