-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
57 lines (43 loc) · 1.42 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
// create an express app
require("dotenv").config();
const express = require("express");
const app = express();
const passport = require("passport");
const bodyParser = require("body-parser");
let cors = require("cors");
const config = require("./utils/constants");
const FRONT_URL_WHITELIST = config.url.FRONT_URL_WHITELIST;
const corsOptions = {
origin: function (origin, callback) {
if (FRONT_URL_WHITELIST.indexOf(origin) !== -1 || !origin) {
callback(null, true);
} else {
callback(new Error("Not allowed by CORS"));
}
},
methods: "GET,POST",
credentials: true,
};
require("./utils/auth.js");
//Allow cross-origin
app.use(cors(corsOptions));
// Activate body parser
app.use(bodyParser.urlencoded({ extended: false }));
//Bind routes
const movie = require("./routes/movie");
app.use("/api", movie);
const genres = require("./routes/genres");
app.use("/api", genres);
const login = require("./routes/login.js");
app.use("/api", login);
const profile = require("./routes/profile.js");
// Plug in the JWT strategy as a middleware so only verified users can access this route.
app.use("/api", passport.authenticate("jwt", { session: false }), profile);
// use the express-static middleware
app.use(express.static("public"));
// start the server listening for requests
app.listen(process.env.PORT || 3000, () => {
console.log("Server is running...");
app.emit("appStarted");
});
module.exports = app;