-
Notifications
You must be signed in to change notification settings - Fork 0
/
controller.js
129 lines (107 loc) · 2.58 KB
/
controller.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
123
124
125
126
127
128
129
const db = require('./model');
function getJson(req, res) {
const user = getUser(req.body.token);
if (user) {
return res.json({
'username': user.username,
'data': user.data,
})
}
res.json({
'response': 'first login',
})
}
function postJson(req, res) {
const user = getUser(req.body.token);
if (user) {
user.data.push(req.body.data);
return res.json({
'response': 'data saved',
'username': user.username,
'data': user.data,
})
}
res.json({
'response': 'first login',
})
}
function putJson(req, res) {
const user = getUser(req.body.token);
if (user) {
user.data[req.body.data['id'] - 1] = req.body.data;
return res.json({
'response': 'data updated',
'username': user.username,
'data': user.data,
})
}
res.json({
'response': 'first login',
})
}
function deleteJson(req, res) {
console.log(req.body.id)
const user = getUser(req.body.token);
if (user) {
console.log(req.body.id);
user.data.splice(req.body.id - 1, 1);
return res.json({
'response': 'data deleted',
'username': user.username,
'data': user.data,
})
}
res.json({
'response': 'first login',
})
}
function signup(req, res) {
let user = req.body;
user.token = '';
user.data = [{
'id': '1',
'task': '',
'status': ''
}];
db.push(user);
res.json({
'response': 'user created successfully',
'user': db,
})
}
function login(req, res) {
db.forEach((item) => {
if (item.username === req.body.username && item.password === req.body.password) {
const token = createToken(60);
item.token = token;
return res.json({
'response': 'loggin successfully',
'token': token,
});
}
})
res.json({
'response': 'user not found',
})
}
function createToken(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() *
charactersLength));
}
return result;
}
function getUser(token) {
return db.find(item => item.token === token);
}
module.exports = {
getJson,
postJson,
putJson,
deleteJson,
signup,
login,
}