Question: const express = require ( ' express ' ) ; const mongoose = require ( ' mongoose ' ) ; const multer = require (
const express requireexpress;
const mongoose requiremongoose;
const multer requiremulter;
const path requirepath;
const cors requirecors;
const WebSocket requirews;
const app express;
app.useexpressjson;
app.usecors;
mongoose.connectmongodb:localhost:itemsDB
useNewUrlParser: true,
useUnifiedTopology: true,
then console.logConnected to MongoDB'
catcherr console.errorError connecting to MongoDB: err;
const itemSchema new mongoose.Schema
name: type: String, required: true
brand: type: String, required: true
price: type: Number, required: true
image: type: String, required: true
;
const Item mongoose.modelItem itemSchema;
const storage multer.diskStorage
destination: req file, cb
cbnull 'uploads;
filename: req file, cb
cbnull Date.now path.extnamefileoriginalname;
;
const upload multer storage ;
app.useuploads express.staticuploads;
const server app.listen
console.logServer running on port ;
;
const wss new WebSocket.Server server ;
wssonconnectionws
console.logClient connected';
wsonmessagemessage
console.logReceived: $message;
wssendHello from server';
;
wsonclose
console.logClient disconnected';
;
;
app.postitems upload.singleimage async req res
try
const name, brand, price req.body;
if req.file
return res.statusjson success: false, message: 'Image is required' ;
const newItem new Item
name,
brand,
price: parseFloatprice
image: req.file.filename,
;
await newItem.save;
res.statusjson success: true, newItem ;
catch err
res.statusjson success: false, message: err.message ;
;
app.putitems:id upload.singleimage async req res
try
const name, brand, price req.body;
const updateData name, brand, price: parseFloatprice;
if reqfile
updateData.image req.file.filename;
const updatedItem await Item.findByIdAndUpdatereqparams.id updateData, new: true ;
if updatedItem
return res.statusjson success: false, message: 'Item not found' ;
res.json success: true, updatedItem ;
catch err
res.statusjson success: false, message: err.message ;
;
app.deleteitems:id async req res
try
const deletedItem await Item.findByIdAndDeletereqparams.id;
if deletedItem
return res.statusjson success: false, message: 'Item not found' ;
res.json success: true ;
catch err
res.statusjson success: false, message: err.message ;
;
Would like for this backend Server to work with the DataForm react component please.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
