From 188527c6b55a2d64d5f76c5d3e094da45c69b0c9 Mon Sep 17 00:00:00 2001 From: BakedSnake Date: Wed, 17 Mar 2021 12:58:53 +0100 Subject: Public version --- routes/index.js | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 routes/index.js (limited to 'routes/index.js') diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..4343832 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,66 @@ +const express = require('express'), + router = express.Router(), + User = require("../models/user"), + Account = require("../models/account"), + passport = require('passport'); + +//Index +router.get('/', (req, res) => { + res.render('index'); +}); + +router.get('/browsers', (req, res) => { + res.render('mbrowsers'); +}); + +//Auth Routes +router.get('/register', (req, res) => { + res.render('register'); +}); + +router.post("/register", (req, res) => { + let newUser = new User({ username: req.body.username }); + User.register(newUser, req.body.password, function (err, user) { + if (err) { + //req.flash("error", err.message); + console.log(err); + return res.redirect("/register"); + } + passport.authenticate("local")(req, res, function () { + Account.create(req.body.account, (err, newAccount) => { + if (err) { + console.log(err); + } else { + newAccount.author.id = user._id; + newAccount.author.username = user.username; + newAccount.save(); + //req.flash("success", "Welcome " + user.username); + res.redirect("/"); + } + }); + }); + }); +}); + + +router.get('/login', (req, res) => { + res.render('login'); +}) + +router.post( + "/login", + passport.authenticate("local", { + successRedirect: "/", + failureRedirect: "/login", + }), + (req, res) => {} +); + +router.get("/logout", (req, res) => { + req.logout(); + //req.flash("success", "Logged out"); + res.redirect("/"); +}); + + +module.exports = router; -- cgit v1.2.3