fix: is user doesnt have view:users privilege

dont redirect uid/1 to userslug
This commit is contained in:
Barış Soner Uşaklı
2024-04-12 12:50:51 -04:00
parent 6816e39bd8
commit 14f5774f6a
2 changed files with 11 additions and 3 deletions

View File

@@ -203,8 +203,12 @@ module.exports = function (middleware) {
if (uid <= 0) {
return next();
}
const userslug = await user.getUserField(uid, 'userslug');
if (!userslug) {
const [canView, userslug] = await Promise.all([
privileges.global.can('view:users', req.uid),
user.getUserField(uid, 'userslug'),
]);
if (!userslug || (!canView && req.uid !== uid)) {
return next();
}
const path = req.url.replace(/^\/api/, '')

View File

@@ -5,7 +5,11 @@ const helpers = require('./helpers');
const { setupPageRoute } = helpers;
module.exports = function (app, name, middleware, controllers) {
const middlewares = [middleware.exposeUid, middleware.canViewUsers, middleware.buildAccountData];
const middlewares = [
middleware.exposeUid,
middleware.canViewUsers,
middleware.buildAccountData,
];
const accountMiddlewares = [
...middlewares,
middleware.ensureLoggedIn,