diff --git a/src/redux/user/user.thunks.ts b/src/redux/user/user.thunks.ts index 6abb07c34200d96522c4c69c59586f950b44b160..3e1f7bc1079e8524940facf371cd28bf14511fb1 100644 --- a/src/redux/user/user.thunks.ts +++ b/src/redux/user/user.thunks.ts @@ -8,6 +8,7 @@ import { USER_ROLE } from '@/constants/user'; import { getError } from '@/utils/error-report/getError'; import axios, { HttpStatusCode } from 'axios'; import { showToast } from '@/utils/showToast'; +import { setLoginForOldMinerva } from '@/utils/setLoginForOldMinerva'; import { apiPath } from '../apiPath'; import { closeModal, openLoggedInMenuModal } from '../modal/modal.slice'; import { hasPrivilege } from './user.utils'; @@ -44,6 +45,8 @@ export const login = createAsyncThunk( const loginName = response.data.login; if (isDataValid) { + setLoginForOldMinerva(loginName); + const userData = await getUserData(loginName); const role = getUserRole(userData.privileges); @@ -91,6 +94,8 @@ export const getSessionValid = createAsyncThunk('user/getSessionValid', async () const role = getUserRole(userData.privileges); if (isDataValid) { + setLoginForOldMinerva(loginName); + return { login: loginName, userData, @@ -107,6 +112,7 @@ export const logout = createAsyncThunk('user/logout', async () => { withCredentials: true, }); + setLoginForOldMinerva(undefined); return undefined; } catch (error) { return Promise.reject(getError({ error, prefix: 'Log out' })); diff --git a/src/utils/setLoginForOldMinerva.ts b/src/utils/setLoginForOldMinerva.ts new file mode 100644 index 0000000000000000000000000000000000000000..db31cda390acbaec5925981afb26788bebf144ce --- /dev/null +++ b/src/utils/setLoginForOldMinerva.ts @@ -0,0 +1,8 @@ +export const setLoginForOldMinerva = (loginName: string | undefined): void => { + // old minerva require this information + if (loginName) { + window.localStorage.setItem('LOGIN', loginName); + } else { + window.localStorage.removeItem('LOGIN'); + } +};