Add language routing

This commit is contained in:
Berkeley Martinez
2016-06-17 12:35:10 -07:00
parent ee4f1dbb73
commit 078560c3ba
18 changed files with 305 additions and 79 deletions

View File

@@ -1,4 +1,5 @@
import { defaultProfileImage } from '../../common/utils/constantStrings.json';
import supportedLanguages from '../../common/utils/supported-languages';
const message =
'Learn to Code and Help Nonprofits';
@@ -6,24 +7,37 @@ const message =
module.exports = function(app) {
var router = app.loopback.Router();
router.get('/', addDefaultImage, index);
app.use(
'/:lang',
(req, res, next) => {
// add url language to request for all routers
req._urlLang = req.params.lang;
next();
},
router
);
app.use(router);
function addDefaultImage(req, res, next) {
if (!req.user || req.user.picture) {
return next();
}
req.user.picture = defaultProfileImage;
return req.user.save(function(err) {
if (err) { return next(err); }
return next();
});
return req.user.update$({ picture: defaultProfileImage })
.subscribe(
() => next(),
next
);
}
function index(req, res) {
function index(req, res, next) {
if (!supportedLanguages[req._urlLang]) {
return next();
}
if (req.user) {
return res.redirect('/challenges/current-challenge');
}
return res.render('home', { title: message });
}
};