diff --git a/chat-server/package.json b/chat-server/package.json index b0f8d44..d140907 100644 --- a/chat-server/package.json +++ b/chat-server/package.json @@ -11,6 +11,7 @@ "start": "node server.js" }, "dependencies": { + "body-parser": "^1.20.2", "cors": "^2.8.5" }, "repository": { diff --git a/chat-server/server.js b/chat-server/server.js index 3a9636c..46ec026 100644 --- a/chat-server/server.js +++ b/chat-server/server.js @@ -1,12 +1,15 @@ process.env.PORT = process.env.PORT || 9090; import express from "express"; +// import bodyParser from "body-parser"; import cors from "cors"; import path from "path"; import { fileURLToPath } from "url"; -const app = express(); +const app = express(); app.use(cors()); +app.use(express.json()); +// app.use(bodyParser.json()); // Get __dirname in ES module const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -17,14 +20,42 @@ const welcomeMessage = { text: "Welcome to CYF chat system!", }; + //This array is our "data store". //We will start with one message in the array. const messages = [welcomeMessage]; +// let count = 0; + app.get("/", (request, response) => { response.sendFile(__dirname + "/index.html"); }); +app.get("/messages", (req, res) => { + res.send(messages); +}); + +app.post("/messages", (req,res) => { + const newMessage = req.body; + messages.push(newMessage); + res.status(201).json(newMessage); +}); + +app.get("/messages/:id", (req, res) => { + const messageId = Number(req.params.id); + const filterMessages = messages.find((message) => message.id === messageId); + res.send(filterMessages); +}); + +app.delete("/messages/:messageId", (req, res) => { + const messageId = Number(req.params.messageId); + messages = messages.filter((message) => message.id !== messageId); + res.status(204).send(); +}); + + app.listen(process.env.PORT, () => { console.log(`listening on PORT ${process.env.PORT}...`); }); + +