getConv updated for custom private room + getMembers, newRoom added
This commit is contained in:
parent
fcf88e3cde
commit
aa4fc113a1
1 changed files with 63 additions and 26 deletions
|
|
@ -22,43 +22,80 @@ 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
|
||||||
|
|
|
||||||
Reference in a new issue