chats and messages

This commit is contained in:
Nikolai Petukhov
2024-10-05 11:46:18 +03:00
parent 22a549e269
commit 13f4d43761
5 changed files with 367 additions and 105 deletions
+35 -3
View File
@@ -2,11 +2,17 @@ const chatRouter = require('express').Router();
module.exports = chatRouter;
const { getChatFromDB, getUsersChats, addChatToDB, getUserFromDB } = require('../db');
const { getChatFromDB, getUsersChats, addChatToDB, getUserFromDB,
addMessageToChat} = require('../db');
chatRouter.get('/item/:id1/:id2', (req, res) => {
const { id1, id2 } = req.params;
console.log("Request get in /chat:", id1, id2)
console.log("Request get in /chat:", id1, id2);
if (id1 === id2) {
res.status(400).send({message: 'Ids should be different'});
return;
}
const chat = getChatFromDB(id1, id2);
@@ -19,7 +25,12 @@ chatRouter.get('/item/:id1/:id2', (req, res) => {
chatRouter.post('/item/:id1/:id2', (req, res) => {
const { id1, id2 } = req.params;
console.log("Request post in /chat:", id1, id2)
console.log("Request post in /chat:", id1, id2);
if (id1 === id2) {
res.status(400).send({message: 'Ids should be different'});
return;
}
const chat = getChatFromDB(id1, id2);
@@ -57,3 +68,24 @@ chatRouter.get('/list/:id', (req, res) => {
res.status(200).send({chats: userChats});
}
})
chatRouter.post('/message/:sender/:receiver', (req, res) => {
const { sender, receiver } = req.params;
const { message } = req.body;
console.log("Request post /message in /chat:", sender, receiver, message);
const chat = getChatFromDB(sender, receiver);
if (!chat) {
// Chat already exists
res.status(400).send({message: "Such chat does not exist"});
} else {
if (!getUserFromDB(sender) || !getUserFromDB(receiver)) {
res.status(404).send({message: 'Such people do not exist'});
} else {
// Add new message
addMessageToChat(chat, message);
res.status(200).send({});
}
}
})