Side Menu layer 2 updated
This commit is contained in:
@@ -7,23 +7,70 @@ import { PagesInfosAndEndpoints } from "@/apimaps/mappingApi";
|
||||
|
||||
const availableEventsURL = `${baseUrl}/access/endpoints/available`;
|
||||
|
||||
async function checkPageAvaliablityByEndpoint(availableEvents: any) {
|
||||
let availablePages: string[] = [];
|
||||
const availableEventsList: string[] = availableEvents || [];
|
||||
PagesInfosAndEndpoints.map((page) => {
|
||||
const pageInfo = page?.pageInfo?.tr || [];
|
||||
function iterateOverPageLayers(
|
||||
availableEventsList: any,
|
||||
availablePages: any,
|
||||
iterLevel: any
|
||||
) {
|
||||
console.log("iterLevel", iterLevel);
|
||||
if (Array.isArray(iterLevel)) {
|
||||
iterLevel.map((page: any) => {
|
||||
const pageInfo = page?.pageInfo?.tr || [];
|
||||
if (pageInfo.length > 0) {
|
||||
pageInfo.map((pageInfoItem: any) => {
|
||||
const endpoint = pageInfoItem?.endpoint || "";
|
||||
if (
|
||||
availableEventsList.includes(endpoint) &&
|
||||
!availablePages.includes(page.name)
|
||||
) {
|
||||
if (page.name) {
|
||||
availablePages.push(page.name);
|
||||
}
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
const pageInfo = iterLevel?.pageInfo?.tr || [];
|
||||
if (pageInfo.length > 0) {
|
||||
pageInfo.map((pageInfoItem) => {
|
||||
pageInfo.map((pageInfoItem: any) => {
|
||||
const endpoint = pageInfoItem?.endpoint || "";
|
||||
if (
|
||||
availableEventsList.includes(endpoint) &&
|
||||
!availablePages.includes(page.name)
|
||||
!availablePages.includes(iterLevel.name)
|
||||
) {
|
||||
availablePages.push(page.name);
|
||||
availablePages.push(iterLevel.name);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function checkPageAvaliablityByEndpoint(availableEvents: any) {
|
||||
let availablePages: string[] = [];
|
||||
const availableEventsList: string[] = availableEvents || [];
|
||||
let pageLayers = null;
|
||||
PagesInfosAndEndpoints.map((page) => {
|
||||
if (page.subCategories) {
|
||||
pageLayers = page?.subCategories;
|
||||
if (pageLayers) {
|
||||
iterateOverPageLayers(availableEventsList, availablePages, pageLayers);
|
||||
|
||||
const nestedLayers = pageLayers.find(
|
||||
(layer) => layer.subCategories
|
||||
)?.subCategories;
|
||||
if (nestedLayers) {
|
||||
iterateOverPageLayers(
|
||||
availableEventsList,
|
||||
availablePages,
|
||||
nestedLayers
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterateOverPageLayers(availableEventsList, availablePages, page);
|
||||
});
|
||||
return availablePages;
|
||||
}
|
||||
@@ -44,15 +91,22 @@ async function setAvailableEvents() {
|
||||
const availableEventDataRes = await checkPageAvaliablityByEndpoint(
|
||||
availableEventData
|
||||
);
|
||||
console.log("availableEventDataRes", availableEventDataRes);
|
||||
const availableEvents = await nextCrypto.encrypt(
|
||||
JSON.stringify({ availableEvents: availableEventData })
|
||||
);
|
||||
const availablePages = await nextCrypto.encrypt(
|
||||
JSON.stringify({ availablePages: availableEventDataRes })
|
||||
);
|
||||
cookieStore.set({
|
||||
name: "availableEvents",
|
||||
value: availableEvents,
|
||||
...cookieObject,
|
||||
});
|
||||
cookieStore.set({
|
||||
name: "availablePages",
|
||||
value: availablePages,
|
||||
...cookieObject,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user