tracman-server/config/routes/admin.js

44 lines
862 B
JavaScript
Raw Normal View History

'use strict';
2017-03-15 02:08:12 -06:00
const router = require('express').Router(),
2016-03-31 15:57:34 -06:00
mw = require('../middleware.js'),
User = require('../models.js').user;
2016-03-31 15:57:34 -06:00
2016-06-12 18:18:34 -06:00
router.route('/')
.all(mw.ensureAdmin, (req,res,next)=>{
2016-03-31 15:57:34 -06:00
next();
} )
.get( (req,res)=>{
2016-06-30 14:40:21 -06:00
User.find({}).sort({lastLogin:-1})
2017-04-20 21:07:35 -06:00
.then( (found)=>{
res.render('admin', {
noFooter: '1',
users: found
});
2017-04-20 21:07:35 -06:00
})
.catch( (err)=>{ mw.throwErr(err,req); });
2016-06-30 14:40:21 -06:00
} )
2016-06-30 14:40:21 -06:00
.post( (req,res,next)=>{
if (req.body.delete) {
2017-04-20 21:07:35 -06:00
User.findOneAndRemove({'_id':req.body.delete})
.then( (user)=>{
req.flash('success', '<i>'+user.name+'</i> deleted.');
2016-06-30 14:40:21 -06:00
res.redirect('/admin#users');
2017-04-20 21:07:35 -06:00
})
.catch( (err)=>{
mw.throwErr(err,req);
res.redirect('/admin#users');
});
}
else {
let err = new Error('POST without action sent. ');
err.status = 500;
next();
}
} );
2016-03-31 15:57:34 -06:00
module.exports = router;