41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { PagesInfosAndEndpoints } from "./mappingApi";
|
|
|
|
export function retrieveAvailableCategories(availableCategories: any) {
|
|
const availableCategoriesList = Array.from(
|
|
availableCategories?.availableEvents || []
|
|
);
|
|
let availableMenu: Array<any> = [];
|
|
|
|
for (let i = 0; i < PagesInfosAndEndpoints.length; i++) {
|
|
const category = PagesInfosAndEndpoints[i];
|
|
if (category.allEndpoints) {
|
|
const setCategory = isCategoryAvailable(
|
|
category,
|
|
availableCategoriesList
|
|
);
|
|
if (setCategory) {
|
|
availableMenu.push(category);
|
|
}
|
|
}
|
|
}
|
|
return availableMenu;
|
|
}
|
|
|
|
function isCategoryAvailable(category: any, availableCategoriesList: any) {
|
|
const categoryList = Array.from(category.allEndpoints);
|
|
for (let j = 0; j < categoryList.length; j++) {
|
|
const endpoint = categoryList[j];
|
|
if (availableCategoriesList.includes(endpoint)) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
export function checkEndpointAvailability(
|
|
endpoint: string,
|
|
availableCategories: any
|
|
) {
|
|
const availableCategoriesList = Array.from(availableCategories || []);
|
|
return availableCategoriesList.includes(endpoint);
|
|
}
|