updated services web user selection

This commit is contained in:
2025-06-16 15:52:50 +03:00
parent 8573c8021b
commit b73417a625
14 changed files with 117 additions and 62 deletions

View File

@@ -17,7 +17,7 @@ const getMenuFromRedis = async (): Promise<ClientMenu> => {
} catch (error) { if (error instanceof AuthError) { throw error } else { throw new AuthError(error instanceof Error ? error.message : "Unknown error") } }
}
const setMenuToRedis = async (menuObject: ClientMenu) => {
const setMenuToRedis = async (menuObject: string[]) => {
try {
const decrpytUserSelection = await functionRetrieveUserSelection()
if (!decrpytUserSelection) throw new AuthError("No user selection found");
@@ -26,7 +26,12 @@ const setMenuToRedis = async (menuObject: ClientMenu) => {
if (!menuObject) throw new AuthError("No menu object provided");
const oldData = await getCompleteFromRedis();
if (!oldData) throw new AuthError("No old data found in redis");
await setCompleteToRedis({ ...oldData, menu: menuObject });
await setCompleteToRedis({
...oldData, menu: {
...oldData.menu,
selectionList: menuObject,
}
});
return true;
} catch (error) { if (error instanceof AuthError) { throw error } else { throw new AuthError(error instanceof Error ? error.message : "Unknown error") } }
}

View File

@@ -16,6 +16,7 @@ import { retrievePageList } from "@/fetchers/mutual/cookies/token";
import { deleteAllCookies } from "@/fetchers/mutual/cookies/cookie-actions";
import { setMenuToRedis } from "@/fetchers/custom/context/page/menu/fetch";
import { LoginViaAccessKeys, LoginSelect } from "@/fetchers/types/login/validations";
import { retrieveValidUrlsOfRestriction } from "../restriction/fetch";
async function logoutActiveSession() {
const response = await fetchDataWithToken(urlLogoutEndpoint, {}, "GET", false);
@@ -157,7 +158,8 @@ async function loginSelectEmployee(payload: LoginSelect) {
if (selectResponse.status === 200 || selectResponse.status === 202) {
try {
console.log("selectResponse", selectResponse) // Get Menu URL's of Employee
const validUrls = await retrieveValidUrlsOfRestriction()
setMenuToRedis(validUrls)
} catch (error) { }
}
return selectResponse;
@@ -169,6 +171,8 @@ async function loginSelectOccupant(payload: LoginSelect) {
if (selectResponse.status === 200 || selectResponse.status === 202) {
try {
console.log("selectResponse", selectResponse) // Get Menu URL's of Occupant
const validUrls = await retrieveValidUrlsOfRestriction()
setMenuToRedis(validUrls)
} catch (error) { }
}
return selectResponse;

View File

@@ -0,0 +1,13 @@
"use server";
import { fetchDataWithToken } from "@/fetchers/fecther";
import { fetchResponseStatus } from "@/fetchers/utils";
import { urlSiteUrls } from "@/fetchers/index";
async function retrieveValidUrlsOfRestriction() {
const response = await fetchDataWithToken(urlSiteUrls, {}, "GET", false);
if (!fetchResponseStatus(response)) throw new Error("No valid urls found");
const data = response.data as any;
return data.sites;
}
export { retrieveValidUrlsOfRestriction }