mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-05 05:25:49 +01:00
move slug handling to middleware #12632
This commit is contained in:
@@ -15,16 +15,6 @@ const utils = require('../../utils');
|
|||||||
const profileController = module.exports;
|
const profileController = module.exports;
|
||||||
|
|
||||||
profileController.get = async function (req, res, next) {
|
profileController.get = async function (req, res, next) {
|
||||||
const lowercaseSlug = req.params.userslug.toLowerCase();
|
|
||||||
|
|
||||||
if (req.params.userslug !== lowercaseSlug) {
|
|
||||||
if (res.locals.isAPI) {
|
|
||||||
req.params.userslug = lowercaseSlug;
|
|
||||||
} else {
|
|
||||||
return res.redirect(`${nconf.get('relative_path')}/user/${lowercaseSlug}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const { userData } = res.locals;
|
const { userData } = res.locals;
|
||||||
if (!userData) {
|
if (!userData) {
|
||||||
return next();
|
return next();
|
||||||
|
|||||||
@@ -248,6 +248,16 @@ module.exports = function (middleware) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
middleware.buildAccountData = async (req, res, next) => {
|
middleware.buildAccountData = async (req, res, next) => {
|
||||||
|
// use lowercase slug on api routes, or direct to the user/<lowercaseslug>
|
||||||
|
const lowercaseSlug = req.params.userslug.toLowerCase();
|
||||||
|
if (req.params.userslug !== lowercaseSlug) {
|
||||||
|
if (res.locals.isAPI) {
|
||||||
|
req.params.userslug = lowercaseSlug;
|
||||||
|
} else {
|
||||||
|
return res.redirect(`${nconf.get('relative_path')}/user/${lowercaseSlug}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
res.locals.userData = await accountHelpers.getUserDataByUserSlug(req.params.userslug, req.uid, req.query);
|
res.locals.userData = await accountHelpers.getUserDataByUserSlug(req.params.userslug, req.uid, req.query);
|
||||||
next();
|
next();
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user