From 96288b119bd9d8ee3b86fa2e7c521dd9f223f950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joonas=20Sepp=C3=A4?= <joasep@utu.fi> Date: Tue, 7 Mar 2023 11:12:56 +0200 Subject: [PATCH] Made the backend Restful, now it works with GET, POST, PUT, DELETE with messages --- messagesAppBackend/src/server.ts | 44 +++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/messagesAppBackend/src/server.ts b/messagesAppBackend/src/server.ts index fae4bfa..6283e26 100644 --- a/messagesAppBackend/src/server.ts +++ b/messagesAppBackend/src/server.ts @@ -3,14 +3,50 @@ import mongoose from 'mongoose' import Message from './Message' const app = express() - -mongoose.connect("mongodb+srv://joasep:koira@messagescluster0.nvb8tqc.mongodb.net/?retryWrites=true&w=majority"); +app.use(express.json()); app.get("/", async (req, res) => { - let message = await findMessage() - res.send(message) + res.send("This is the root of the API!") +}) + +app.get("/users", async (req, res) => { + res.send("There are no users yet!") +}) + +app.get("/messages", async (req, res) => { + await mongoose.connect("mongodb+srv://joasep:koira@messagescluster0.nvb8tqc.mongodb.net/?retryWrites=true&w=majority"); + let messages = await findMessage() + res.send(messages) + mongoose.disconnect(); +}) + +app.post("/messages", async (req, res) => { + await mongoose.connect("mongodb+srv://joasep:koira@messagescluster0.nvb8tqc.mongodb.net/?retryWrites=true&w=majority"); + await addMessage(req.body.message); + mongoose.disconnect(); +}) + +app.delete("/messages/:id", async (req, res) => { + await mongoose.connect("mongodb+srv://joasep:koira@messagescluster0.nvb8tqc.mongodb.net/?retryWrites=true&w=majority"); + await deleteMessage(req.params.id) + mongoose.disconnect(); +}) + +app.put("/messages/:id", async (req, res) => { + await mongoose.connect("mongodb+srv://joasep:koira@messagescluster0.nvb8tqc.mongodb.net/?retryWrites=true&w=majority"); + await modifyMessage(req.params.id, req.body.message) + mongoose.disconnect(); }) +async function modifyMessage(messageID, messageBody){ + await Message.updateOne({_id: messageID}, {message: messageBody}) +} + +async function deleteMessage(messageID){ + await Message.deleteOne({_id: messageID}) +} + + async function addMessage(messageContent){ await Message.create({message: messageContent}) } -- GitLab