2017-12-12 17:40:07 -07:00
|
|
|
'use strict'
|
2017-03-15 02:01:55 -06:00
|
|
|
|
2017-12-12 17:40:07 -07:00
|
|
|
const router = require('express').Router()
|
|
|
|
const mw = require('../middleware.js')
|
|
|
|
const debug = require('debug')('tracman-routes-admin')
|
|
|
|
const User = require('../models.js').user
|
2016-03-31 15:57:34 -06:00
|
|
|
|
2018-01-20 20:45:25 -07:00
|
|
|
router.get('/', mw.ensureAdmin, async (req, res) => {
|
|
|
|
try {
|
|
|
|
let found = await User.find({}).sort({lastLogin: -1})
|
2017-12-12 17:40:07 -07:00
|
|
|
res.render('admin', {
|
|
|
|
active: 'admin',
|
|
|
|
noFooter: '1',
|
|
|
|
users: found,
|
|
|
|
total: found.length
|
|
|
|
})
|
2018-01-20 20:45:25 -07:00
|
|
|
} catch (err) { mw.throwErr(err, req) }
|
2017-12-12 17:40:07 -07:00
|
|
|
})
|
2017-04-13 16:53:18 -06:00
|
|
|
|
2018-01-20 20:45:25 -07:00
|
|
|
router.get('/delete/:usrid', mw.ensureAdmin, async (req, res, next) => {
|
2017-12-12 17:40:07 -07:00
|
|
|
debug(`/delete/${req.params.usrid} called`)
|
|
|
|
|
2018-01-20 20:45:25 -07:00
|
|
|
try {
|
|
|
|
await User.findOneAndRemove({'_id': req.params.usrid})
|
2017-12-12 17:40:07 -07:00
|
|
|
req.flash('success', `<i>${req.params.usrid}</i> deleted.`)
|
|
|
|
res.redirect('/admin')
|
2018-01-20 20:45:25 -07:00
|
|
|
} catch (err) {
|
2017-12-12 17:40:07 -07:00
|
|
|
mw.throwErr(err, req)
|
|
|
|
res.redirect('/admin')
|
2018-01-20 20:45:25 -07:00
|
|
|
}
|
2017-12-12 17:40:07 -07:00
|
|
|
})
|
|
|
|
|
|
|
|
module.exports = router
|