diff options
author | BakedSnake <gilferrandm@gmail.com> | 2021-03-17 12:58:53 +0100 |
---|---|---|
committer | BakedSnake <gilferrandm@gmail.com> | 2021-03-17 12:58:53 +0100 |
commit | 188527c6b55a2d64d5f76c5d3e094da45c69b0c9 (patch) | |
tree | 8c6c41a2ffe04af81483ec36f72d328c3c76780a /routes/index.js |
Diffstat (limited to 'routes/index.js')
-rw-r--r-- | routes/index.js | 66 |
1 files changed, 66 insertions, 0 deletions
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; |