You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
const privileges = require('../privileges');
|
|
const helpers = require('./helpers');
|
|
|
|
var adminController = {
|
|
dashboard: require('./admin/dashboard'),
|
|
categories: require('./admin/categories'),
|
|
privileges: require('./admin/privileges'),
|
|
adminsMods: require('./admin/admins-mods'),
|
|
tags: require('./admin/tags'),
|
|
groups: require('./admin/groups'),
|
|
digest: require('./admin/digest'),
|
|
appearance: require('./admin/appearance'),
|
|
extend: {
|
|
widgets: require('./admin/widgets'),
|
|
rewards: require('./admin/rewards'),
|
|
},
|
|
events: require('./admin/events'),
|
|
hooks: require('./admin/hooks'),
|
|
logs: require('./admin/logs'),
|
|
errors: require('./admin/errors'),
|
|
database: require('./admin/database'),
|
|
cache: require('./admin/cache'),
|
|
plugins: require('./admin/plugins'),
|
|
settings: require('./admin/settings'),
|
|
logger: require('./admin/logger'),
|
|
themes: require('./admin/themes'),
|
|
users: require('./admin/users'),
|
|
uploads: require('./admin/uploads'),
|
|
info: require('./admin/info'),
|
|
};
|
|
|
|
adminController.routeIndex = async (req, res) => {
|
|
const privilegeSet = await privileges.admin.get(req.uid);
|
|
|
|
if (privilegeSet.superadmin || privilegeSet['admin:dashboard']) {
|
|
return adminController.dashboard.get(req, res);
|
|
} else if (privilegeSet['admin:categories']) {
|
|
return helpers.redirect(res, 'admin/manage/categories');
|
|
} else if (privilegeSet['admin:privileges']) {
|
|
return helpers.redirect(res, 'admin/manage/privileges');
|
|
} else if (privilegeSet['admin:users']) {
|
|
return helpers.redirect(res, 'admin/manage/users');
|
|
} else if (privilegeSet['admin:settings']) {
|
|
return helpers.redirect(res, 'admin/settings/general');
|
|
}
|
|
|
|
return helpers.notAllowed(req, res);
|
|
};
|
|
|
|
module.exports = adminController;
|