Newer
Older
express-blog / src / utils / baseContext.js
// src/utils/baseContext.js
const path = require("path");
const getPostsMenu = require("../services/postsMenuService");
const { formatMonth } = require("./formatMonth");
const { qualifyNavLinks } = require("./qualifyLinks.js");
const { baseUrl } = require("./baseUrl.js");
const navLinks = require(path.join(__dirname, "../../content/navLinks.json"));
const filterSecureLinks = require("../utils/filterSecureLinks");

module.exports = async function getBaseContext(
  isAuthenticated,
  overrides = {}
) {
  const filteredNavLinks = filterSecureLinks(navLinks, isAuthenticated);
  const qualifiedNavLinks = qualifyNavLinks(filteredNavLinks);
  const menu = await getPostsMenu(path.join(__dirname, "../../content/posts"));

  return Object.assign(
    {
      siteOwner: process.env.SITE_OWNER,
      originCountry: process.env.COUNTRY,
      hCaptchaKey: process.env.HCAPTCHA_KEY,
      navLinks: qualifiedNavLinks,
      years: menu,
      formatMonth,
      baseUrl,
      isAuthenticated,
      showSidebar: true,
      showFooter: true,
    },
    overrides
  );
};