diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/middleware/redirectLogged.js | 1 | ||||
-rw-r--r-- | server/models/Session.js | 1 | ||||
-rw-r--r-- | server/routes/user.js | 25 |
3 files changed, 24 insertions, 3 deletions
diff --git a/server/middleware/redirectLogged.js b/server/middleware/redirectLogged.js index 7d06ece..4e15aa8 100644 --- a/server/middleware/redirectLogged.js +++ b/server/middleware/redirectLogged.js @@ -3,7 +3,6 @@ const User = require('../models/User'); const Session = require('../models/Session'); const redirectLogged = async (req, res, next) => { - console.log('redirectLogged') try { const token = req.cookies.token || ''; if (!token) { diff --git a/server/models/Session.js b/server/models/Session.js index 06a4369..271c330 100644 --- a/server/models/Session.js +++ b/server/models/Session.js @@ -15,7 +15,6 @@ const sessionSchema = new mongoose.Schema({ sessionSchema.methods.setAccessDate = function (user) { this.lastAccess = Date.now(); - console.log('refreshing time in db') this.save(); } diff --git a/server/routes/user.js b/server/routes/user.js index ee216ac..454a900 100644 --- a/server/routes/user.js +++ b/server/routes/user.js @@ -4,15 +4,36 @@ const Session = require('../models/Session'); const auth = require('../middleware/auth'); const jwt = require('jsonwebtoken'); +// Get user data router.get('/me', auth, (req, res) => { if (req.loggedUser) { - console.log(req.loggedUser) return res.json(req.loggedUser); } return res.clearCookie('token').redirect('/login'); }) +// Set Language +router.post('/language', auth, async (req, res) => { + try { + const user = await User.findById(req.loggedUser.userId); + if (!user) { + throw new Error(); + } + + user.language = req.body.language; + await user.save(); + + const session = await Session.findById(req.sessionId); + session.generateJwtToken(user); + + res.status(204).send(); + } catch(err) { + res.status(400).send('Could not save the language settings.'); + } +}); + +// Register new user router.post('/register', async (req, res) => { const user = new User(req.body); @@ -30,6 +51,7 @@ router.post('/register', async (req, res) => { } }); +// Login user router.post('/login', async (req, res) => { try { const user = await User.findByCredentials(req.body.email, req.body.password); @@ -61,6 +83,7 @@ router.post('/login', async (req, res) => { } }); +// Logout user router.post('/logout', auth, async (req, res) => { try { await Session.findByIdAndRemove(req.sessionId); |