import * as ActionTypes from '../../constants'; const user = (state = { authenticated: false }, action) => { switch (action.type) { case ActionTypes.AUTH_USER: return { ...action.user, authenticated: true }; case ActionTypes.UNAUTH_USER: return { authenticated: false }; case ActionTypes.AUTH_ERROR: return { authenticated: false }; case ActionTypes.RESET_PASSWORD_INITIATE: return Object.assign({}, state, { resetPasswordInitiate: true }); case ActionTypes.RESET_PASSWORD_RESET: return Object.assign({}, state, { resetPasswordInitiate: false }); case ActionTypes.INVALID_RESET_PASSWORD_TOKEN: return Object.assign({}, state, { resetPasswordInvalid: true }); case ActionTypes.EMAIL_VERIFICATION_INITIATE: return Object.assign({}, state, { emailVerificationInitiate: true }); case ActionTypes.EMAIL_VERIFICATION_VERIFY: return Object.assign({}, state, { emailVerificationTokenState: 'checking' }); case ActionTypes.EMAIL_VERIFICATION_VERIFIED: return Object.assign({}, state, { emailVerificationTokenState: 'verified' }); case ActionTypes.EMAIL_VERIFICATION_INVALID: return Object.assign({}, state, { emailVerificationTokenState: 'invalid' }); case ActionTypes.SETTINGS_UPDATED: return { ...state, ...action.user }; case ActionTypes.API_KEY_REMOVED: return { ...state, ...action.user }; case ActionTypes.API_KEY_CREATED: return { ...state, ...action.user }; default: return state; } }; export default user;