pbn-voip-modules
Version:
PBN VOIP Component Library
61 lines (54 loc) • 1.78 kB
JavaScript
export const getExtensionNumber = (extensions) => {
const extensionList = extensions?.content || extensions;
const updatedList = extensionList.map((item) => {
const { basic_settings } = item;
const lastName = basic_settings.user.last_name;
const displayLastName =
lastName === "." || lastName.trim() === "" ? "" : lastName;
return {
label: ` ${basic_settings.extension_number} : ${basic_settings.user.first_name} ${displayLastName} `,
value: basic_settings.extension_number,
};
});
return updatedList;
};
export const filterExtensionBasedOnPracticeId = (
extensions,
practice_id,
currentUser
) => {
let filteredExtension = extensions.filter(
(item) => item.basic_settings.practice_id === parseInt(practice_id)
);
if (currentUser?.extension[0]?.extension_number) {
filteredExtension = filteredExtension.filter(
(item) =>
item.basic_settings.extension_number !==
currentUser?.extension[0]?.extension_number
);
}
if (currentUser) {
// Check extension exist in the list if yes then add it to the top of the list
let idx = extensions.findIndex(
(item) =>
item.basic_settings.extension_number ===
currentUser.extension[0].extension_number
);
if (idx !== -1) {
filteredExtension.unshift(extensions[idx]);
} else {
// If extension not exist in the list then add it to the top of the list
const option = {
basic_settings: {
extension_number: currentUser.extension[0].extension_number,
user: {
first_name: currentUser.first_name,
last_name: currentUser.last_name,
},
},
};
filteredExtension.unshift(option);
}
}
return filteredExtension;
};