authActions.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. // import { gql} from "../utils/getGQL";
  2. import { getGQL } from "../utils/getGQL";
  3. import React, { useEffect, useState } from "react";
  4. import * as actions from "../constants/actions/index";
  5. import history from "../utils/history";
  6. import { clearTrackList } from "../actions/playerActions";
  7. import { getTracks } from "./playerActions";
  8. import RegisterForm from '../components/RegisterForm';
  9. export function actionLogIn(token) {
  10. return {
  11. type: actions.LOGIN,
  12. token,
  13. };
  14. }
  15. function actionLogOut() {
  16. return {
  17. type: actions.LOGOUT,
  18. };
  19. }
  20. export const logOut = () => (dispatch) => {
  21. dispatch(clearTrackList());
  22. dispatch(actionLogOut());
  23. };
  24. // export let url = "/graphql";
  25. // export let headers = {
  26. // Authorization: "Bearer " + localStorage.authToken,
  27. // // Authorization: `Bearer ${localStorage.authToken}`,
  28. // };
  29. // export let l;
  30. export const doLogin = (login, password) => async (dispatch) => {
  31. try {
  32. localStorage.authToken = "";
  33. let response = await getGQL("/graphql", {
  34. Authorization: `Bearer ${localStorage.authToken}`,
  35. })(
  36. // let response = await gql(
  37. `query Login($login:String!, $password:String!){
  38. login(login:$login, password:$password)
  39. }`,
  40. {
  41. login,
  42. password,
  43. }
  44. );
  45. // .then((data) => {
  46. // console.log(data)
  47. // return
  48. console.log(response);
  49. await dispatch(actionLogIn(response.data.login));
  50. localStorage.user = login;
  51. // l = login;
  52. // console.log(l)
  53. } catch (error) {
  54. console.log(error);
  55. if (error.message.includes("Invalid token")) {
  56. alert("Invalid credentials!");
  57. } else {
  58. alert("Something went wrong");
  59. console.log(error);
  60. }
  61. }
  62. };
  63. export const newUser = (login, password) =>
  64. async (dispatch) => {
  65. // localStorage.authToken = "";
  66. // debugger
  67. let response = await getGQL("/graphql",
  68. // {Authorization: `Bearer ${localStorage.authToken}`,}
  69. )(
  70. `mutation User{
  71. createUser (login: "${login}", password: "${password}"){
  72. _id login
  73. }
  74. }`
  75. )
  76. // .then((response) => {
  77. // console.log(response);
  78. console.log(response.data.createUser);
  79. // response.data.createUser !== null? await dispatch(actionNewUser(response.data.createUser)) : alert(`User ${login} has already been created. Please use another login`)
  80. response.data.createUser !== null? await dispatch(doLogin(response.data.createUser.login, password)) : alert(`User ${login} has already been created. Please use another login`)
  81. // useEffect( doLogin && doLogin(login, password), []);
  82. // console.log('localStorage.authTocken: ',localStorage.authTocken);
  83. // if (!response.errors && login && password) {
  84. // useEffect(doLogin(login, password), [])
  85. // doLogin && doLogin(login, password)? history.push("/private"): alert('Do not correct doLogin use');
  86. // } else {
  87. // }
  88. // });
  89. };
  90. export const actionNewUser = ({login, _id}) => ({
  91. type: actions.NEW_USER,
  92. login,
  93. _id
  94. })
  95. console.log(actionNewUser)