Side Menu layer 2 updated
This commit is contained in:
@@ -43,6 +43,15 @@ async function retrieveAvailableEvents() {
|
||||
return decrpytAccessObject ? JSON.parse(decrpytAccessObject) : null;
|
||||
}
|
||||
|
||||
async function retrieveavailablePages() {
|
||||
const cookieStore = await cookies();
|
||||
const encrpytAccessObject = cookieStore.get("availablePages")?.value || "";
|
||||
const decrpytAccessObject = await nextCrypto.decrypt(encrpytAccessObject);
|
||||
return decrpytAccessObject
|
||||
? JSON.parse(decrpytAccessObject)?.availablePages || []
|
||||
: null;
|
||||
}
|
||||
|
||||
async function retrieveAvatarInfo() {
|
||||
const response = await fetchDataWithToken(
|
||||
`${baseUrl}/authentication/avatar`,
|
||||
@@ -119,4 +128,5 @@ export {
|
||||
retrieveAccessObjects,
|
||||
retrieveAvailableEvents,
|
||||
retrieveUserSelection,
|
||||
retrieveavailablePages,
|
||||
};
|
||||
|
||||
@@ -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