errors added + getRooms, newRoom, addRoomMember, removeRoomMember

This commit is contained in:
NyxiumYuuki 2021-06-01 17:46:48 +02:00
parent b97e81d970
commit cdb90cdcfb

View file

@ -4,8 +4,12 @@ const {sendError, sendMessage} = require ("../message");
// new conv
router.post("/newConv", async (req, res) => {
if (typeof req.body.sender === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender');
if (typeof req.body.receiver === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ receiver');
const newConversation = new Conversation({
members: [req.body.sender, req.body.receiver]
members: [req.body.sender, req.body.receiver], owner: null
});
try{
@ -18,6 +22,10 @@ router.post("/newConv", async (req, res) => {
// get conv
router.post("/getConv", async (req, res) => {
if (typeof req.body.sender === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender');
if (typeof req.body.receiver === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ receiver');
try {
const conversation = await Conversation.findOne({$or: [{members: {$eq: [req.body.sender,req.body.receiver]}},{members: {$eq: [req.body.receiver,req.body.sender]}}]},{_id:1});
sendMessage(res,conversation);
@ -25,4 +33,106 @@ router.post("/getConv", async (req, res) => {
sendMessage(res,err);
}
})
module.exports = router;
// get conv
router.post("/getRooms", async (req, res) => {
if (typeof req.body.member === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender');
try {
const conversation = await Conversation.find({members: {$in: [req.body.member]}, owner: {$exists: true}},{_id:1});
sendMessage(res,conversation);
}catch (err){
sendMessage(res,err);
}
})
// new Room
router.post("/newRoom", async (req, res) => {
if (typeof req.body.owner === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender');
const newConversation = new Conversation(
{members: req.body.owner, owner: req.body.owner});
try{
const savedConversation = await newConversation.save();
sendMessage(res,savedConversation._id);
}catch (err){
sendError(res,err);
}
});
// add Room Member
router.post("/addRoomMember", async (req, res) => {
if (typeof req.body.conversationid === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ conversationId');
if (typeof req.body.owner === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ owner');
if (typeof req.body.member === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ member');
if(req.body.member === req.body.owner){
return sendError(res, 'Impossible de vous ajouter vous même');
}
try{
await Conversation.updateOne(
{_id: req.body.conversationid, owner: req.body.owner},
{$addToSet: {members: req.body.member}},
{useFindAndModify: false},
function(err, result){
if(result !== undefined){
console.log(result);
if(result.nModified === 1){
sendMessage(res,req.body.member+' added');
}
else{
sendError(res,err);
}
}
else{
sendError(res,err);
}
});
}catch (err){
sendError(res,err);
}
});
// remove Room Member
router.post("/removeRoomMember", async (req, res) => {
if (typeof req.body.conversationid === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ conversationId');
if (typeof req.body.owner === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ owner');
if (typeof req.body.member === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ member');
if(req.body.member === req.body.owner){
return sendError(res, 'Impossible de vous enlever vous même');
}
try{
await Conversation.updateOne(
{_id: req.body.conversationid, owner: req.body.owner},
{$pull: {members: req.body.member}},
{useFindAndModify: false},
function(err, result){
if(result !== undefined){
console.log(result);
if(result.nModified === 1){
sendMessage(res,req.body.member+' removed');
}
else{
sendError(res,err);
}
}
else{
sendError(res,err);
}
});
}catch (err){
sendError(res,err);
}
});
module.exports = router;