mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-05-07 05:37:35 +02: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) => {
|
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({
|
res.status(200).json({
|
||||||
'@context': 'https://www.w3.org/ns/activitystreams',
|
'@context': 'https://www.w3.org/ns/activitystreams',
|
||||||
type: 'OrderedCollection',
|
...collection,
|
||||||
totalItems: 0,
|
|
||||||
orderedItems: [],
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user