'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;