Remove dupes
This commit is contained in:
parent
33d71ae1a6
commit
a7d4a91936
18
freepbx.js
18
freepbx.js
|
@ -194,33 +194,21 @@ class FreepbxManager {
|
||||||
};
|
};
|
||||||
|
|
||||||
async getNextAvailableExtension() {
|
async getNextAvailableExtension() {
|
||||||
console.log("Fetching list of extensions...");
|
|
||||||
const extList = await this.listExtensions();
|
const extList = await this.listExtensions();
|
||||||
console.log("Raw extension list:", JSON.stringify(extList, null, 2));
|
|
||||||
|
|
||||||
const exts = extList.fetchAllExtensions.extension;
|
const exts = extList.fetchAllExtensions.extension;
|
||||||
console.log("Parsed extensions array:", exts);
|
|
||||||
|
|
||||||
const startExt = process.env.START_EXT ? parseInt(process.env.START_EXT, 10) : 1000;
|
const startExt = process.env.START_EXT ? parseInt(process.env.START_EXT, 10) : 1000;
|
||||||
console.log("Start extension:", startExt);
|
// Remove duplicates by using a Set
|
||||||
|
const existingExtsSet = new Set(exts.map(ext => parseInt(ext.user.extension, 10)));
|
||||||
const existingExts = exts.map(ext => parseInt(ext.user.extension, 10));
|
const existingExts = Array.from(existingExtsSet).sort((a, b) => a - b);
|
||||||
console.log("Existing extensions (parsed as numbers):", existingExts);
|
|
||||||
|
|
||||||
existingExts.sort((a, b) => a - b);
|
|
||||||
console.log("Sorted existing extensions:", existingExts);
|
|
||||||
|
|
||||||
let nextExt = startExt;
|
let nextExt = startExt;
|
||||||
for (let i = 0; i < existingExts.length; i++) {
|
for (let i = 0; i < existingExts.length; i++) {
|
||||||
console.log(`Checking if existingExts[${i}] (${existingExts[i]}) === nextExt (${nextExt})`);
|
|
||||||
if (existingExts[i] !== nextExt) {
|
if (existingExts[i] !== nextExt) {
|
||||||
console.log(`Found gap at ${nextExt}, breaking loop.`);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
nextExt++;
|
nextExt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Next available extension determined:", nextExt);
|
|
||||||
return nextExt;
|
return nextExt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue