mongoose + tests
This commit is contained in:
@@ -1,43 +1,43 @@
|
||||
const chatRouter = require('express').Router();
|
||||
const chatRouter = require('express').Router()
|
||||
|
||||
module.exports = chatRouter;
|
||||
module.exports = chatRouter
|
||||
|
||||
const { getChatFromDB, getUsersChats, addChatToDB, getUserFromDB,
|
||||
addMessageToChat} = require('../db');
|
||||
addMessageToChat} = require('../db')
|
||||
|
||||
chatRouter.get('/item/:id1/:id2', (req, res) => {
|
||||
const { id1, id2 } = req.params;
|
||||
const { id1, id2 } = req.params
|
||||
|
||||
if (id1 === id2) {
|
||||
res.status(400).send({message: 'Ids should be different'});
|
||||
return;
|
||||
res.status(400).send({message: 'Ids should be different'})
|
||||
return
|
||||
}
|
||||
|
||||
const chat = getChatFromDB(id1, id2);
|
||||
const chat = getChatFromDB(id1, id2)
|
||||
|
||||
if (chat) {
|
||||
res.status(200).send({chat});
|
||||
res.status(200).send({chat})
|
||||
} else {
|
||||
res.status(404).send({message: 'Chat was not found'});
|
||||
res.status(404).send({message: 'Chat was not found'})
|
||||
}
|
||||
})
|
||||
|
||||
chatRouter.post('/item/:id1/:id2', (req, res) => {
|
||||
const { id1, id2 } = req.params;
|
||||
const { id1, id2 } = req.params
|
||||
|
||||
if (id1 === id2) {
|
||||
res.status(400).send({message: 'Ids should be different'});
|
||||
return;
|
||||
res.status(400).send({message: 'Ids should be different'})
|
||||
return
|
||||
}
|
||||
|
||||
const chat = getChatFromDB(id1, id2);
|
||||
const chat = getChatFromDB(id1, id2)
|
||||
|
||||
if (chat) {
|
||||
// Chat already exists
|
||||
res.status(200).send({chat});
|
||||
res.status(200).send({chat})
|
||||
} else {
|
||||
if (!getUserFromDB(id1) || !getUserFromDB(id2)) {
|
||||
res.status(404).send({message: 'Such interlocutor does not exist'});
|
||||
res.status(404).send({message: 'Such interlocutor does not exist'})
|
||||
} else {
|
||||
// Creating new chat
|
||||
const newChat = {
|
||||
@@ -46,41 +46,41 @@ chatRouter.post('/item/:id1/:id2', (req, res) => {
|
||||
messages: []
|
||||
}
|
||||
|
||||
addChatToDB(newChat);
|
||||
addChatToDB(newChat)
|
||||
|
||||
res.status(200).send({newChat});
|
||||
res.status(200).send({newChat})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
chatRouter.get('/list/:id', (req, res) => {
|
||||
const { id } = req.params;
|
||||
const { id } = req.params
|
||||
|
||||
const userChats = getUsersChats(id);
|
||||
const userChats = getUsersChats(id)
|
||||
|
||||
if (!userChats) {
|
||||
res.status(404).send({message: 'Error with retrieving chats'});
|
||||
res.status(404).send({message: 'Error with retrieving chats'})
|
||||
} else {
|
||||
res.status(200).send({chats: userChats});
|
||||
res.status(200).send({chats: userChats})
|
||||
}
|
||||
})
|
||||
|
||||
chatRouter.post('/message/:sender/:receiver', (req, res) => {
|
||||
const { sender, receiver } = req.params;
|
||||
const { message } = req.body;
|
||||
const { sender, receiver } = req.params
|
||||
const { message } = req.body
|
||||
|
||||
const chat = getChatFromDB(sender, receiver);
|
||||
const chat = getChatFromDB(sender, receiver)
|
||||
|
||||
if (!chat) {
|
||||
// Chat already exists
|
||||
res.status(400).send({message: "Such chat does not exist"});
|
||||
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'});
|
||||
res.status(404).send({message: 'Such people do not exist'})
|
||||
} else {
|
||||
// Add new message
|
||||
addMessageToChat(chat, message);
|
||||
res.status(200).send({});
|
||||
addMessageToChat(chat, message)
|
||||
res.status(200).send({})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user