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