fix: improve muc create performance

This commit is contained in:
2023-02-23 15:10:54 +01:00
parent 6a004fff4d
commit 7b81bf6db1
+14 -30
View File
@@ -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});