-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
80 lines (63 loc) · 2.44 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
const express = require("express")
const app = express()
const middleware = require("./middleware")
const port = process.env.PORT || 3003;
const path = require('path')
const mongoose = require("./database")
const session = require("express-session")
const favicon = require('serve-favicon')
const server = app.listen(port, () => console.log("Server Listening on " + port));
app.set("view engine", "pug");
app.set("views", "views");
app.use(express.urlencoded({extended: true}));
app.use(express.json())
app.use(express.static(path.join(__dirname, "public")));
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')))
app.use(session({
secret: "bbq chips",
resave: true,
saveUninitialized: false
}))
const loginRoutes = require("./routes/loginRoutes")
const logoutRoutes = require("./routes/logoutRoutes")
const registerRoutes = require("./routes/registerRoots")
const classRoutes = require("./routes/classRoutes")
const assignmentRoutes = require("./routes/assignmentRoutes")
const testRoutes = require("./routes/testRoutes")
const calendarRoutes = require("./routes/calendarRoutes")
const aboutRoutes = require("./routes/aboutRoutes")
// API Endpoints
const classApi = require("./routes/api/class")
const messagesApi = require("./routes/api/messages")
const assignmentsApi = require("./routes/api/assignments")
const assignmentApi = require("./routes/api/assignment")
const testsApi = require("./routes/api/tests")
const testApi = require("./routes/api/test")
app.use("/login" , loginRoutes);
app.use("/logout", logoutRoutes)
app.use("/register" , registerRoutes);
app.use("/class" , classRoutes);
app.use("/assignment" , assignmentRoutes);
app.use("/test" , testRoutes);
app.use("/calendar" , calendarRoutes);
app.use("/about" , aboutRoutes);
// Use API Endpoints
app.use("/api/class" , classApi);
app.use("/api/messages" , messagesApi);
app.use("/api/assignments" , assignmentsApi);
app.use("/api/assignment" , assignmentApi);
app.use("/api/tests" , testsApi);
app.use("/api/test" , testApi);
app.get("/", middleware.requireLogin, (req, res, next) => {
var payload = {
pageTitle: "Classroom",
userLoggedIn: req.session.user,
userLoggedInJs: JSON.stringify(req.session.user),
}
res.status(200).render("courses", payload);
})
//The 404 Route (ALWAYS Keep this as the last route)
app.get('*', function(req, res){
res.status(200).render("error");
});