Skip to content

Commit

Permalink
Created Repo
Browse files Browse the repository at this point in the history
  • Loading branch information
shrey committed Apr 6, 2020
0 parents commit 39d28de
Show file tree
Hide file tree
Showing 5,302 changed files with 579,420 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
Binary file added .DS_Store
Binary file not shown.
61 changes: 61 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var mongoose = require("mongoose");
var passport = require("passport");
var LocalStrategy = require("passport-local");
var methodOverride = require("method-override");
var commentRoutes = require("./routes/comments");
var campgroundRoutes = require("./routes/campgrounds");
var indexRoutes = require("./routes/index");
var flash = require("connect-flash");
app.use(bodyParser.urlencoded({extended:true}));

var Comment = require("./models/comments")
var Campground = require("./models/campground");
var User = require("./models/user");
var seedDB = require("./seeds");
app.use(express.static(__dirname + '/public'))
app.set("view engine","ejs");
mongoose.connect("mongodb://localhost/yelp_camp");
app.use(flash());
// Seed the database
// seedDB();

app.locals.moment = require("moment");
//PASSPORT CONFIGURATION
app.use(require("express-session")({
secret: "Shrey will crack GSOC in 2020",
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(methodOverride("_method"));

passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
//ADDS THE CURRENT SIGNED IN USER TO ALL THE EJS FILES INCLUDING HEADER
app.use(function(req,res,next){
res.locals.currentUser = req.user;
res.locals.error = req.flash("error");
res.locals.success = req.flash("success");
next();
});
app.use(express.static("public"));



//requiring routes
app.use(indexRoutes);
app.use("/campgrounds",campgroundRoutes);
app.use("/campgrounds/:id/comments",commentRoutes);




app.listen(3000,function(){
console.log("Yelp Camp has started at port 3000")
});

63 changes: 63 additions & 0 deletions middleware/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
var middlewareObj = {};
var Campground = require("../models/campground")
var Comment = require("../models/comments")
middlewareObj.checkCampgroundOwnership = function(req,res,next)
{
if(req.isAuthenticated())
{
Campground.findById(req.params.id,function(err,foundCampground){
if(err || !foundCampground){
req.flash("error","Campground Not Found");
console.log(err);
res.redirect("back")
}
else{
if(foundCampground.author.id.equals(req.user._id))
{
next();
}
else
{
req.flash("error","You don't have permission to do that")
res.redirect("back");
}
}

})
}
};


middlewareObj.checkCommentOwnership = function(req,res,next)
{
if(req.isAuthenticated())
{
Comment.findById(req.params.id2,function(err,foundComment){
if(err || !foundComment){
console.log(err);
req.flash("error","Comment not found")
res.redirect("back")
}
else{
if(foundComment.author.id.equals(req.user._id))
{
next();
}
else{
res.redirect("back");
}
}
})
}

};
middlewareObj.isLoggedIn = function(req,res,next){
if(req.isAuthenticated()){
return next();
}
else{
req.flash("error","You need to be logged in to do that")
res.redirect("/login");
}
}
module.exports = middlewareObj;
27 changes: 27 additions & 0 deletions models/campground.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
var mongoose = require("mongoose");
var campgroundSchema = new mongoose.Schema({
name: String,
img: String,
desc: String,
price: String,
author: {
id:{
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
comments: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Comment"
}

],
createdAt: {
type: Date,
default: Date.now
}
});
var Campground = mongoose.model("Campground",campgroundSchema);
module.exports = Campground;
16 changes: 16 additions & 0 deletions models/comments.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
var mongoose = require("mongoose");
var commentSchema = new mongoose.Schema({
text: String,
author: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
createdAt: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model("Comment",commentSchema);
8 changes: 8 additions & 0 deletions models/user.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
var mongoose = require("mongoose")
var passportLocalMongoose = require("passport-local-mongoose");
var UserSchema = new mongoose.Schema({
username: String,
password: String
})
UserSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model("User",UserSchema);
1 change: 1 addition & 0 deletions node_modules/.bin/cdl

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/esparse

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/esvalidate

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/mime

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/mkdirp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ncp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/rimraf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/semver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-conv

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-sign

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-verify

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/uuid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 39d28de

Please sign in to comment.