diff options
author | 2023-08-21 22:19:54 +0200 | |
---|---|---|
committer | 2023-08-21 22:23:57 +0200 | |
commit | 9fb0815b575cfc23ced6722b1a164328bd3cff1a (patch) | |
tree | 971a10bb74824d007cb74082a0a1d07dba3f30e2 /routes/authRoutes.js | |
parent | 4d28ac359b25d89d0dbb42dd3a6d32269eebc619 (diff) | |
download | auth-service-9fb0815b575cfc23ced6722b1a164328bd3cff1a.tar.gz auth-service-9fb0815b575cfc23ced6722b1a164328bd3cff1a.tar.bz2 auth-service-9fb0815b575cfc23ced6722b1a164328bd3cff1a.zip |
refactor, new routes
Diffstat (limited to 'routes/authRoutes.js')
-rw-r--r-- | routes/authRoutes.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/routes/authRoutes.js b/routes/authRoutes.js new file mode 100644 index 0000000..110e7f4 --- /dev/null +++ b/routes/authRoutes.js @@ -0,0 +1,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 |