This commit is contained in:
2020-04-10 17:04:50 -04:00
parent 0c337716d3
commit 5266aec2b1
14 changed files with 300 additions and 244 deletions

View File

@ -17,6 +17,18 @@ router.post('/login', async function(req, res, next){
}
});
router.all('/logout', async function(req, res, next){
try{
if(req.user){
await req.user.logout();
}
res.json({message: 'Bye'})
}catch(error){
next(error);
}
});
router.post('/invite/:token', async function(req, res, next) {
try{
req.body.token = req.params.token;

View File

@ -30,7 +30,8 @@ router.get('/', async function(req, res, next){
router.put('/:host', async function(req, res, next){
try{
req.body.updated_by = req.user.username;
await Host.update(req.body, req.params.host);
let host = await Host.get(req.params.host);
await host.update(req.body);
return res.json({
message: `Host "${req.params.host}" updated.`

View File

@ -3,8 +3,33 @@
const router = require('express').Router();
const {User} = require('../models/user');
router.get('/', async function(req, res, next){
try{
return res.json({results: await User.list()});
}catch(error){
next(error);
}
});
router.get('/me', async function(req, res){
router.post('/', async function(req, res, next){
try{
return res.json({results: await User.add(req.body)});
}catch(error){
next(error);
}
});
router.delete('/:username', async function(req, res, next){
try{
let user = await User.get(req.params.username);
return res.json({username: req.params.username, results: await user.remove()})
}catch(error){
next(error);
}
});
router.get('/me', async function(req, res, next){
try{
return res.json({username: req.user.username});
}catch(error){
@ -12,6 +37,23 @@ router.get('/me', async function(req, res){
}
});
router.put('/password', async function(req, res, next){
try{
return res.json({results: await req.user.setPassword(req.body)})
}catch(error){
next(error);
}
});
router.put('/password/:username', async function(req, res, next){
try{
let user = await User.get(req.params.username);
return res.json({results: await user.setPassword(req.body)});
}catch(error){
next(error);
}
});
router.post('/invite', async function(req, res, next){
try{
let token = await req.user.invite();