MCPcopy Create free account
hub / github.com/OpenSignLabs/OpenSign / ValidateRoute

Function ValidateRoute

apps/OpenSign/src/primitives/ValidateRoute.jsx:6–49  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4import { saveLanguageInLocal } from "../constant/Utils";
5import { useTranslation } from "react-i18next";
6const ValidateRoute = () => {
7 const { i18n } = useTranslation();
8 useEffect(() => {
9 (async () => {
10 if (localStorage.getItem("accesstoken")) {
11 try {
12 // Use the session token to validate the user
13 const userQuery = new Parse.Query(Parse.User);
14 const user = await userQuery.get(Parse?.User?.current()?.id, {
15 sessionToken: localStorage.getItem("accesstoken")
16 });
17 if (!user) {
18 handlelogout();
19 }
20 } catch (error) {
21 console.log("err in validate route", error);
22 handlelogout();
23 }
24 }
25 })();
26 // eslint-disable-next-line react-hooks/exhaustive-deps
27 }, []);
28 const handlelogout = async () => {
29 let appdata = localStorage.getItem("userSettings");
30 let applogo = localStorage.getItem("appLogo");
31 let defaultmenuid = localStorage.getItem("defaultmenuid");
32 let PageLanding = localStorage.getItem("PageLanding");
33 let baseUrl = localStorage.getItem("baseUrl");
34 let appid = localStorage.getItem("parseAppId");
35 let favicon = localStorage.getItem("favicon");
36
37 localStorage.clear();
38 saveLanguageInLocal(i18n);
39
40 localStorage.setItem("appLogo", applogo);
41 localStorage.setItem("defaultmenuid", defaultmenuid);
42 localStorage.setItem("PageLanding", PageLanding);
43 localStorage.setItem("userSettings", appdata);
44 localStorage.setItem("baseUrl", baseUrl);
45 localStorage.setItem("parseAppId", appid);
46 localStorage.setItem("favicon", favicon);
47 };
48 return <>{<Outlet />}</>;
49};
50
51export default ValidateRoute;

Callers

nothing calls this directly

Calls 1

handlelogoutFunction · 0.85

Tested by

no test coverage detected