Lets try this, hope i dont have to rollback
This commit is contained in:
parent
e27dab223b
commit
284067b458
126
index.js
126
index.js
|
@ -149,6 +149,51 @@ const updateName = (ext, name) => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set up mariadb connection
|
||||||
|
const mariadb = require('mariadb');
|
||||||
|
const pool = mariadb.createPool(config.mariadb);
|
||||||
|
const cdrPool = mariadb.createPool(config.cdrdb);
|
||||||
|
|
||||||
|
const generateExtensionListEmbed = async () => {
|
||||||
|
return new Promise(async (resolve, reject) => {
|
||||||
|
var conn = await cdrPool.getConnection();
|
||||||
|
pbxClient.request(funcs.generateQuery("list", {})).then((result) => {
|
||||||
|
let extensions = result.fetchAllExtensions.extension;
|
||||||
|
// key:value pairs of extension:username
|
||||||
|
let extensionList = {};
|
||||||
|
let inactive = [];
|
||||||
|
extensions.forEach((extension) => {
|
||||||
|
extensionList[extension.user.extension] = extension.user.name;
|
||||||
|
conn.query(`SELECT * FROM cel WHERE cid_num = ${extension.user.extension} AND eventtime >= DATE_SUB(CURDATE(), INTERVAL 30 DAY);`)
|
||||||
|
.then((rows) => {
|
||||||
|
if (rows.length == 0) {
|
||||||
|
inactive.push(extension.user.extension);
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
extensionList1 = "";
|
||||||
|
for (let key in extensionList) {
|
||||||
|
extensionList1 += `\`${inactive[key] ? "*" : ""}${key}\`: ${extensionList[key]}\n`;
|
||||||
|
}
|
||||||
|
res = {
|
||||||
|
"title": "Extension List",
|
||||||
|
"color": 0x00ff00,
|
||||||
|
// Get the number of extensions
|
||||||
|
"description": `${extensions.length} extensions`,
|
||||||
|
"fields": [{
|
||||||
|
"name": "Extensions",
|
||||||
|
"value": `${extensionList1}`
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
resolve(res);
|
||||||
|
}).catch((error) => {
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
conn.end();
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
const lookupExtension = (ident, type) => { // type is either "ext" or "uid"
|
const lookupExtension = (ident, type) => { // type is either "ext" or "uid"
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
@ -267,10 +312,6 @@ const findNextExtension = () => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set up mariadb connection
|
|
||||||
const mariadb = require('mariadb');
|
|
||||||
const pool = mariadb.createPool(config.mariadb);
|
|
||||||
|
|
||||||
// Load Discord.js
|
// Load Discord.js
|
||||||
const Discord = require("discord.js");
|
const Discord = require("discord.js");
|
||||||
const {
|
const {
|
||||||
|
@ -501,20 +542,13 @@ dcClient.on('ready', async () => {
|
||||||
for (let key in extensionList) {
|
for (let key in extensionList) {
|
||||||
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
||||||
}
|
}
|
||||||
|
generateExtensionListEmbed().then(embed => {
|
||||||
extListChannel.send({
|
extListChannel.send({
|
||||||
content: "",
|
content: "",
|
||||||
embeds: [{
|
embeds: [embed]
|
||||||
"title": "Extension List",
|
|
||||||
"color": 0x00ff00,
|
|
||||||
// Get the number of extensions
|
|
||||||
"description": `${extensions.length} extensions`,
|
|
||||||
"fields": [{
|
|
||||||
"name": "Extensions",
|
|
||||||
"value": `${extensionList1}`
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
pbxClient.request(funcs.generateQuery("list", {})).then((result) => {
|
pbxClient.request(funcs.generateQuery("list", {})).then((result) => {
|
||||||
let extensions = result.fetchAllExtensions.extension;
|
let extensions = result.fetchAllExtensions.extension;
|
||||||
|
@ -527,18 +561,11 @@ dcClient.on('ready', async () => {
|
||||||
for (let key in extensionList) {
|
for (let key in extensionList) {
|
||||||
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
||||||
}
|
}
|
||||||
|
generateExtensionListEmbed().then(embed => {
|
||||||
messages.first().edit({
|
messages.first().edit({
|
||||||
content: "",
|
content: "",
|
||||||
embeds: [{
|
embeds: [embed]
|
||||||
"title": "Extension List",
|
});
|
||||||
"color": 0x00ff00,
|
|
||||||
// Get the number of extensions
|
|
||||||
"description": `${extensions.length} extensions`,
|
|
||||||
"fields": [{
|
|
||||||
"name": "Extensions",
|
|
||||||
"value": `${extensionList1}`
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -560,18 +587,11 @@ dcClient.on('ready', async () => {
|
||||||
for (let key in extensionList) {
|
for (let key in extensionList) {
|
||||||
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
||||||
}
|
}
|
||||||
|
generateExtensionListEmbed().then(embed => {
|
||||||
extListChannel.send({
|
extListChannel.send({
|
||||||
content: "",
|
content: "",
|
||||||
embeds: [{
|
embeds: [embed]
|
||||||
"title": "Extension List",
|
});
|
||||||
"color": 0x00ff00,
|
|
||||||
// Get the number of extensions
|
|
||||||
"description": `${extensions.length} extensions`,
|
|
||||||
"fields": [{
|
|
||||||
"name": "Extensions",
|
|
||||||
"value": `${extensionList1}`
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
@ -586,18 +606,11 @@ dcClient.on('ready', async () => {
|
||||||
for (let key in extensionList) {
|
for (let key in extensionList) {
|
||||||
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
||||||
}
|
}
|
||||||
|
generateExtensionListEmbed().then(embed => {
|
||||||
messages.first().edit({
|
messages.first().edit({
|
||||||
content: "",
|
content: "",
|
||||||
embeds: [{
|
embeds: [embed]
|
||||||
"title": "Extension List",
|
});
|
||||||
"color": 0x00ff00,
|
|
||||||
// Get the number of extensions
|
|
||||||
"description": `${extensions.length} extensions`,
|
|
||||||
"fields": [{
|
|
||||||
"name": "Extensions",
|
|
||||||
"value": `${extensionList1}`
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -725,32 +738,13 @@ dcClient.on('interactionCreate', async interaction => {
|
||||||
await interaction.deferReply({
|
await interaction.deferReply({
|
||||||
ephemeral: false
|
ephemeral: false
|
||||||
});
|
});
|
||||||
pbxClient.request(funcs.generateQuery("list", {})).then((result) => {
|
generateExtensionListEmbed().then((result) => {
|
||||||
let extensions = result.fetchAllExtensions.extension;
|
|
||||||
// key:value pairs of extension:username
|
|
||||||
let extensionList = {};
|
|
||||||
extensions.forEach((extension) => {
|
|
||||||
extensionList[extension.user.extension] = extension.user.name;
|
|
||||||
});
|
|
||||||
extensionList1 = "";
|
|
||||||
for (let key in extensionList) {
|
|
||||||
extensionList1 += `\`${key}\`: ${extensionList[key]}\n`;
|
|
||||||
}
|
|
||||||
interaction.editReply({
|
interaction.editReply({
|
||||||
content: "",
|
content: "",
|
||||||
embeds: [{
|
embeds: [result]
|
||||||
"title": "Extension List",
|
|
||||||
"color": 0x00ff00,
|
|
||||||
// Get the number of extensions
|
|
||||||
"description": `${extensions.length} extensions`,
|
|
||||||
"fields": [{
|
|
||||||
"name": "Extensions",
|
|
||||||
"value": `${extensionList1}`
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
});
|
});
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
interaction.editReply(`Error listing extensions: ${error}`);
|
interaction.editReply(`Error generating extension list: ${error}`);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case "delete":
|
case "delete":
|
||||||
|
|
Loading…
Reference in a new issue