fix: improve muc create performance
This commit is contained in:
+14
-30
@@ -503,50 +503,34 @@ router.post('/creategroup', async function (req, res) {
|
||||
});
|
||||
}
|
||||
let alreadyExists = doesMucExist(req.body.jid);
|
||||
console.log("existenceCheck ", alreadyExists);
|
||||
if (alreadyExists == 1) {
|
||||
res.status(409).json({message: "muc already exists"});
|
||||
} else {
|
||||
if (connection.socket.writable) {
|
||||
console.log("creating room...");
|
||||
let cmd = 'muc:create("' + req.body.jid.toLowerCase() + '");';
|
||||
let cmd = 'muc:create("' + req.body.jid.toLowerCase() + '", {';
|
||||
cmd += 'subject="' + req.body.subject + '", history_length = 5, persistent = true });';
|
||||
let response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
if (response.indexOf("Result: MUC room (" + req.body.jid.toLowerCase()) > -1 ) {
|
||||
// all good
|
||||
console.log("setting subject to " + req.body.subject);
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_subject("' + req.body.jid + '/' + req.body.owner + '", "' + req.body.subject + '");';
|
||||
console.log("setting owner to " + req.body.owner);
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_affiliation(true, "' + req.body.owner + '", "owner");';
|
||||
response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
if (response.indexOf("Result: true") > -1) {
|
||||
console.log("setting historylength");
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_historylength(5);';
|
||||
response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
|
||||
console.log("setting persistent");
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_persistent(true);';
|
||||
response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
|
||||
console.log("setting owner to " + req.body.owner);
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_affiliation(true, "' + req.body.owner + '", "owner");';
|
||||
response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
|
||||
if (req.body.members && req.body.members.length > 0) {
|
||||
for (var i = 0; i < req.body.members.length; i++) {
|
||||
console.log("adding member " + req.body.members[i]);
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_affiliation(true, "' + req.body.members[i] + '", "member");';
|
||||
response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
}
|
||||
if (req.body.members && req.body.members.length > 0) {
|
||||
for (var i = 0; i < req.body.members.length; i++) {
|
||||
console.log("adding member " + req.body.members[i]);
|
||||
cmd = 'muc:room("' + req.body.jid + '"):set_affiliation(true, "' + req.body.members[i] + '", "member");';
|
||||
response = await connection.send(cmd);
|
||||
console.log(response);
|
||||
}
|
||||
//muc:room("testingtelnetcreate1_meeting@conference.microlab.zimbra-vnc.de"):set_affiliation(true, "richard.watson@microlab.zimbra-vnc.de", "member");
|
||||
|
||||
res.json({status: "ok"});
|
||||
} else {
|
||||
res.status(500).json({error: response});
|
||||
}
|
||||
//muc:room("testingtelnetcreate1_meeting@conference.microlab.zimbra-vnc.de"):set_affiliation(true, "richard.watson@microlab.zimbra-vnc.de", "member");
|
||||
|
||||
res.json({status: "ok"});
|
||||
|
||||
} else {
|
||||
res.status(500).json({error: response});
|
||||
|
||||
Reference in New Issue
Block a user