"use strict"; var Promise = require('bluebird'), moment = require('moment-timezone'); /** * Authentication middleware * * @param {Express Request} req Express Request object * @param {Express Response} res Express Response object * @param {Function} next Next callback function * @return {any} void */ module.exports = (req, res, next) => { // Is user authenticated ? if (!req.isAuthenticated()) { return res.redirect('/login'); } // Set i18n locale req.i18n.changeLanguage(req.user.lang); res.locals.userMoment = moment; res.locals.userMoment.locale(req.user.lang); // Expose user data res.locals.user = req.user; return next(); };