I did some researching and after following their instructions and updating server.js file, the DELETE command ACTUALLY deletes the information:
const express = require(âexpressâ);
const server = express();
const fs = require(âfsâ);
// Function to read orders from the file and parse it as JSON
function readOrdersFromFile() {
const data = fs.readFileSync(âorders.jsonâ, âutf8â);
return JSON.parse(data);
}
let orderData = readOrdersFromFile();
server.set(âportâ, process.env.PORT || 3000);
server.get(â/â,(request,response)=>{
response.send(âWelcome to our simple online order managing web app!â);
});
server.get(â/ordersâ,(request,response)=>{
response.json(orderData);
});
server.post(â/neworderâ, express.json(), (request,response)=>{
orderData.orders.push(request.body);
fs.writeFileSync(âorders.jsonâ, JSON.stringify(orderData));
response.send(âSuccessâ)
console.log(âSuccessâ);
});
server.put(â/update/:idâ, express.text({type: â/â}), (request,response)=>{
var items = orderData.orders
items.forEach(function(o) {
console.log(o)
if (o.id == request.params.id){
console.log(âModifying order!â)
o.state = request.body;
}
});
fs.writeFileSync(âorders.jsonâ, JSON.stringify(orderData));
response.send(âSuccessâ);
console.log(âSuccessâ);
});
server.delete(â/delete/:idâ, (request, response) => {
const orderId = request.params.id;
const orderIndex = orderData.orders.findIndex((o) => o.id === orderId);
if (orderIndex !== -1) {
// Remove the order from the orders array using splice
orderData.orders.splice(orderIndex, 1);
// Write the updated orderData back to the file
fs.writeFileSync('orders.json', JSON.stringify(orderData));
console.log('Deleting order!');
response.send("Success");
} else {
console.log('Order not found!');
response.status(404).send("Order not found!");
}
});
server.listen(3000,()=>{
console.log(âExpress server started at port 3000â);
});