-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
65 lines (54 loc) · 1.68 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//Dependencies
const express = require("express");
const mongoose = require("mongoose");
const session = require("express-session");
const app = express();
//User Heroku specific values, or local specific values
const mongoUri = process.env.MONGODB_URI || "mongodb://localhost:27017/movie_app";
const port = process.env.PORT || 3000;
//Sessions
app.use(session({
secret: "feedmeseymour",
resave: false,
saveUninitialized: false
}));
//Middleware
app.use(express.json());
app.use(express.static("public"));
//Controllers
const movieController = require("./controllers/movies.js");
app.use("/movies", movieController);
const userController = require("./controllers/users.js");
app.use("/users", userController);
const sessionController = require("./controllers/sessions.js");
app.use("/sessions", sessionController);
//Get Routes
//Route allows the current session to be passed from the backend frame work to the front end framework
app.get("/log", (req, res) => {
//If the user is currently logged in, pass the current session as a json file
if(req.session.currentUser){
res.json(req.session.currentUser);
//If the user is not currently logged in
//Send a (401: "Not logged in") message
} else {
res.status(401).json({
status: 401,
message: "Not logged in"
});
}
});
//set up api hidden key
const api = process.env.SECRET_KEY;
app.get("/config", (req,res) => {
console.log(api);
res.json(api);
});
//Listen Route
app.listen(port, ()=>{
console.log("I'm listening on port: ", port);
});
//Mongoose Connection
mongoose.connect(mongoUri, { useNewUrlParser: true } );
mongoose.connection.once("open", () => {
console.log(`Connected to Mongoose. Quack!`);
});