0% found this document useful (0 votes)
1 views

2c_u

This document contains an Express.js router for managing a members API, allowing for CRUD operations (Create, Read, Update, Delete) on member data. It includes routes for retrieving all members, retrieving a member by ID, adding a new member, updating an existing member, and deleting a member. The code utilizes UUID for unique member identification and handles various request validations and responses.

Uploaded by

jiteshraaju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

2c_u

This document contains an Express.js router for managing a members API, allowing for CRUD operations (Create, Read, Update, Delete) on member data. It includes routes for retrieving all members, retrieving a member by ID, adding a new member, updating an existing member, and deleting a member. The code utilizes UUID for unique member identification and handles various request validations and responses.

Uploaded by

jiteshraaju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Code:

const express = require('express');


const router = express.Router();
const members = require('../../members');//MOST IMPORTANT inport members.js outside
api(2nd ../),outside router folder (1st ../)
const uuid = require('uuid');
router.get('/api/members',(req,res)=>{
res.json(members)
})
router.get('/api/members/:id',(req,res)=>{
const isFound = members.some(x => x.id === parseInt(req.params.id));
if(isFound){
res.json(members.filter(x => x.id === parseInt(req.params.id)))
}
else{
res.status(400).json({message: "Incorrect request"})
}
})
//CREATE MEBERM in routes/api/members.js
router.post('/api/members',(req,res)=>{
// console.log(req.body);
// res.send(req.body);//data send in post request is request URL
const newMember = {
id : uuid.v4(),//install uuid and require('uuid')
name: req.body.name,
email: req.body.email,
status: 'active'
}
if(!newMember.name || !newMember.email){
return res.status(400).send({msg : "Please include email and name..."});
}
//members.save(newMember);in db connection
members.push(newMember);
res.status(200).json(members);

})//after this code in postman

//UPDATE=PUT ~similar to get


router.put('/api/members/:id',(req,res)=>{
const isfound = members.some(x=> x.id === parseInt(req.params.id))
if(!isfound){
res.status(400).json({msg : "no update invalid ID.."})
}
else{
const updateMember = req.body;
members.forEach(function(x){
if(x.id === parseInt(req.params.id)){//fetch array
x.name = updateMember.name ? updateMember.name : x.name;//to verify whether user has
provide new name/email in BODY else stay with existing name and mail
x.email = updateMember.email ? updateMember.email : x.email;//update fetched array value
with body value
res.json({msg : 'Updated member is' ,
x//passing x has another object
})
}
})
}
})

router.delete('/api/members/:id',(req,res)=>{
const isFound = members.some(x => x.id === parseInt(req.params.id));
if(!isFound){
res.status(400).json({msg:"No user to delete by Id"});
}
else{
res.status(200).json({msg: "Member deleted successfully",
members : members.filter(x => x.id !== parseInt(req.params.id))}//to display all remaing in
array )
}
})
//install handlebars
module.exports = router;
Screnshots:
Get:
Post

Put
Delete

You might also like