diff --git a/messagesAppBackend/src/server.ts b/messagesAppBackend/src/server.ts index fae4bfa39390252e78faf25d4cc5dad94e31f35d..6283e263ed56f50cbe29a3a1ef1fc611b94ac06e 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}) }