diff --git a/src/controllers/activitypub/actors.js b/src/controllers/activitypub/actors.js index add4ed404c..27dd2b8e8f 100644 --- a/src/controllers/activitypub/actors.js +++ b/src/controllers/activitypub/actors.js @@ -35,8 +35,14 @@ Actors.application = async function (req, res) { Actors.user = async function (req, res) { // todo: view:users priv gate - const { uid } = res.locals; - const payload = await activitypub.mocks.actor(uid); + const payload = await activitypub.mocks.actor(req.params.uid); res.status(200).json(payload); }; + +Actors.userBySlug = async function (req, res) { + const { uid } = res.locals; + req.params.uid = uid; + delete req.params.userslug; + Actors.user(req, res); +}; diff --git a/src/routes/activitypub.js b/src/routes/activitypub.js index 1a14a2c7a9..e7fa26f24b 100644 --- a/src/routes/activitypub.js +++ b/src/routes/activitypub.js @@ -15,7 +15,8 @@ module.exports = function (app, middleware, controllers) { const middlewares = [middleware.activitypub.enabled, middleware.activitypub.assertS2S, middleware.exposeUid]; app.get('/actor', middlewares, controllers.activitypub.actors.application); - app.get('/user/:userslug', middlewares, controllers.activitypub.actors.user); + app.get('/uid/:uid', [middleware.activitypub.enabled, middleware.activitypub.assertS2S], controllers.activitypub.actors.user); + app.get('/user/:userslug', middlewares, controllers.activitypub.actors.userBySlug); app.get('/user/:userslug/inbox', middlewares, controllers.activitypub.getInbox); app.post('/user/:userslug/inbox', [...middlewares, middleware.activitypub.validate], controllers.activitypub.postInbox);