setuser.js 900 Bytes
Newer Older
mntmn's avatar
mntmn committed
1
2
3
4
5
6
7
'use strict';

require('../models/schema');
var config = require('config');

module.exports = (req, res, next) => {
  const token = req.cookies["sdsession"];
8
  
mntmn's avatar
mntmn committed
9
10
11
12
  if (token && token != "null" && token !== null) {
    User.findOne({
      "sessions.token": token
    }).populate('team').exec((err, user) => {
13
      if (err) console.error("session.token lookup error:",err);
mntmn's avatar
mntmn committed
14
      if (!user) {
15
        res.clearCookie('sdsession');
mntmn's avatar
mntmn committed
16
17

        if (req.accepts("text/html")) {
18
          res.send("Please clear your cookies and try again.");
mntmn's avatar
mntmn committed
19
20
21
22
23
        } else if (req.accepts('application/json')) {
          res.status(403).json({
            "error": "token_not_found"
          });
        } else {
24
          res.send("Please clear your cookies and try again.");
mntmn's avatar
mntmn committed
25
26
27
28
29
30
31
32
33
34
35
        }
      } else {
        req["token"] = token;
        req["user"] = user;
        next();
      }
    });
  } else {
    next();
  }
}