-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
123 lines (90 loc) · 2.89 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
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const mongoose = require('mongoose');
const flash = require('connect-flash');
const session = require('express-session');
const passport = require('passport');
const User = require('./models/User');
const Inst = require('./models/Institute');
// const user = mongoose.model("User");
// const inst = mongoose.model("Inst");
const app = express();
//------------ Passport Configuration ------------//
require('./config/passport')(passport);
//------------ DB Configuration ------------//
const db = require('./config/key').MongoURI;
//------------ Mongo Connection ------------//
mongoose.connect(db, { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false })
.then(() => console.log("Successfully connected to MongoDB"))
.catch(err => console.log(err));
//------------ EJS Configuration ------------//
app.use(expressLayouts);
app.use("/assets", express.static('./assets'));
app.set('view engine', 'ejs');
const MongoStore = require('connect-mongo');
// app.use(
// session({
// secret: 'I love memes',
// resave: true,
// saveUninitialized: true,
// store: MongoStore.create({ mongoUrl: db }),
// autoRemove: 'native',
// unset: 'destroy',
// })
// );
//------------ Bodyparser Configuration ------------//
app.use(express.urlencoded({ extended: false }))
app.use(express.json())
//------------ Express session Configuration ------------//
app.use(
session({
secret: 'secret',
resave: true,
saveUninitialized: true
})
);
//------------ Passport Middlewares ------------//
app.use(passport.initialize());
app.use(passport.session());
//------------ Connecting flash ------------//
app.use(flash());
//------------ Global variables ------------//
app.use(function(req, res, next) {
res.locals.success_msg = req.flash('success_msg');
res.locals.error_msg = req.flash('error_msg');
res.locals.error = req.flash('error');
next();
});
app.post('/addInsti', async (req, res, next) => {
try{
console.log(req.body);
const {name, adminId, inst } = req.body
console.log({name, adminId, inst});
const institute = new Inst({
name: name,
admin : adminId,
inst : inst
})
await institute.save();
res.json({
message: 'Saved Sucessfully'
})
}
catch(err) {
res.status(500).json({
message: err
})
}
})
//------------ Routes ------------//
app.use('/', require('./routes/index'));
app.use('/auth', require('./routes/auth'));
app.use((req , res)=>{
res.render('error_404')
})
const PORT = process.env.PORT || 3006;
app.listen(PORT, console.log(`Server running on PORT ${PORT}`));
//add and remove teacher and students
//false admin (removing admins as well) - super admin
// results page
//