Repository navigation
Expand file tree
/
Copy pathindex.js
More file actions
97 lines (72 loc) · 2.38 KB
/
Copy pathindex.js
File metadata and controls
97 lines (72 loc) · 2.38 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
const express = require('express');
const cookieSession = require('cookie-session');
const passport = require('passport');
const authRoutes = require('./routes/auth-routes');
const profileRoutes = require('./routes/profile-routes');
const statisticsRoutes = require('./routes/statistics-routes');
const passportSetup = require('./config/passport-setup');
const tasksRoutes = require('./routes/tasks-routes');
const mongoose = require('mongoose');
const keys = require('./config/keys');
const UserDAO = require('./models/userDAO');
const TasksDAO = require('./models/tasksDAO');
const todoList = require('./config/tasks-setup');
bodyParser = require('body-parser');
const app = express();
// set view engine
app.set('view engine', 'ejs');
// set up session cookies
app.use(cookieSession({
maxAge: 24 * 60 * 60 * 1000,
keys: [keys.session.cookieKey]
}));
// initialize passport
app.use(passport.initialize());
app.use(passport.session());
mongoose.Promise = global.Promise;
// connect to mongodb
mongoose.connection.openUri(keys.mongodb.dbURI, () => {
console.log('connected to mongodb');
});
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
//for debug
/*app.use(function(req, res) {
res.status(404).send({url: req.originalUrl + ' not found'})
});*/
// set up routes
app.use('/auth', authRoutes);
app.use('/profile', profileRoutes);
app.use('/statistics', statisticsRoutes);
app.use('/tasks', tasksRoutes);
app.get('/mostPointsThisWeek', (req, res) => {
UserDAO.mostPointsThisWeek().then(data=>res.json(data));
});
app.get('/mostTasksDoneSoFar', (req, res) => {
UserDAO.mostTasksDoneSoFar().then(data=>res.json(data));
});
app.get('/TasksPerDay', (req, res) => {
UserDAO.TasksPerDay().then(data=>res.json(data));
});
app.get('/TheMedalists', (req, res) => {
UserDAO.TheMedalists().then(data=>res.json(data));
});
app.get('/addNewTasks', (req, res) => {
TasksDAO.addNewTask().then(data=>res.json(data));
});
app.route('/getAllTasks')
.get(todoList.list_all_tasks);
// todoList Routes
app.route('/createTask')
.post(todoList.create_a_task);
app.route('/tasks/:taskId')
.get(todoList.read_a_task)
.put(todoList.update_a_task)
.delete(todoList.delete_a_task);
// create home route
app.get('/', (req, res) => {
res.render('home', { user: req.user });
});
app.listen(3030, () => {
console.log('app now listening for requests on port 3030');
});