fix: user data in /world

This commit is contained in:
Julian Lam
2024-01-18 12:19:37 -05:00
parent 538776f9c7
commit 518169fe65
2 changed files with 22 additions and 6 deletions

View File

@@ -21,11 +21,22 @@ controller.list = async function (req, res) {
const stop = start + topicsPerPage - 1;
const tids = await db.getSortedSetRevRange('cid:-1:tids', start, stop);
const topicData = await topics.getTopicsByTids(tids, { uid: req.uid });
topics.calculateTopicIndices(topicData, start);
res.render('world', {
topics: topicData,
const data = {};
data.topicCount = await db.sortedSetCard('cid:-1:tids');
data.topics = await topics.getTopicsByTids(tids, { uid: req.uid });
topics.calculateTopicIndices(data.topics, start);
const pageCount = Math.max(1, Math.ceil(data.topicCount / topicsPerPage));
data.pagination = pagination.create(page, pageCount, req.query);
helpers.addLinkTags({
url: 'world',
res: req.res,
tags: data.pagination.rel,
page: page,
});
res.render('world', data);
};
controller.get = async function (req, res, next) {

View File

@@ -11,6 +11,7 @@ const meta = require('../meta');
const user = require('../user');
const categories = require('../categories');
const privileges = require('../privileges');
const activitypub = require('../activitypub');
const social = require('../social');
const Topics = module.exports;
@@ -69,8 +70,12 @@ Topics.getTopicsByTids = async function (tids, options) {
async function loadTopics() {
const topics = await Topics.getTopicsData(tids);
const uids = _.uniq(topics.map(t => t && t.uid && t.uid.toString()).filter(v => utils.isNumber(v)));
const cids = _.uniq(topics.map(t => t && t.cid && t.cid.toString()).filter(v => utils.isNumber(v)));
const uids = _.uniq(topics
.map(t => t && t.uid && t.uid.toString())
.filter(v => utils.isNumber(v) || activitypub.helpers.isUri(v)));
const cids = _.uniq(topics
.map(t => t && t.cid && t.cid.toString())
.filter(v => utils.isNumber(v) || activitypub.helpers.isUri(v)));
const guestTopics = topics.filter(t => t && t.uid === 0);
async function loadGuestHandles() {