Update Add user hospital portal

This commit is contained in:
ivan-sim
2024-05-20 11:33:48 +07:00
parent f83a7954aa
commit 6c2a4dae1b
14 changed files with 217 additions and 96 deletions

View File

@@ -25,34 +25,97 @@ import axios from './axios';
// }, timeLeft);
// };
const setSession = (accessToken: string | null) => {
let expiredCookie = '12 * 60';
const setCookie = (name:any, value:any, days:any) => {
let expires = "";
if (days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + decodeURIComponent(value || "") + expires + "; path=/; SameSite=Strict";
};
const setSession = (accessToken: string | null, rememberMe: boolean) => {
if (accessToken) {
localStorage.setItem('accessToken', accessToken);
const userString = getUser();
const storedUser = userString ? JSON.parse(userString) : null;
if(rememberMe)
{
localStorage.setItem('accessToken', accessToken);
}
else
{
setCookie('accessToken', accessToken, expiredCookie);
setCookie('rememberMe', 'OK', expiredCookie);
}
axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
axios.defaults.headers.common['Accept-Language'] = (localStorage.getItem('currentLocale') ? localStorage.getItem('currentLocale') : 'id-ID');
axios.defaults.headers.common['Accept-Language'] = localStorage.getItem('currentLocale') ?? 'id-ID';
axios.defaults.headers.common['Accept'] = 'application/json';
axios.defaults.headers.common['Content-Type'] = 'application/json';
axios.defaults.headers.common['Organization-id'] = storedUser?.organization_id;
// This function below will handle when token is expired
// const { exp } = jwtDecode(accessToken);
// handleTokenExpired(exp);
} else {
localStorage.removeItem('accessToken');
removeCookie('accessToken');
removeCookie('rememberMe');
delete axios.defaults.headers.common.Authorization;
delete axios.defaults.headers.common['Accept-Language'];
delete axios.defaults.headers.common['Accept'];
delete axios.defaults.headers.common['Content-Type'];
delete axios.defaults.headers.common['Content-Type'];
}
};
const setUser = (user: any) => {
const setUser = (user: any, rememberMe: boolean) => {
if (user) {
localStorage.setItem('user', user);
if(rememberMe)
{
localStorage.setItem('user', JSON.stringify(user));
}
else
{
setCookie('user', JSON.stringify(user), expiredCookie);
setCookie('rememberMe', 'OK', expiredCookie);
}
} else {
localStorage.removeItem('user');
removeCookie('user');
removeCookie('rememberMe');
}
};
const getSession = () => window.localStorage.getItem('accessToken')
const getUser = () => window.localStorage.getItem('user')
const getCookie = (name:any) => {
const cookies = document.cookie.split('; ');
for (let i = 0; i < cookies.length; i++) {
const cookiePair = cookies[i].split('=');
if (cookiePair[0] === name) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
};
export { setSession, getSession, setUser, getUser };
const getSession = () => {
const localToken = window.localStorage.getItem('accessToken');
const cookieToken = getCookie('accessToken');
// Prioritaskan token dari localStorage
return localToken || cookieToken;
};
// const getUser = () => window.localStorage.getItem('user') || window.sessionStorage.getItem('user')
const getUser = () => {
const localUser = window.localStorage.getItem('user');
const cookieUser = getCookie('user');
// Prioritaskan token dari localStorage
return localUser || cookieUser;
};
const removeCookie = (name:any) => {
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
};
export { setSession, getSession, setUser, getUser, getCookie };