refactor: remove breaking change in pin expiry

v1.18.x
Barış Soner Uşaklı 4 years ago
parent 046d0b1637
commit ef3df47a6d

@ -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);
}

Loading…
Cancel
Save