mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-28 09:36:16 +01:00
refactor: changed way middleware was exported
This commit is contained in:
@@ -18,13 +18,15 @@ var controllers = {
|
||||
helpers: require('../controllers/helpers'),
|
||||
};
|
||||
|
||||
module.exports.buildHeader = helpers.try(async function (req, res, next) {
|
||||
const middleware = module.exports;
|
||||
|
||||
middleware.buildHeader = helpers.try(async function (req, res, next) {
|
||||
res.locals.renderAdminHeader = true;
|
||||
res.locals.config = await controllers.api.loadConfig(req);
|
||||
next();
|
||||
});
|
||||
|
||||
module.exports.renderHeader = async (req, res, data) => {
|
||||
middleware.renderHeader = async (req, res, data) => {
|
||||
var custom_header = {
|
||||
plugins: [],
|
||||
authentication: [],
|
||||
@@ -96,11 +98,11 @@ async function getLatestVersion() {
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports.renderFooter = async function (req, res, data) {
|
||||
middleware.renderFooter = async function (req, res, data) {
|
||||
return await req.app.renderAsync('admin/footer', data);
|
||||
};
|
||||
|
||||
module.exports.checkPrivileges = async (req, res, next) => {
|
||||
middleware.checkPrivileges = async (req, res, next) => {
|
||||
// Kick out guests, obviously
|
||||
if (!req.uid) {
|
||||
return controllers.helpers.notAllowed(req, res);
|
||||
|
||||
@@ -24,8 +24,9 @@ var controllers = {
|
||||
helpers: require('../controllers/helpers'),
|
||||
};
|
||||
|
||||
module.exports = function (middleware) {
|
||||
middleware.buildHeader = helpers.try(async function buildHeader(req, res, next) {
|
||||
const middleware = module.exports;
|
||||
|
||||
middleware.buildHeader = helpers.try(async function buildHeader(req, res, next) {
|
||||
res.locals.renderHeader = true;
|
||||
res.locals.isAPI = false;
|
||||
const [config] = await Promise.all([
|
||||
@@ -34,11 +35,11 @@ module.exports = function (middleware) {
|
||||
]);
|
||||
res.locals.config = config;
|
||||
next();
|
||||
});
|
||||
});
|
||||
|
||||
middleware.buildHeaderAsync = util.promisify(middleware.buildHeader);
|
||||
middleware.buildHeaderAsync = util.promisify(middleware.buildHeader);
|
||||
|
||||
async function generateHeader(req, res, data) {
|
||||
async function generateHeader(req, res, data) {
|
||||
var registrationType = meta.config.registrationType || 'normal';
|
||||
res.locals.config = res.locals.config || {};
|
||||
var templateValues = {
|
||||
@@ -175,13 +176,13 @@ module.exports = function (middleware) {
|
||||
});
|
||||
|
||||
return hookReturn.templateValues;
|
||||
}
|
||||
}
|
||||
|
||||
middleware.renderHeader = async function renderHeader(req, res, data) {
|
||||
middleware.renderHeader = async function renderHeader(req, res, data) {
|
||||
return await req.app.renderAsync('header', await generateHeader(req, res, data));
|
||||
};
|
||||
};
|
||||
|
||||
middleware.renderFooter = async function renderFooter(req, res, templateValues) {
|
||||
middleware.renderFooter = async function renderFooter(req, res, templateValues) {
|
||||
const data = await plugins.fireHook('filter:middleware.renderFooter', {
|
||||
req: req,
|
||||
res: res,
|
||||
@@ -215,9 +216,9 @@ module.exports = function (middleware) {
|
||||
data.templateValues.isSpider = req.uid === -1;
|
||||
|
||||
return await req.app.renderAsync('footer', data.templateValues);
|
||||
};
|
||||
};
|
||||
|
||||
function modifyTitle(obj) {
|
||||
function modifyTitle(obj) {
|
||||
var title = controllers.helpers.buildTitle(meta.config.homePageTitle || '[[pages:home]]');
|
||||
obj.browserTitle = title;
|
||||
|
||||
@@ -230,5 +231,4 @@ module.exports = function (middleware) {
|
||||
}
|
||||
|
||||
return title;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -51,8 +51,10 @@ middleware.applyCSRF = function (req, res, next) {
|
||||
|
||||
middleware.ensureLoggedIn = ensureLoggedIn.ensureLoggedIn(nconf.get('relative_path') + '/login');
|
||||
|
||||
middleware.admin = require('./admin');
|
||||
require('./header')(middleware);
|
||||
Object.assign(middleware, {
|
||||
admin: require('./admin'),
|
||||
...require('./header'),
|
||||
});
|
||||
require('./render')(middleware);
|
||||
require('./maintenance')(middleware);
|
||||
require('./user')(middleware);
|
||||
|
||||
Reference in New Issue
Block a user