|
1 | | -import { SET_CURRENT_USER, GET_USER_PROFILE, PASSWORD_SUCCESSFULLY_CHANGED, PASSWORD_CHANGE_REQUEST_SUCCESS } from './types'; |
| 1 | +import { SET_CURRENT_USER, GET_USER_PROFILE, PASSWORD_SUCCESSFULLY_CHANGED, PASSWORD_CHANGE_REQUEST_SUCCESS, SET_ADMIN } from './types'; |
2 | 2 | import axios from 'axios'; |
3 | 3 | import { setAuthToken } from '../utils/setAuthToken'; |
4 | 4 | import jwt_decode from 'jwt-decode'; |
@@ -46,8 +46,19 @@ export const loginUser = (userInfo, history) => async (dispatch) => { |
46 | 46 | const decodedData = await jwt_decode(token); |
47 | 47 | localStorage.setItem('userId', decodedData._id) |
48 | 48 | dispatch(setCurrentUser(decodedData)); |
49 | | - history.push("/dashboard"); |
50 | 49 |
|
| 50 | + // update user role in localStorage |
| 51 | + localStorage.setItem('admin', res.data.user.isAdmin) |
| 52 | + |
| 53 | + // store orgId in localStorage |
| 54 | + localStorage.setItem('orgId', res.data.user.orgId); |
| 55 | + |
| 56 | + // if user is admin update admin in store |
| 57 | + dispatch({ |
| 58 | + type: SET_ADMIN, |
| 59 | + payload: res.data.user.isAdmin |
| 60 | + }) |
| 61 | + history.push("/dashboard"); |
51 | 62 | } |
52 | 63 | } catch(error) { |
53 | 64 | dispatch(errorHandler(error)); |
@@ -104,10 +115,10 @@ export const logoutUser = () => async (dispatch) => { |
104 | 115 | // clear token from backend |
105 | 116 | const res = await axios.post('/user/logout') |
106 | 117 | if (res.status === 200) { |
107 | | - // remove token from the localStorage |
108 | | - localStorage.removeItem('jwtToken'); |
109 | | - // remove userID |
110 | | - localStorage.removeItem('userId') |
| 118 | + // remove all keys from the localStorage except the orgId |
| 119 | + const orgId = localStorage.getItem('orgId'); |
| 120 | + localStorage.clear() |
| 121 | + localStorage.setItem('orgId', orgId) |
111 | 122 | // delete authorization from the header |
112 | 123 | setAuthToken(false); |
113 | 124 | // set user to {} |
|
0 commit comments