2019-10-11 18:34:14 +02:00
|
|
|
const settingsController = require('./api/controller/settings')
|
|
|
|
|
const acceptLanguage = require('accept-language')
|
2019-10-20 14:22:55 +02:00
|
|
|
const moment = require('moment-timezone')
|
2019-10-11 18:34:14 +02:00
|
|
|
const config = require('config')
|
2019-10-30 14:58:40 +01:00
|
|
|
const pkg = require('../package.json')
|
2019-10-11 18:34:14 +02:00
|
|
|
|
|
|
|
|
module.exports = {
|
2020-01-27 00:47:03 +01:00
|
|
|
|
|
|
|
|
async initSettings (req, res, next) {
|
2019-12-04 00:50:15 +01:00
|
|
|
await settingsController.load()
|
2019-10-11 18:34:14 +02:00
|
|
|
// initialize settings
|
|
|
|
|
req.settings = settingsController.settings
|
|
|
|
|
req.secretSettings = settingsController.secretSettings
|
|
|
|
|
|
|
|
|
|
req.settings.baseurl = config.baseurl
|
2020-01-15 23:51:09 +01:00
|
|
|
req.settings.title = req.settings.title || config.title
|
|
|
|
|
req.settings.description = req.settings.description || config.description
|
2019-10-30 14:58:40 +01:00
|
|
|
req.settings.version = pkg.version
|
2019-10-11 18:34:14 +02:00
|
|
|
|
|
|
|
|
// set locale and user locale
|
|
|
|
|
const acceptedLanguages = req.headers['accept-language']
|
2019-12-18 14:59:10 +01:00
|
|
|
const supportedLanguages = ['en', 'it', 'es', 'ca']
|
2019-10-11 18:34:14 +02:00
|
|
|
acceptLanguage.languages(supportedLanguages)
|
|
|
|
|
req.settings.locale = acceptLanguage.get(acceptedLanguages)
|
|
|
|
|
req.settings.user_locale = settingsController.user_locale[req.settings.locale]
|
2019-10-20 14:22:55 +02:00
|
|
|
moment.locale(req.settings.locale)
|
2020-01-15 23:51:09 +01:00
|
|
|
moment.tz.setDefault(req.settings.instance_timezone)
|
2020-01-27 00:47:03 +01:00
|
|
|
next()
|
2019-10-11 18:34:14 +02:00
|
|
|
}
|
2020-01-27 00:47:03 +01:00
|
|
|
|
2019-10-30 14:58:40 +01:00
|
|
|
}
|