getConv updated for custom private room + getMembers, newRoom added

This commit is contained in:
NyxiumYuuki 2021-06-01 22:38:28 +02:00
parent fcf88e3cde
commit aa4fc113a1

View file

@ -22,44 +22,81 @@ router.post("/newConv", async (req, res) => {
// get conv // get conv
router.post("/getConv", async (req, res) => { router.post("/getConv", async (req, res) => {
if (typeof req.body.sender === 'undefined') if (typeof req.body.sender === 'undefined' && typeof req.body.member === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender'); return sendError(res, 'Vous n\'avez pas envoyé le champ sender ou member');
if (typeof req.body.receiver === 'undefined') if (typeof req.body.receiver === 'undefined' && typeof req.body.roomName === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ receiver'); return sendError(res, 'Vous n\'avez pas envoyé le champ receiver ou roomName');
if (typeof req.body.sender === 'undefined'){
try {
const conversation = await Conversation.find({members: {$in: [req.body.member]}, roomName: req.body.roomName},{_id:1});
if(conversation === []){
sendError(res, 'Not found');
}
else{
sendMessage(res,conversation[0]);
}
}catch (err){
sendError(res,err);
}
}
else{
try { 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}); const conversation = await Conversation.findOne({$or: [{members: {$eq: [req.body.sender,req.body.receiver]}},{members: {$eq: [req.body.receiver,req.body.sender]}}]},{_id:1});
console.log(conversation);
sendMessage(res,conversation); sendMessage(res,conversation);
}catch (err){ }catch (err){
sendMessage(res,err); sendError(res,err);
} }
}) }
});
// get conv
// getRooms
router.post("/getRooms", async (req, res) => { router.post("/getRooms", async (req, res) => {
if (typeof req.body.member === 'undefined') if (typeof req.body.member === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender'); return sendError(res, 'Vous n\'avez pas envoyé le champ member');
try { try {
const conversation = await Conversation.find({members: {$in: [req.body.member]}, owner: {$exists: true}},{_id:1}); const conversation = await Conversation.find({members: {$in: [req.body.member]}, owner: {$exists: true}},{});
sendMessage(res,conversation); sendMessage(res,conversation);
}catch (err){ }catch (err){
sendMessage(res,err); sendError(res,err);
} }
}) });
// getMembers
router.post("/getMembers", async (req, res) => {
if (typeof req.body.conversationid === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ conversationid');
try {
const conversation = await Conversation.find({_id: req.body.conversationid},{members: 1});
sendMessage(res,conversation);
}catch (err){
sendError(res,err);
}
});
// new Room // new Room
router.post("/newRoom", async (req, res) => { router.post("/newRoom", async (req, res) => {
if (typeof req.body.owner === 'undefined') if (typeof req.body.owner === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ sender'); return sendError(res, 'Vous n\'avez pas envoyé le champ owner');
const newConversation = new Conversation( if (typeof req.body.roomName === 'undefined')
{members: req.body.owner, owner: req.body.owner}); return sendError(res, 'Vous n\'avez pas envoyé le champ roomName');
await Conversation.updateOne(
try{ {roomName: req.body.roomName},
const savedConversation = await newConversation.save(); {$setOnInsert: {members: req.body.owner, owner: req.body.owner}},
sendMessage(res,savedConversation._id); {upsert:true},function(err,result){
}catch (err){ if(result !== undefined){
if(typeof result.upserted !== 'undefined'){
sendMessage(res,result.upserted[0]._id);
}else{
sendError(res,'Room already exist');
}
}else{
sendError(res,err); sendError(res,err);
} }
}); });
});
// add Room Member // add Room Member
router.post("/addRoomMember", async (req, res) => { router.post("/addRoomMember", async (req, res) => {