Newer
Older
express-blog / src / middleware / baseContext.js
@Jason Jason on 13 Jul 680 bytes modified: src/app.js
// src/middleware/baseContext.js
const getBaseContext = require("../utils/baseContext");
const { qualifyLink } = require("../utils/qualifyLinks");
const { generateToken } = require("../utils/adminToken");

module.exports = async function baseContextMiddleware(req, res, next) {
  const isAuthenticated = req.isAuthenticated;
  const token = generateToken();
  const adminLoginUrl = qualifyLink(`/${token}`);

  const baseContext = await getBaseContext(isAuthenticated, { adminLoginUrl });
  res.locals.baseContext = baseContext;

  res.renderWithBaseContext = (template, overrides = {}) => {
    res.render(template, Object.assign({}, baseContext, overrides));
  };

  next();
};