mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
in locals middleware require tavern and mods only once
This commit is contained in:
@@ -6,6 +6,8 @@ var i18n = require('../i18n.js');
|
|||||||
var buildManifest = require('../libs/buildManifest');
|
var buildManifest = require('../libs/buildManifest');
|
||||||
var shared = require('../../../common');
|
var shared = require('../../../common');
|
||||||
var forceRefresh = require('./forceRefresh');
|
var forceRefresh = require('./forceRefresh');
|
||||||
|
var tavern = require('../models/group').tavern;
|
||||||
|
var mods = require('../models/user').mods;
|
||||||
|
|
||||||
module.exports = function(req, res, next) {
|
module.exports = function(req, res, next) {
|
||||||
var language = _.find(i18n.avalaibleLanguages, {code: req.language});
|
var language = _.find(i18n.avalaibleLanguages, {code: req.language});
|
||||||
@@ -14,7 +16,6 @@ module.exports = function(req, res, next) {
|
|||||||
// Load moment.js language file only when not on static pages
|
// Load moment.js language file only when not on static pages
|
||||||
language.momentLang = ((!isStaticPage && i18n.momentLangs[language.code]) || undefined);
|
language.momentLang = ((!isStaticPage && i18n.momentLangs[language.code]) || undefined);
|
||||||
|
|
||||||
var tavern = require('../models/group').tavern;
|
|
||||||
var envVars = _.pick(nconf.get(), 'NODE_ENV BASE_URL GA_ID STRIPE_PUB_KEY FACEBOOK_KEY AMPLITUDE_KEY'.split(' '));
|
var envVars = _.pick(nconf.get(), 'NODE_ENV BASE_URL GA_ID STRIPE_PUB_KEY FACEBOOK_KEY AMPLITUDE_KEY'.split(' '));
|
||||||
res.locals.habitrpg = _.merge(envVars, {
|
res.locals.habitrpg = _.merge(envVars, {
|
||||||
IS_MOBILE: /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header('User-Agent')),
|
IS_MOBILE: /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header('User-Agent')),
|
||||||
@@ -31,7 +32,7 @@ module.exports = function(req, res, next) {
|
|||||||
},
|
},
|
||||||
siteVersion: forceRefresh.siteVersion,
|
siteVersion: forceRefresh.siteVersion,
|
||||||
Content: shared.content,
|
Content: shared.content,
|
||||||
mods: require('../models/user').mods,
|
mods: mods,
|
||||||
tavern: tavern, // for world boss
|
tavern: tavern, // for world boss
|
||||||
worldDmg: (tavern && tavern.quest && tavern.quest.extra && tavern.quest.extra.worldDmg) || {},
|
worldDmg: (tavern && tavern.quest && tavern.quest.extra && tavern.quest.extra.worldDmg) || {},
|
||||||
_: _,
|
_: _,
|
||||||
|
|||||||
@@ -577,6 +577,10 @@ UserSchema.methods.unlink = function(options, cb) {
|
|||||||
|
|
||||||
module.exports.schema = UserSchema;
|
module.exports.schema = UserSchema;
|
||||||
module.exports.model = mongoose.model("User", UserSchema);
|
module.exports.model = mongoose.model("User", UserSchema);
|
||||||
|
// Initially export an empty object so external requires will get
|
||||||
|
// the right object by reference when it's defined later
|
||||||
|
// Otherwise it would remain undefined if requested before the query executes
|
||||||
|
module.exports.mods = {};
|
||||||
|
|
||||||
mongoose.model("User")
|
mongoose.model("User")
|
||||||
.find({'contributor.admin':true})
|
.find({'contributor.admin':true})
|
||||||
|
|||||||
Reference in New Issue
Block a user