-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
133 lines (108 loc) · 3.49 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
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
130
131
132
133
require("dotenv").config();
const express = require("express");
//connection moongose db
const connectDB = require("./connection");
const userModel = require("./user");
const app = express();
//configuration
app.use(express.json());
//route: /
//description : To get all user
// parameter : none
app.get("/",async (req, res) => {
try{const user = await userModel.find();
return res.json({ user });
}
catch(error){
return res.status(500).json({error : error.message});
}
});
//route: user/type/:type
//description : To get user based on the type
// parameter : type
app.get("/user/type/:type",async(req,res) => {
try{
const { type } = req.params;
const user = await userModel.find({usertype : type});
if (!user){
return res.json({message : "no user found"});
}
return res.json({user});
} catch(error){
return res.status(500).json({error : error.message});
}
});
//route: user/:_id
//description : To get the user based on the id
// parameter : _id
app.get("/user/:_id",async(req,res) => {
try{
const { _id }= req.params;
const user =await userModel.findById({_id});
if (!user){
return res.json({message : "no user found"});
}
return res.json({user});
} catch(error){
return res.status(500).json({error : error.message});
}
});
//route: user/new
//description : To post the user details or add new user
// parameter : none
// request body : user object
app.post("/user/new",async (req, res) => {
try{
const { newUser } = req.body;
await userModel.create(newUser);
return res.json({ message : "user created" });
} catch(error){
return res.status(500).json({error : error.message});
}
});
//route: user/update/_id
//description : To post the user details or add new user
// parameter : none
//request body : user object
app.put("/user/update/:_id",async (req, res) => {
try{
const { _id } = req.params;
const { userData } = req.body;
const updateUser = await userModel.findByIdAndUpdate(
_id,
{ $set :userData },
{new : true}
);
return res.json({user: updateUser});
} catch(error){
return res.status(500).json({error : error.message});
}
});
//route: user/delete/:_id
//description : To post the user details or add new user
// parameter : _id
app.delete("/user/delete/:_id",async (req, res) => {
try{
const { _id } = req.params;
await userModel.findByIdAndDelete(_id);
return res.json({message: "user deleted"});
} catch(error){
return res.status(500).json({error : error.message});
}
});
//route: /user/delete/type/:usertypeN
//description : To post the user details or add new user
// parameter : userType
app.delete("/user/delete/type/:usertype",async (req, res) => {
try{
const { usertype } = req.params;
await userModel.findOneAndDelete({usertype});
return res.json({message: "user deleted"});
} catch(error){
return res.status(500).json({error : error.message});
}
});
app.listen( process.env.PORT, ()=>
connectDB().then((data) => console.log("server is running"))
.catch((error)=> console.log(error))
);