Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 19 additions & 29 deletions YelpCamp/v10/routes/index.js
Original file line number Diff line number Diff line change
@@ -1,57 +1,47 @@
var express = require("express");
var router = express.Router();
var router = express.Router();
var passport = require("passport");
var User = require("../models/user");

//root route
router.get("/", function(req, res){
router.get("/", function(req, res) {
res.render("landing");
});

// show register form
router.get("/register", function(req, res){
res.render("register");
router.get("/register", function(req, res) {
res.render("register");
});

//handle sign up logic
router.post("/register", function(req, res){
var newUser = new User({username: req.body.username});
User.register(newUser, req.body.password, function(err, user){
if(err){
router.post("/register", function(req, res) {
var newUser = new User({ username: req.body.username });
User.register(newUser, req.body.password, function(err, user) {
if (err) {
console.log(err);
return res.render("register");
}
passport.authenticate("local")(req, res, function(){
res.redirect("/campgrounds");
passport.authenticate("local")(req, res, function() {
res.redirect("/campgrounds");
});
});
});

//show login form
router.get("/login", function(req, res){
res.render("login");
router.get("/login", function(req, res) {
res.render("login");
});

//handling login logic
router.post("/login", passport.authenticate("local",
{
successRedirect: "/campgrounds",
failureRedirect: "/login"
}), function(req, res){
});
router.post("/login", passport.authenticate("local", {
successRedirect: "/campgrounds",
failureRedirect: "/login"
}), function(req, res) {});

// logout route
router.get("/logout", function(req, res){
req.logout();
res.redirect("/campgrounds");
router.get("/logout", function(req, res) {
req.logout();
res.redirect("/campgrounds");
});

//middleware
function isLoggedIn(req, res, next){
if(req.isAuthenticated()){
return next();
}
res.redirect("/login");
}

module.exports = router;