-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathApp.js
52 lines (47 loc) · 1.35 KB
/
App.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
import "dotenv/config";
import express from 'express';
import session from "express-session";
import mongoose from "mongoose";
import UserRoutes from "./Users/routes.js";
import cors from "cors";
import CourseRoutes from "./Kanbas/courses/routes.js"
import ModuleRoutes from "./Kanbas/modules/routes.js"
import QuizRoutes from "./Quizzes/routes.js";
import Hello from "./hello.js";
import Lab5 from "./lab5.js";
import QuizQuestionsRoutes from "./Quizzes/QuestionsEditor/routes.js";
const CONNECTION_STRING = process.env.DB_CONNECTION_STRING || 'mongodb://127.0.0.1:27017/kanbas'
const DB_NAME = process.env.DB_NAME;
console.log(CONNECTION_STRING, DB_NAME)
mongoose.connect(CONNECTION_STRING, { dbName: DB_NAME });
const app = express();
app.use(
cors({
credentials: true,
origin: process.env.FRONTEND_URL
})
);
const sessionOptions = {
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: false,
};
if (process.env.NODE_ENV !== "development") {
sessionOptions.proxy = true;
sessionOptions.cookie = {
sameSite: "none",
secure: true,
domain: process.env.HTTP_SERVER_DOMAIN,
};
}
app.use(session(sessionOptions));
app.use(express.json());
UserRoutes(app);
ModuleRoutes(app);
CourseRoutes(app);
QuizRoutes(app);
QuizQuestionsRoutes(app);
Lab5(app);
Hello(app);
app.listen(process.env.PORT || 4000);
// for pre-lab of assignment 5