Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export function* loginFlow(action) {
- try {
- const {username, password} = action.payload;
- const responsePromise = yield call(login, {username, password, isRegistering: false});
- yield responsePromise
- .then(result => {
- console.log('loginFlow responsePromise result', result);
- put(creators.queueLoginSucceededAction()); // doesn't work
- put(push('/')); // doesn't work
- })
- .catch(err => {
- console.log('loginFlow responsePromise err', err);
- put(creators.queueLoginFailedAction()); // doesn't work
- });
- }
- catch(err) {
- console.log(err);
- yield put(creators.queueLoginFailedAction());
- }
- }
- export function* login(options) {
- try {
- // if we are already logged in, via token in local storage,
- // then skip checking against server
- if( store.get('token') ) {
- return Promise.resolve('Already logged in.');
- }
- // query server for valid login, returns a JWT token to store
- const hash = yield bcrypt.hashSync(options.password, 10);
- yield put(creators.queueLoginHttpPostedAction());
- return axios.post('/auth/local', {
- params: {
- username: options.username,
- password: hash,
- hash: true,
- }
- })
- .then(result => {
- console.log('api>auth>login>result', result);
- put(creators.queueLoginHttpSucceededAction()); // doesn't work
- return Promise.resolve('Login successful');
- })
- .catch(err => {
- console.log('api>auth>login>err', err);
- put(creators.queueLoginHttpFailedAction()); // doesn't work
- return Promise.reject(err.message);
- });
- }
- catch (err) {
- yield put(creators.queueLoginHttpFailedAction());
- return Promise.reject('Login could not execute');
- }
- }
Add Comment
Please, Sign In to add comment