2017-03-15 02:01:55 -06:00
|
|
|
'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'),
|
2017-04-13 16:53:18 -06:00
|
|
|
User = require('../models.js').user;
|
2016-03-31 15:57:34 -06:00
|
|
|
|
2016-06-12 18:18:34 -06:00
|
|
|
router.route('/')
|
2017-04-13 16:53:18 -06:00
|
|
|
.all(mw.ensureAdmin, (req,res,next)=>{
|
2016-03-31 15:57:34 -06:00
|
|
|
next();
|
2017-04-13 16:53:18 -06:00
|
|
|
} )
|
|
|
|
|
|
|
|
.get( (req,res)=>{
|
2016-06-30 14:40:21 -06:00
|
|
|
|
2017-04-13 16:53:18 -06:00
|
|
|
User.find({}).sort({lastLogin:-1})
|
2017-04-20 21:07:35 -06:00
|
|
|
.then( (found)=>{
|
2017-04-13 16:53:18 -06:00
|
|
|
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
|
|
|
|
2017-04-13 16:53:18 -06:00
|
|
|
} )
|
2016-06-30 14:40:21 -06:00
|
|
|
|
2017-04-13 16:53:18 -06:00
|
|
|
.post( (req,res,next)=>{
|
2016-05-05 23:32:31 -06:00
|
|
|
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();
|
|
|
|
}
|
2017-04-13 16:53:18 -06:00
|
|
|
} );
|
|
|
|
|
2016-03-31 15:57:34 -06:00
|
|
|
module.exports = router;
|