Files
vinlottis/api/login.js
Kasper Rynning-Tønnesen 002cf71137 Router thingies!
2020-01-17 15:59:21 +01:00

53 lines
1.1 KiB
JavaScript

const passport = require("passport");
const path = require("path");
const User = require(path.join(__dirname + "/../schemas/User"));
const router = require("express").Router();
router.get("/", function(req, res) {
res.render("index", { user: req.user });
});
router.get("/register", function(req, res) {
res.render("register", {});
});
router.post("/register", function(req, res, next) {
console.log("registering user");
User.register(
new User({ username: req.body.username }),
req.body.password,
function(err) {
if (err) {
console.log("error while user register!", err);
return next(err);
}
console.log("user registered!");
res.redirect("/");
}
);
});
router.get("/login", function(req, res) {
res.render("login", { user: req.user, message: req.flash("error") });
});
router.post(
"/login",
passport.authenticate("local", {
failureRedirect: "/login",
failureFlash: true
}),
function(req, res) {
res.redirect("/");
}
);
router.get("/logout", function(req, res) {
req.logout();
res.redirect("/");
});
module.exports = router;