feat: category group actor outbox, #14083

This commit is contained in:
Julian Lam
2026-03-11 14:53:06 -04:00
parent 9978af5978
commit b317cdd365

View File

@@ -215,12 +215,39 @@ Controller.getOutbox = async (req, res) => {
};
Controller.getCategoryOutbox = async (req, res) => {
// stub
const { cid } = req.params;
const { page } = req.query;
const set = `cid:${cid}:pids`;
const count = await db.sortedSetCard(set);
const collection = await activitypub.helpers.generateCollection({
set,
count,
page,
perPage: 20,
url: `${nconf.get('url')}/category/1/outbox`,
});
collection.orderedItems = await Promise.all(collection.orderedItems.map(async (pid) => {
let object;
if (utils.isNumber(pid)) {
const { activity } = await activitypub.mocks.activities.create(pid, 0);
object = activity;
} else {
object = pid;
}
return {
id: `${nconf.get('url')}/post/${encodeURIComponent(pid)}#activity/announce/cid/${cid}`,
type: 'Announce',
actor: `${nconf.get('url')}/category/${cid}`,
to: [activitypub._constants.publicAddress],
cc: [`${nconf.get('url')}/category/${cid}/followers`],
object,
};
}));
res.status(200).json({
'@context': 'https://www.w3.org/ns/activitystreams',
type: 'OrderedCollection',
totalItems: 0,
orderedItems: [],
...collection,
});
};