import { ME_FETCH_SUCCESS, ME_FETCH_FAIL, ME_FETCH_SKIP, ME_PATCH_SUCCESS, } from '../actions/me'; import { AUTH_LOGGED_OUT, AUTH_ACCOUNT_REMEMBER_SUCCESS, VERIFY_CREDENTIALS_SUCCESS, } from '../actions/auth'; const initialState = null; export default function me(state = initialState, action) { switch(action.type) { case ME_FETCH_SUCCESS: case ME_PATCH_SUCCESS: return action.me.id; case VERIFY_CREDENTIALS_SUCCESS: case AUTH_ACCOUNT_REMEMBER_SUCCESS: return state || action.account.id; case ME_FETCH_SKIP: case AUTH_LOGGED_OUT: return false; case ME_FETCH_FAIL: return [401, 403].includes(action.error.response.status) ? false : state; default: return state; } }