-
Orlando Piñero authoredOrlando Piñero authored
RootReducer.js 2.69 KiB
import * as authenticationActions from '../actions/AuthenticationActions'
import * as userManagementActions from '../actions/UserManagementActions'
const initialState = {
user: null,
accessToken: null,
loginPending: false,
showLoginDialog: false,
showDeleteUserModal: false,
isAdmin: false,
userList: null,
newUserData: null
};
function rootReducer(state = initialState, action) {
console.log("Bin im reducer: " + action.type)
switch (action.type) {
case userManagementActions.SHOW_DELETE_USER_MODAL:
return {
...state,
showDeleteUserModal: true,
error: null
}
case userManagementActions.HIDE_DELETE_USER_MODAL:
return {
...state,
showDeleteUserModal: false,
error: null
}
case userManagementActions.SHOW_ALL_USERS:
return {
...state,
userList: action.userList,
error: null
}
case userManagementActions.ALL_USERS_ERROR:
return {
...state,
error: "displaying all users failed"
}
case userManagementActions.CREATE_NEW_USER_SUCCESS:
return {
...state,
newUserData: action.userData,
error: null
}
case authenticationActions.SHOW_LOGIN_DIALOG:
return {
...state,
showLoginDialog: true,
error: null
}
case authenticationActions.HIDE_LOGIN_DIALOG:
return {
...state,
showLoginDialog: false,
error: null
}
case authenticationActions.AUTHENTICATION_PENDING:
return {
...state,
pending: true,
error: null
}
case authenticationActions.AUTHENTICATION_SUCCESS:
return {
...state,
showLoginDialog: false,
pending: false,
user: action.user,
accessToken: action.accessToken,
isAdmin: action.isAdmin
}
case authenticationActions.AUTHENTICATION_ERROR:
return {
...state,
pending: false,
error: 'Authentication failed'
}
case authenticationActions.LOGOUT:
return {
...state,
user: null,
accessToken: null
}
default:
return state;
}
};
export default rootReducer;