tpbproxy/routes/authtoken.js
2024-01-05 22:06:34 -05:00

68 lines
1.3 KiB
JavaScript

'use strict';
const router = require('express').Router();
const {AuthToken} = require('>/models');
router.get('/', async function(req, res, next){
try{
return res.json(await AuthToken.findAll());
}catch(error){
next(error);
}
});
router.post('/', async function(req, res, next){
try{
return res.json(await AuthToken.create(req.body));
}catch(error){
console.error(error)
next(error);
}
});
router.get('/user/:username', async function(req, res, next){
try{
return res.json(await AuthToken.findAll({where:{
username: req.params.username
}}));
}catch(error){
next(error);
}
});
router.get('/:token', async function(req, res, next){
try{
let token = await AuthToken.findByPk(req.params.token)
token.dataValues.user = await token.getUser()
return res.json(token);
}catch(error){
next(error);
}
});
router.put('/:token', async function(req, res, next){
try{
let token = await AuthToken.findByPk(req.params.token);
await token.update(req.body);
return res.json(token);
}catch(error){
next(error);
}
});
router.delete('/:token', async function(req, res, next){
try{
let token = await AuthToken.findByPk(req.params.token);
await token.destroy();
return res.json({'deleted': true});
}catch(error){
next(error);
}
});
module.exports = router;