Account for deleted extensions

This commit is contained in:
Christopher Cookman 2023-02-07 00:51:10 -07:00
parent 34a024e8cf
commit b191299b2e
Signed by: ChrisChrome
GPG key ID: A023A26E42C33A42

View file

@ -128,15 +128,26 @@ const findNextExtension = () => {
// Find the highest extension // Find the highest extension
var highest = 0; var highest = 0;
// output looks like {fetchAllExtensions: { extension: [{user:{extension: 100, name: "Test"}}]}} // output looks like {fetchAllExtensions: { extension: [{user:{extension: 100, name: "Test"}}]}}
// Look out for gaps in the extension numbers, if there are any, use that one, if not, use the highest + 1
var exts = [];
result.fetchAllExtensions.extension.forEach((ext) => { result.fetchAllExtensions.extension.forEach((ext) => {
if (ext.user.extension > highest) { exts.push(ext.user.extension);
highest = ext.user.extension;
}
}); });
exts.sort((a, b) => a - b);
for (var i = 0; i < exts.length; i++) {
if (exts[i] != i + 100) {
highest = i + 100;
break;
}
}
if (highest == 0) {
highest = String(Number(exts[exts.length - 1]) + 1);
}
// Return the next extension // Return the next extension
res = { res = {
"status": "success", "status": "success",
"result": String(Number(highest) + 1) "result": String(highest)
} }
resolve(res); resolve(res);
}).catch((error) => { }).catch((error) => {