const router = require('express-promise-router')() const parseJSON = require('body-parser').json() const db = require('../db') const validate = require('./middleware/validators') const loginValidation = [ validate.validEmail('email'), validate.validPassword('password'), validate.handleApiError ] router.post('/', parseJSON, loginValidation, async (req, res) => { const user = await db.user.login( req.body.email, req.body.password ) if(!user){ return res.status(422).json({errors: [{ param: 'email', msg: 'Invalid login' },{ param: 'password', msg: ' ' }]}) } await db.session.create(req, user) res.json(user) }) // TODO: Login link stuff router.get('/', async (req, res) => { res.json(req.user) }) router.get('/logout', async (req, res) => { await db.session.end(req.session.uuid); req.session = null res.redirect('/') }) module.exports = router;