|
1 | | -import axios from 'axios'; |
| 1 | +import { setAlert } from './helpers/handleAlert'; |
| 2 | +import sendRequest from './helpers/sendRequest'; |
| 3 | +import { doLogin, loadLogin, notLoggedIn } from './helpers/login'; |
2 | 4 |
|
3 | 5 | export const getLogin = (username, password, history) => { |
4 | 6 | return async dispatch => { |
5 | | - dispatch({ |
6 | | - type: 'LOGIN_LOADING', |
7 | | - data: { |
8 | | - loading: true |
9 | | - } |
10 | | - }); |
| 7 | + loadLogin(dispatch, true); |
11 | 8 | try { |
12 | | - const { data } = await axios({ |
13 | | - url: '//phonebookpca.herokuapp.com/graphql', |
14 | | - method: 'post', |
15 | | - data: { |
16 | | - query: ` |
17 | | - query { |
18 | | - login(username: "${username}", password: "${password}") { |
19 | | - id |
20 | | - username |
21 | | - token |
22 | | - } |
| 9 | + const { data } = await sendRequest(` |
| 10 | + query { |
| 11 | + login(username: "${username}", password: "${password}") { |
| 12 | + id |
| 13 | + username |
| 14 | + token |
23 | 15 | } |
24 | | - ` |
25 | 16 | } |
26 | | - }) |
| 17 | + `, false); |
27 | 18 | const { data: { login } } = data; |
28 | | - console.log(login); |
29 | 19 | if(!login.username) { |
30 | | - dispatch({ |
31 | | - type: 'ERROR', |
32 | | - msg: 'Check username and password again' |
33 | | - }) |
34 | | - return dispatch ({ |
35 | | - type: 'NOT_LOGGED_IN' |
36 | | - }) |
| 20 | + setAlert(dispatch, 'ERROR', 'Check username and password again'); |
| 21 | + return notLoggedIn(dispatch); |
37 | 22 | } |
38 | 23 | window.localStorage.setItem('jwt-token', JSON.stringify(login)); |
39 | | - dispatch({ |
40 | | - type: 'GET_LOGIN', |
41 | | - data: login |
42 | | - }) |
43 | | - dispatch({ |
44 | | - type: 'SUCCESS', |
45 | | - msg: 'Sucessfully Logged In' |
46 | | - }) |
| 24 | + doLogin(dispatch, login); |
| 25 | + setAlert(dispatch, 'SUCCESS', 'Sucessfully Logged In'); |
47 | 26 | history.push('/phonebook'); |
48 | 27 | } catch(e) { |
49 | | - dispatch({ |
50 | | - type: 'ERROR', |
51 | | - msg: 'Cannot log you in' |
52 | | - }) |
53 | | - dispatch({ |
54 | | - type: 'NOT_LOGGED_IN' |
55 | | - }) |
| 28 | + setAlert(dispatch, 'ERROR', 'Cannot log you in'); |
| 29 | + return notLoggedIn(dispatch); |
56 | 30 | } |
57 | 31 | } |
58 | 32 | } |
0 commit comments