-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
executable file
·61 lines (53 loc) · 1.41 KB
/
index.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
import { Router } from 'express';
const router = Router();
import User from '../User.js';
router.get('/', (req, res) => {
var session = res.cookies.get("session");
if (session) {
session = JSON.parse(session);
var token = session.token
return User.find({
session: token
}).then((user) => {
if (user.length == 1) {
return res.render('dashboard');
}
return res.render('index');
})
.catch((e) => {
res.json({ message: 'Hm server errored'});
});
}
return res.render('index');
});
router.post('/api/login', (req, res) => {
let { username, password } = req.body;
if (username && password && typeof username === 'string' && typeof password === 'string') {
return User.find({
username,
password,
admin: false
})
.then((user) => {
if (user.length == 1) {
var new_session = {
token: user[0].session,
username: user[0].username
}
res.cookies.set("session", JSON.stringify(new_session));
if (user[0].admin) {
return res.json({logged: 1, message: `Success! Welcome back chief stormer.` });
} else {
return res.json({logged: 1, message: `Success, welcome back ${user[0].username}.` });
}
} else {
return res.json({logged: 0, message: 'Login failed :/'});
}
})
.catch((e) => {
return res.json({ message: 'Hm server errored'});
});
}
return res.json({ message: 'Login failed :/'});
});
export default router;