updated services web user selection
This commit is contained in:
@@ -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") } }
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 }
|
||||
Reference in New Issue
Block a user