-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
75 lines (69 loc) · 2.23 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
const express=require('express');
const jwt=require('jsonwebtoken');
const lowdb=require('lowdb');
const FileSync=require('lowdb/adapters/FileSync');
const nanoid=require('nanoid');
const app = express();
const adapter=new FileSync('db.json');
const db=lowdb(adapter);
db.defaults({users:[]}).write();
app.use(express.json());
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
app.get('/home',(req,res)=>{
console.log("working");
res.send({status:"working"});
});
app.post('/api/register',(req,res)=>{
console.log("workingok");
const user=req.body;
db.get('users').push({... user,id:nanoid()}).write();
res.status(200).send(user);
});
app.post('/api/updateUser',(req,res)=>{
const newUser=req.body;
const existing=db.get('users').findIndex({id:newUser.id}).value()
db.get('users').splice(existing, 1, newUser).write();
res.status(200).json({message:"success"});
});
app.post('/api/login',(req,res)=>{
const user=req.body;
const userExists=db.get('users').find({'name':user.name,'password':user.password}).value();
if(userExists){
const token = jwt.sign({ username: user.name }, 'a67a89d9f89f89f99f./99f98f98eee8893022j9j390d-j93j9');
res.status(200).json({ message: 'Login successful', token: token,user:userExists });
console.log(userExists);
console.log("working login");
}
else{
res.status(401).json({message:'Login unsuccessful'});
}
});
app.post('/api/user',(req,res)=>{
const cur=req.body;
const user=db.get('users').find({'name':cur.name,'password':cur.password}).value();
res.send(user);
});
app.post('/api/users',(req,res)=>{
const loc=req.body;
res.send(db.get('users').filter({['loc']:loc.loc}).value());
});
const port = 3000;
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
/*
db format
{
"name": "",
"phone": ,
"gstin": "",
"loc": "",
"password": ""
}
*/