Crud-app #1
4
app.js
4
app.js
|
@ -7,8 +7,12 @@ const PORT = process.env.PORT || 5000;
|
||||||
//DB connection:Done
|
//DB connection:Done
|
||||||
connectDB();
|
connectDB();
|
||||||
|
|
||||||
|
//use in built-middleware to parse the data form body
|
||||||
|
app.use(express.urlencoded({ extended: false }))
|
||||||
//Routes
|
//Routes
|
||||||
app.use("/api/users",userRoutes);
|
app.use("/api/users",userRoutes);
|
||||||
|
|
||||||
|
|
||||||
app.listen(PORT,()=>{
|
app.listen(PORT,()=>{
|
||||||
console.log(`Server is running on port ${PORT}`);
|
console.log(`Server is running on port ${PORT}`);
|
||||||
})
|
})
|
||||||
|
|
|
@ -6,17 +6,18 @@ const createUser = async (req, res) => {
|
||||||
const user = await User.create(req.body);
|
const user = await User.create(req.body);
|
||||||
res.status(201).json(user);
|
res.status(201).json(user);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(400).json({ error: err.message });
|
res.status(500).json({ error: err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//GET
|
//GET
|
||||||
|
//if i use findOne then it fetching the first match data
|
||||||
const getUsers = async (req, res) => {
|
const getUsers = async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const users = await User.find();
|
const users = await User.find();
|
||||||
res.status(200).json(users);
|
res.status(200).json(users);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(400).json({ error: err.message });
|
res.status(500).json({ error: err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,18 +30,19 @@ const getUserById = async (req,res)=>{
|
||||||
}
|
}
|
||||||
res.status(200).json(user);
|
res.status(200).json(user);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(400).json({ error: err.message });
|
res.status(500).json({ error: err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//UPDATE
|
//UPDATE
|
||||||
const updateUser = async(req,res)=>{
|
const updateUser = async(req,res)=>{
|
||||||
try {
|
try {
|
||||||
const user = await User.findByIdAndUpdate(req.params.id,req.body,{
|
const user = await User.findByIdAndUpdate(req.params.id,req.body,{
|
||||||
new:true,
|
new:true,//return updated document
|
||||||
});
|
});
|
||||||
|
if(!user) return res.status(404).json({message: "User Not Found."})
|
||||||
res.status(200).json(user);
|
res.status(200).json(user);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(400).json({ error: err.message });
|
res.status(500).json({ error: err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//DELETE
|
//DELETE
|
||||||
|
@ -50,8 +52,8 @@ const deleteUser= async(req,res)=>{
|
||||||
if(!user){
|
if(!user){
|
||||||
return res.status(404).json({message: "User not found"});
|
return res.status(404).json({message: "User not found"});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (err) {
|
||||||
res.status(400).json({ error: err.message });
|
res.status(500).json({ error: err.message });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -272,7 +272,6 @@
|
||||||
"version": "16.5.0",
|
"version": "16.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
|
||||||
"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
|
"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
|
||||||
"license": "BSD-2-Clause",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
|
@ -358,7 +357,6 @@
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
|
||||||
"integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
|
"integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"accepts": "^2.0.0",
|
"accepts": "^2.0.0",
|
||||||
"body-parser": "^2.2.0",
|
"body-parser": "^2.2.0",
|
||||||
|
@ -739,7 +737,6 @@
|
||||||
"version": "6.16.0",
|
"version": "6.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.16.0.tgz",
|
||||||
"integrity": "sha512-D1PNcdT0y4Grhou5Zi/qgipZOYeWrhLEpk33n3nm6LGtz61jvO88WlrWCK/bigMjpnOdAUKKQwsGIl0NtWMyYw==",
|
"integrity": "sha512-D1PNcdT0y4Grhou5Zi/qgipZOYeWrhLEpk33n3nm6LGtz61jvO88WlrWCK/bigMjpnOdAUKKQwsGIl0NtWMyYw==",
|
||||||
"license": "Apache-2.0",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mongodb-js/saslprep": "^1.1.9",
|
"@mongodb-js/saslprep": "^1.1.9",
|
||||||
"bson": "^6.10.3",
|
"bson": "^6.10.3",
|
||||||
|
@ -795,7 +792,6 @@
|
||||||
"version": "8.15.1",
|
"version": "8.15.1",
|
||||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.15.1.tgz",
|
||||||
"integrity": "sha512-RhQ4DzmBi5BNGcS0w4u1vdMRIKcteXTCNzDt1j7XRcdWYBz1MjMjulBhPaeC5jBCHOD1yinuOFTTSOWLLGexWw==",
|
"integrity": "sha512-RhQ4DzmBi5BNGcS0w4u1vdMRIKcteXTCNzDt1j7XRcdWYBz1MjMjulBhPaeC5jBCHOD1yinuOFTTSOWLLGexWw==",
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bson": "^6.10.3",
|
"bson": "^6.10.3",
|
||||||
"kareem": "2.6.3",
|
"kareem": "2.6.3",
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"main": "app.js",
|
"main": "app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start":"nodemon app.js",
|
"start": "nodemon app.js",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|
|
@ -6,4 +6,6 @@ router.post("/", createUser);
|
||||||
router.get('/',getUsers);
|
router.get('/',getUsers);
|
||||||
router.get('/:id',getUserById);
|
router.get('/:id',getUserById);
|
||||||
router.put('/:id',updateUser);
|
router.put('/:id',updateUser);
|
||||||
router.delete(':/id',deleteUser)
|
router.delete('/:id',deleteUser)
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
|
|
Loading…
Reference in a new issue