+// Before showing any page, check + save credentials
+app.use(function(req, res, next) {
+ req.userId = 0; //means "anonymous"
+ res.locals.user = { name: "" }; //"anonymous"
+ if (!req.cookies.token)
+ return next();
+ UserModel.getOne("sessionToken", req.cookies.token, function(err, user) {
+ if (!!user)
+ {
+ req.userId = user.id;
+ res.locals.user = {
+ id: user.id,
+ name: user.name,
+ email: user.email,
+ notify: user.notify,
+ };
+ }
+ else
+ {
+ // Token in cookies presumably wrong: erase it
+ res.clearCookie("token");
+ }
+ next();
+ });
+});
+
+// Routing