refactor: changed way middleware was exported

v1.18.x
Julian Lam 5 years ago
parent f00595b32d
commit cf2f1e956a

@ -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);

Loading…
Cancel
Save