summaryrefslogtreecommitdiffstats
path: root/routes/authRoutes.js
blob: 110e7f4a6d6a6221536d78fb1f93f8887120de90 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const router = require('express').Router()
const User = require('../model/User')

// Logout (pass sessionId or will logout one from jwt)
router.post('/logout', async (req, res) => {
  try {
    const { email, sessionId } = req.user

    if (!email || !(req.body.sessionId || sessionId)) throw new Error()

    await User.removeSession({ email, sessionId: req.body.sessionId || sessionId })

    res.status(204).send()
  } catch (err) {
    console.log(err)
    res.status(401).send({ error: 'Could not logout' })
  }
})

// User sessions
router.get("/sessions", async (req, res) => {
  const { email } = req.user

  try {
    const sessions = await User.getSessions({ email })

    res.send({ sessions })
  } catch (err) {
    res.status(401).send({ error: 'Error getting sessions' })
  }
})

module.exports = router