mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-19 02:50:53 +01:00
feat: category group actor outbox, #14083
This commit is contained in:
@@ -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,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user