mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: AP S2S handling for /user/:userslug route
This commit is contained in:
@@ -17,6 +17,7 @@ const posts = require('../posts');
|
||||
const messaging = require('../messaging');
|
||||
const flags = require('../flags');
|
||||
const slugify = require('../slugify');
|
||||
const utils = require('../utils');
|
||||
const activitypub = require('../activitypub');
|
||||
|
||||
const helpers = require('./helpers');
|
||||
@@ -25,9 +26,11 @@ const controllerHelpers = require('../controllers/helpers');
|
||||
const Assert = module.exports;
|
||||
|
||||
Assert.user = helpers.try(async (req, res, next) => {
|
||||
const uid = req.params.uid || res.locals.uid;
|
||||
|
||||
if (
|
||||
(isFinite(req.params.uid) && await user.exists(req.params.uid)) ||
|
||||
(req.params.uid.indexOf('@') !== -1 && await activitypub.helpers.query(req.params.uid))
|
||||
(utils.isNumber(uid) && await user.exists(uid)) ||
|
||||
(uid.indexOf('@') !== -1 && await activitypub.helpers.query(uid))
|
||||
) {
|
||||
return next();
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ module.exports = function (app, middleware, controllers) {
|
||||
app.post('/inbox', [...middlewares, middleware.activitypub.validate], controllers.activitypub.postInbox);
|
||||
|
||||
app.get('/uid/:uid', [...middlewares, middleware.assert.user], controllers.activitypub.actors.user);
|
||||
app.get('/user/:userslug', [...middlewares, middleware.assert.user, middleware.exposeUid], controllers.activitypub.actors.userBySlug);
|
||||
app.get('/user/:userslug', [...middlewares, middleware.exposeUid, middleware.assert.user], controllers.activitypub.actors.userBySlug);
|
||||
app.get('/uid/:uid/inbox', [...middlewares, middleware.assert.user], controllers.activitypub.getInbox);
|
||||
app.post('/uid/:uid/inbox', [...middlewares, middleware.assert.user, middleware.activitypub.validate], controllers.activitypub.postInbox);
|
||||
app.get('/uid/:uid/outbox', [...middlewares, middleware.assert.user], controllers.activitypub.getOutbox);
|
||||
|
||||
Reference in New Issue
Block a user