Ghost/core/server/web/parent/middleware/ghost-locals.js
Hannah Wolfe d3f20c52fd Moved getApiVersion to a new shared "bridge" class
refs: bf0823c9a2

- Added a new bridge class that lives in shared. This should eventually be responsible for all cross-communication between the frontend and the server
- Having all the gnarly shared bits in one place should help us refactor more easily
- For now it also reduces requires between the core/server and core/frontend folders that are meant to be separate
- All calls to getApiVersion have also been renamed to getFrontendApiVersion, as this is different to the "default" API version
- Slowly getting to the point where frontend/services/themes can be moved to server/services/themes :)
2021-04-24 09:55:48 +01:00

20 lines
746 B
JavaScript

const ghostVersion = require('../../../lib/ghost-version');
const bridge = require('../../../../shared/bridge');
// ### GhostLocals Middleware
// Expose the standard locals that every request will need to have available
module.exports = function ghostLocals(req, res, next) {
// Make sure we have a locals value.
res.locals = res.locals || {};
// The current Ghost version
res.locals.version = ghostVersion.full;
// The current Ghost version, but only major.minor
res.locals.safeVersion = ghostVersion.safe;
// relative path from the URL
res.locals.relativeUrl = req.path;
// make ghost api version available for the theme + routing
res.locals.apiVersion = bridge.getFrontendApiVersion();
next();
};