CRUD created

This commit is contained in:
jaanvi 2025-06-03 09:35:03 +05:30
parent 55d9a9d472
commit d23fa693ea
5 changed files with 19 additions and 15 deletions

4
app.js
View file

@ -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}`);
}) })

View file

@ -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
View file

@ -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",

View file

@ -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": [],

View file

@ -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;