|
@@ -16,10 +16,11 @@ export const actions = {
|
|
|
data
|
|
|
}
|
|
|
},
|
|
|
- loginSuccess: (token) => {
|
|
|
+ loginSuccess: (token, tokenData) => {
|
|
|
return {
|
|
|
type: 'USER/LOGIN_SUCCESS',
|
|
|
- token
|
|
|
+ token,
|
|
|
+ tokenData
|
|
|
}
|
|
|
},
|
|
|
loginFailure: () => {
|
|
@@ -66,7 +67,9 @@ console.log('State actions', actions)
|
|
|
/** state definition */
|
|
|
export const state = {
|
|
|
loginRequested: false,
|
|
|
- users: {},
|
|
|
+ userListRequested: false,
|
|
|
+ userListInitialized: false,
|
|
|
+ users: [],
|
|
|
token: null,
|
|
|
tokenData: null
|
|
|
}
|
|
@@ -78,17 +81,15 @@ export function reducer (state = [], action) {
|
|
|
case 'USER/LOGIN_REQUEST':
|
|
|
return { ...state, loginRequested: true }
|
|
|
case 'USER/LOGIN_SUCCESS':
|
|
|
- const tokenData = action.token ? jwt.decode(action.token, null, true) : null
|
|
|
- console.log(tokenData)
|
|
|
- return { ...state, loginRequested: false, token: action.token, tokenData }
|
|
|
+ return { ...state, loginRequested: false, token: action.token, tokenData: action.tokenData }
|
|
|
case 'USER/LOGIN_FAILURE':
|
|
|
return { ...state, loginRequested: false }
|
|
|
case 'USER/GET_USER_LIST':
|
|
|
- return { ...state }
|
|
|
+ return { ...state, userListRequested: true, userListInitialized: true }
|
|
|
case 'USER/GET_USER_LIST_SUCCESS':
|
|
|
- return { ...state, users: action.users }
|
|
|
+ return { ...state, userListRequested: false, users: action.users }
|
|
|
case 'USER/GET_USER_LIST_FAILURE':
|
|
|
- return { ...state }
|
|
|
+ return { ...state, userListRequested: false }
|
|
|
default:
|
|
|
return state
|
|
|
}
|
|
@@ -109,33 +110,39 @@ function * login (action) {
|
|
|
console.log(responseJson.msg)
|
|
|
throw new Error(responseJson.msg)
|
|
|
}
|
|
|
- console.log('User login success!', actions.loginSuccess(responseJson.token))
|
|
|
- yield put(actions.loginSuccess(responseJson.token))
|
|
|
+ const { token } = responseJson
|
|
|
+ const tokenData = jwt.decode(token, null, true)
|
|
|
+ localStorage.setItem('accessToken', token)
|
|
|
+ localStorage.setItem('accessTokenData', JSON.stringify(tokenData))
|
|
|
+ console.log('User login success!', token, tokenData)
|
|
|
+ yield put(actions.loginSuccess(token, tokenData))
|
|
|
} catch (error) {
|
|
|
- console.log('User login failure!', actions.loginFailure(error))
|
|
|
+ console.log('User login failure!', error)
|
|
|
yield put(actions.loginFailure(error))
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function * getUserList (action) {
|
|
|
try {
|
|
|
- console.log('User list requested')
|
|
|
+ const token = localStorage.getItem('accessToken')
|
|
|
+ console.log('User list requested', action, token)
|
|
|
const response = yield call(fetch, 'http://localhost:3002/api/users', {
|
|
|
method: 'GET',
|
|
|
- headers: {
|
|
|
+ headers: new Headers({
|
|
|
'Content-Type': 'application/json',
|
|
|
- 'x-access-token': action.token
|
|
|
- },
|
|
|
+ 'x-access-token': token
|
|
|
+ })
|
|
|
})
|
|
|
+ console.log('Received response')
|
|
|
const responseJson = yield response.json()
|
|
|
if (response.status != 200) {
|
|
|
- console.log(responseJson.msg)
|
|
|
+ console.log('User list received error', responseJson.msg)
|
|
|
throw new Error(responseJson.msg)
|
|
|
}
|
|
|
- console.log('Get user list success!', actions.userListFailure(responseJson.users))
|
|
|
- yield put(actions.userListFailure(responseJson.users))
|
|
|
+ console.log('Get user list success!', responseJson.users)
|
|
|
+ yield put(actions.userListSuccess(responseJson.users))
|
|
|
} catch (error) {
|
|
|
- console.log('Get user list failure!', actions.userListFailure(error))
|
|
|
+ console.log('Get user list failure!', error)
|
|
|
yield put(actions.userListFailure(error.toString()))
|
|
|
}
|
|
|
}
|