mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
32 lines
996 B
JavaScript
32 lines
996 B
JavaScript
import { getUserLanguage } from './language';
|
|
import nconf from 'nconf';
|
|
|
|
const MAINTENANCE_MODE = nconf.get('MAINTENANCE_MODE');
|
|
|
|
module.exports = function maintenanceMode (req, res, next) {
|
|
if (MAINTENANCE_MODE !== 'true') return next();
|
|
|
|
getUserLanguage(req, res, (err) => {
|
|
if (err) return next(err);
|
|
|
|
let pageVariables = {
|
|
maintenanceStart: nconf.get('MAINTENANCE_START'),
|
|
maintenanceEnd: nconf.get('MAINTENANCE_END'),
|
|
translation: res.t,
|
|
};
|
|
|
|
if (req.headers && req.headers.accept && req.headers.accept.indexOf('text/html') !== -1) {
|
|
if (req.path === '/views/static/maintenance-info') {
|
|
return res.status(503).render('../../views/static/maintenance-info', pageVariables);
|
|
} else {
|
|
return res.status(503).render('../../views/static/maintenance', pageVariables);
|
|
}
|
|
} else {
|
|
return res.status(503).send({
|
|
error: 'Maintenance',
|
|
message: 'Server offline for maintenance.',
|
|
});
|
|
}
|
|
});
|
|
};
|