36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
var router = require('express').Router(),
|
|
mw = require('../middleware.js'),
|
|
secret = require('../secrets.js'),
|
|
User = require('../models/user.js');
|
|
|
|
router.get('/:slug', function(req,res,next){
|
|
User.findOne({slug:req.params.slug}, function(err, tracuser) {
|
|
if (err){ mw.throwErr(req,err); }
|
|
if (!tracuser){ next(); }
|
|
else { res.render('trac.html',{
|
|
api: secret.mapAPI,
|
|
user: req.user,
|
|
tracuser: tracuser,
|
|
noFooter: '1',
|
|
noHeader: (req.query.noheader)?req.query.noheader.match(/\d/)[0]:'',
|
|
disp: (req.query.disp)?req.query.disp.match(/\d/)[0]:'' // 0=map, 1=streetview, 2=both
|
|
}); }
|
|
});
|
|
});
|
|
|
|
router.get('/', mw.ensureAuth, function(req,res,next){
|
|
User.findById(req.session.passport.user, function(err, user){
|
|
if (err){ mw.throwErr(req,err); }
|
|
if (!user){ next(); }
|
|
else { res.redirect('/trac/'+user.slug+((req.url.indexOf('?')<0)?'':('?'+req.url.split('?')[1]))); }
|
|
});
|
|
});
|
|
router.get('/id/:id', function(req,res,next){
|
|
User.findById(req.params.id, function(err, user){
|
|
if (err){ mw.throwErr(req,err); }
|
|
if (!user){ next(); }
|
|
else { res.redirect('/trac/'+user.slug+((req.url.indexOf('?')<0)?'':('?'+req.url.split('?')[1]))); }
|
|
});
|
|
});
|
|
|
|
module.exports = router; |