Sha256: 6f05a81f58c2d9436c29ce36b80a44c9db835336bb0617b2c2e5722c7853fde8
Contents?: true
Size: 996 Bytes
Versions: 5
Compression:
Stored size: 996 Bytes
Contents
import API from 'api'; import config from 'redux/nodes/app/config'; const { actionTypes } = config; const loginRequest = { type: actionTypes.LOGIN_REQUEST }; const loginFailure = { type: actionTypes.LOGIN_FAILURE }; const loginSuccess = (jwt) => { return { type: actionTypes.LOGIN_SUCCESS, payload: { jwt } }; }; const logoutRequest = { type: actionTypes.LOGOUT_REQUEST }; const logoutFailure = { type: actionTypes.LOGOUT_FAILURE }; const logoutSuccess = { type: actionTypes.LOGOUT_FAILURE }; const login = ({ email, password }) => { return (dispatch) => { dispatch(loginRequest); return API.sessions.create({ email, password }) .then(({ jwt }) => dispatch(loginSuccess(jwt))) .catch(() => dispatch(loginFailure)); }; }; const logout = () => { return (dispatch) => { dispatch(logoutRequest); return API.sessions.destroy() .then(() => dispatch(logoutSuccess)) .catch(() => dispatch(logoutFailure)); }; }; export default { login, logout };
Version data entries
5 entries across 5 versions & 1 rubygems